- /inventories/hosts.yml - /inventories/group_vars/all.yml - /inventories/group_vars/gateway.yml - /roles/proxmox_lxc/tasks/main.yml - /roles/base_setup/tasks/ssh.yml - /roles/base_setup/tasks/main.yml - /roles/base_setup/handlers/main.yml - /roles/npm/tasks/main.yml - /roles/heimdall/tasks/main.yml - /README.md - /olimp-deploy.yml - /vault.yml
93 lines
2.9 KiB
Markdown
93 lines
2.9 KiB
Markdown
# Деплой инфраструктуры Olimp
|
||
|
||
## Структура проекта
|
||
Infra/
|
||
├── inventories/ # Конфигурация хостов
|
||
├── group_vars/ # Переменные по группам
|
||
├── roles/ # Ansible роли
|
||
├── olimp-deploy.yml # Основной плейбук
|
||
├── vault.yml # Секреты (зашифровано)
|
||
└── README.md # Документация
|
||
|
||
Infra/
|
||
├── inventories/
|
||
│ └── hosts.yml
|
||
├── group_vars/
|
||
│ ├── all.yml
|
||
│ └── gateway.yml
|
||
├── roles/
|
||
│ ├── proxmox_lxc/
|
||
│ │ └── tasks/
|
||
│ │ └── main.yml
|
||
│ ├── base_setup/
|
||
│ │ ├── tasks/
|
||
│ │ │ ├── main.yml
|
||
│ │ │ └── ssh.yml
|
||
│ │ └── handlers/
|
||
│ │ └── main.yml
|
||
│ ├── docker/
|
||
│ │ └── tasks/
|
||
│ │ └── main.yml
|
||
│ ├── heimdall/
|
||
│ │ └── tasks/
|
||
│ │ └── main.yml
|
||
│ └── npm/
|
||
│ └── tasks/
|
||
│ └── main.yml
|
||
├── olimp-deploy.yml
|
||
├── vault.yml
|
||
└── README.md
|
||
|
||
## Использование
|
||
|
||
### Запуск полного деплоя:
|
||
```bash
|
||
ansible-playbook -i inventories/hosts.yml olimp-deploy.yml --ask-vault-pass
|
||
|
||
Запуск отдельных компонентов:
|
||
bash
|
||
# Только создание контейнера
|
||
ansible-playbook -i inventories/hosts.yml olimp-deploy.yml --tags create_lxc --ask-vault-pass
|
||
# Только базовая настройка
|
||
ansible-playbook -i inventories/hosts.yml olimp-deploy.yml --tags base_setup
|
||
# Только установка Docker
|
||
ansible-playbook -i inventories/hosts.yml olimp-deploy.yml --tags docker
|
||
# Только Heimdall
|
||
ansible-playbook -i inventories/hosts.yml olimp-deploy.yml --tags heimdall
|
||
|
||
Роли
|
||
|
||
proxmox_lxc - Создание LXC контейнеров в Proxmox
|
||
|
||
base_setup - Базовая настройка ОС
|
||
|
||
docker - Установка Docker
|
||
|
||
heimdall - Развертывание Heimdall
|
||
|
||
Порядок развертывания
|
||
Создание LXC контейнеров
|
||
|
||
Базовая настройка ОС
|
||
|
||
Установка Docker
|
||
|
||
Развертывание сервисов
|
||
|
||
text
|
||
|
||
## 🚀 КАК ЗАПУСТИТЬ:
|
||
|
||
1. **Создайте структуру каталогов** в GitLab репозитории
|
||
2. **Добавьте все файлы** в соответствующие каталоги
|
||
3. **Зашифруйте vault.yml:**
|
||
```bash
|
||
ansible-vault encrypt vault.yml
|
||
Запустите тестовый прогон:
|
||
|
||
bash
|
||
ansible-playbook -i inventories/hosts.yml olimp-deploy.yml --ask-vault-pass --check
|
||
Запустите деплой:
|
||
|
||
bash
|
||
ansible-playbook -i inventories/hosts.yml olimp-deploy.yml --ask-vault-pass |