Ansible (shiva-ansible)¶
Автоматизация инфраструктуры ShivaVPN: деплой серверов, обновления, мониторинг, безопасность.
GitLab: devops/shiva-ansible
Quick Start¶
git clone git@git.karmann.tech:devops/shiva-ansible.git
cd shiva-ansible
# Vault password — взять из Vaultwarden
# https://vault.shivavpn.io/#/vault?itemId=1b3aa919-0786-4918-8f5f-865a0f2eb4d3
echo "пароль" > .vault_pass && chmod 600 .vault_pass
# Проверка связи
ansible -i inventory/servers.ini vpn -m ping --limit vpn-monovm-austria-01
# Запуск плейбука
ansible-playbook -i inventory/servers.ini playbooks/vpn.yml \
--limit vpn-monovm-austria-01 --vault-password-file .vault_pass
Структура¶
shiva-ansible/
├── inventory/
│ ├── servers.ini # Все серверы (~130 хостов)
│ ├── group_vars/
│ │ ├── all.yml # SSH ключи, переменные
│ │ └── vault.yml # Секреты (ansible-vault)
│ └── host_vars/ # Per-host overrides
├── playbooks/ # Плейбуки (vpn.yml, ssh.yml, etc.)
├── roles/ # 16 ролей
├── CA/ # Сертификаты (ключи vault-encrypted)
└── .vault_pass # Пароль vault (git-ignored)