- /inventories/group_vars/all.yml - /inventories/group_vars/gateway.yml - /roles/npm/tasks/main.yml - /roles/heimdall/tasks/main.yml - /roles/docker/tasks/main.yml - /group_vars/all.yml - /group_vars/gateway_servers.yml - /roles/proxmox_lxc/handlers/main.yml - /roles/proxmox_lxc/tasks/main.yml - /roles/gateway/handlers/main.yml - /roles/gateway/tasks/main.yml - /gateway-deploy.yml - /olimp-deploy.yml |
||
|---|---|---|
| group_vars | ||
| inventories | ||
| roles | ||
| ansible.cfg | ||
| gateway-deploy.yml | ||
| olimp-deploy.yml | ||
| README.md | ||
| vault.yml | ||
Деплой инфраструктуры 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
Использование
Запуск полного деплоя:
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