Программа для автоматизированного управления конфигурациями WAF
| .gitignore | ||
| api.go | ||
| ARCHITECTURE.md | ||
| config.go | ||
| containers_part1.go | ||
| containers_part2.go | ||
| DATABASE_SCHEMA.md | ||
| db.go | ||
| drain.go | ||
| go.mod | ||
| go.sum | ||
| main.go | ||
| nginx.go | ||
| ports.go | ||
| ptaf_processor.go | ||
| README.md | ||
| sw_processor.go | ||
| types.go | ||
| utils.go | ||
Magos
Программа для автоматизированного управления конфигурациями WAF.
Описание
Программа выполняет следующие задачи:
- Подключается к PostgreSQL БД (primary/secondary)
- Определяет instance текущего хоста по hostname
- Получает биндинги для данного instance из таблицы
apps_settings - Группирует биндинги по
client_title - Для каждого клиента:
- Получает данные из БД или через API ServicePipe (server_name, aliases, origins)
- Выделяет свободные порты для контейнеров
- Генерирует конфигурационные файлы Angie
- Создает директории для контейнеров
- Генерирует конфигурационные файлы Nginx для контейнеров
- Генерирует docker-compose.yml файлы
- Запускает контейнеры через docker-compose
Подробности
Изучить как работает программа можно в файле ARCHITECTURE.md.
Посмотреть зависимость работы программы от БД в файле DATABASE_SCHEMA.md