ShivaVPN Infrastructure Wiki¶
Документация по инфраструктуре, эксплуатации и разработке ShivaVPN.
URL: wiki.shiva-app.io | GitLab: devops/documentation
Архитектура (одна строка)¶
Пользователи → 212.70.189.60 (Nginx) → 10.99.87.249 (Backend + VCS) → 10.99.87.62 (MySQL) + VPN серверы (~55 XUI + 14 WL)
Подробнее: Обзор инфраструктуры
Быстрые ссылки по роли¶
- Онбординг DevOps — с чего начать
- Доступ и SSH — ключи, jump host, скрипты
- Ansible — плейбуки, vault
- Runbooks — аварийные процедуры
- Мониторинг — Grafana, алерты
- Основные задачи — ежедневные и еженедельные процедуры
- Онбординг разработчика — доступы, репозитории, стек
- Архитектура бэкенда — Spring Boot, компоненты
- VPN Config Service — Python FastAPI, worker
- Config Delivery Flow — путь конфигов
- Маппинг аккаунтов — account → VPN client
- Backend Deploy — blue-green CI/CD
- Онбординг саппорта — с чего начать
- База знаний — ответы на частые вопросы
- Шаблоны ответов — готовые тексты
- Алгоритмы решения — диагностика проблем
- Инструменты — инструменты саппорта
Онбординг (чеклист для новых участников)¶
День 1 — Доступы¶
- Зарегистрироваться в Vaultwarden и получить подтверждение от zardes
- Получить доступ к GitLab — написать zardes с email
- Добавить SSH-ключ в GitLab:
~/.ssh/id_ed25519(или отдельный ключ) - Клонировать репозитории (см. Онбординг DevOps или Developer Guide)
- Проверить доступ:
./scripts/ssh-internal.sh 10.99.87.249 "docker ps"
День 2 — Понять систему¶
- Прочитать Обзор инфраструктуры (10 мин)
- Прочитать IP-адреса и сети
- Прочитать Конфигурацию сервисов
- Открыть Grafana и найти ключевые дашборды
День 3 — Практика¶
- Проверить состояние системы через Runbooks
- Запустить любой Ansible playbook с
--check - Выполнить тестовый MySQL-запрос через ssh-internal.sh
Разделы документации¶
| Раздел | Содержание |
|---|---|
| Онбординг | Quickstart для DevOps и разработчиков |
| Администрирование | Ежедневные задачи, БД, бэкапы |
| Инфраструктура | Архитектура, сервисы, серверы |
| Эксплуатация | SSH, Ansible, секреты, деплой, мониторинг |
| Поддержка | База знаний, шаблоны, инструменты |
| Среды | Dev и Prod окружения |
| Решение проблем | Известные проблемы и решения |
| ADR | Архитектурные решения |
Ключевые ресурсы¶
| Ресурс | URL / путь |
|---|---|
| Grafana (мониторинг) | https://monitor.karmann.tech |
| Vaultwarden (пароли) | https://vault.shivavpn.io |
| GitLab | https://git.karmann.tech |
| Admin Panel | http://10.99.87.64 (внутренний) |
| API Health | http://10.99.87.249:8080/actuator/health |
| VCS API | http://10.99.87.249:8000/docs |
| Инвентарь серверов | servers.ini в shiva-ansible |