feat: Git-based backup system replacing JSON bundle backup/restore

DB is source of truth with git as downstream replica. SSH key generated
on first start, all resource mutations committed as apply-compatible YAML.
Supports manual commit import, conflict resolution (DB wins), disaster
recovery (empty DB restores from git), and timeline branches on restore.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Michal
2026-03-08 01:14:28 +00:00
parent 9fc31e5945
commit 7818cb2194
22 changed files with 2011 additions and 127 deletions

View File

@@ -32,11 +32,13 @@ services:
MCPD_PYTHON_RUNNER_IMAGE: mysources.co.uk/michal/mcpctl-python-runner:latest
MCPD_RATE_LIMIT_MAX: "500"
MCPD_MCP_NETWORK: mcp-servers
MCPD_BACKUP_REPO: ${MCPD_BACKUP_REPO:-}
depends_on:
postgres:
condition: service_healthy
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- mcpctl-backup:/data/backup
networks:
- mcpctl
- mcp-servers
@@ -58,3 +60,4 @@ networks:
volumes:
mcpctl-pgdata:
mcpctl-backup: