GitOps — ServerGuard, Drift Detection & Backup
Автономная защита сервера: мониторинг файлов, Docker событий, canary tokens, авто-бэкап и drift detection.
--features gitopsАрхитектура
EVENT SOURCES PIPELINE ACTUATORS ───────────── ───────── ────────── HybridGuard (eBPF) → Debouncer ─────────→ sigstop/sigkill FileWatcher ────────→ IgnoreFilter ──────→ CommandRunner DockerWatcher ──────→ Classifier ────────→ BackupEngine CanaryTokens ───────→ Killswitch ─────────→ RelayClient StateCollector ─────→ TempoController ───→ auto_fix rules
Компоненты
ServerGuard
Автономный защитник: мониторинг /etc, Docker events, canary tokens, auto-fix правил. Запускается вместе с агентом.
BackupEngine
Content-addressed бэкап с дедупликацией. Автоматически создаёт снапшот перед destructive операциями (rm, chmod, dd).
DriftDetector
Semantic diff текущего vs желаемого состояния. Обнаруживает изменения в конфигурации nginx, docker, systemd, SSH.
TempoController
Circuit breaker для AI-агентов: closed → open → half-open. Rate limiting команд, защита от флуда.
LiteralChecker
Reject shell expansion ($VAR, globs) в destructive командах. Force literal-only enforcement.
ActionClassifier
Tiered response: READ → BACKUP+ALLOW → ESCALATE → DENY. Классифицирует каждое действие по опасности.
Установка
# Build с GitOps support cargo build --release --features gitops # Или через cross (Linux) cross build --release --target x86_64-unknown-linux-musl --features gitops # Запуск агента с GitOps ./flowlink agent --config agent.json # gitops auto-starts
ServerGuard автоматически запускается при старте агента, если скомпилирован с --features gitops.
CLI команды
flowlink gitops drift --agent ag_abc123Проверка drift конфигурацииflowlink gitops backup --agent ag_abc123Запустить бэкапflowlink gitops backups --agent ag_abc123Список бэкаповflowlink gitops restore <backup_id> --agent ag_abc123Восстановить из бэкапаflowlink gitops guard --agent ag_abc123Статус ServerGuardAPI Endpoints
| Method | Path | Описание |
|---|---|---|
| GET | /api/v1/gitops/drift/{id} | Drift status для агента |
| POST | /api/v1/gitops/backup/{id} | Запустить бэкап |
| GET | /api/v1/gitops/backups/{id} | Список бэкапов |
| POST | /api/v1/gitops/restore/{id} | Восстановить из бэкапа |
| GET | /api/v1/gitops/guard/{id} | Статус ServerGuard |
Мониторинг по умолчанию
/etc/nginxКонфигурация nginx, upstreams, SSL
/etc/dockerDocker daemon config, TLS certs
/etc/systemdSystemd units, timers, sockets
/etc/sshSSH config, authorized_keys
Пути можно настроить через конфигурацию агента.