Перейти к содержанию

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)