Мастер конфигурации swarm-deploy
Пошаговый мастер для подготовки swarm-deploy.yaml с учетом Git,
stacks и нотификаций.
Шаг 1 из 5
1. О swarm-deploy
2. Git
3. Stacks
4. Нотификации
5. Результат
О swarm-deploy
swarm-deploy автоматически подтягивает изменения из Git и
обновляет Docker Swarm стеки.
- Поддерживает
pull,webhookиhybridрежимы синхронизации. - Работает с
none/http/sshаутентификацией Git. - Позволяет отправлять нотификации по событиям деплоя и безопасности.
Далее соберем минимально рабочий, валидный swarm-deploy.yaml.
Git
Укажите репозиторий и способ доступа к нему.
Для http credentials используйте Docker Swarm secrets
tokenmode: создайте секрет дляtokenPath.username + passwordmode: username укажите в YAML, пароль храните в секрете дляpasswordPath.
docker secret create git_http_token ./git.token docker secret create git_http_password ./git.password
Для ssh понадобятся секреты Docker Swarm
privateKey(обязательно)knownHosts(обязательно)passphrase(опционально)
docker secret create git_ssh_private_key ./id_ed25519 docker secret create git_ssh_known_hosts ./known_hosts docker secret create git_ssh_passphrase ./id_ed25519.passphrase
Stacks
stacks.file указывает на файл внутри Git-репозитория, где описан
список стэков для деплоя.
По умолчанию используется ./stacks.yaml.
stacks:
- name: app
composeFile: ./deploy/app.stack.yaml
Нотификации (опционально)
Можно отправлять уведомления в Telegram и/или custom webhook по выбранным событиям.
Доступные способы
telegram: бот-токен, chatId, шаблон сообщения.custom: webhook URL, HTTP method, headers.
Доступные события
deploySuccess: успешный деплой стэка.deployFailed: ошибка деплоя стэка.syncManualStarted: пользователь запустил ручной sync.userAuthenticated: пользователь успешно прошел web-аутентификацию.sendNotificationFailed: не удалось отправить нотификацию.assistantPromptInjectionDetected: детектирована prompt injection атака.
Результат
Ниже валидный swarm-deploy.yaml, сформированный из введенных данных.