feat(milestone): merge phase/01 operator-foundation → milestone/v0.4-operator-tier

Phase 1 complete — Operator Foundation:
- Postgres 16 in Docker-in-LXC (asyncpg pool, 5-table schema, PgStore, migrations)
- Operator auth (argon2id, signed stateless cookies, slowapi 5/min rate limit)
- VC issuer key migration SQLite→Postgres (archive-before-active, R-VC-MIG-01)
- Operator bootstrap CLI (create-operator.py, idempotent)
- Backup cron script + G-008 restore drill
- Graceful degradation (server starts without Postgres)
- 272 tests pass, 33 skip (Postgres-requiring), 0 fail

---ci---
project: praxis
phase: 1
milestone: v0.4
status: complete
requirements:
  covered: [REQ-MT-01, REQ-AUTH-01, REQ-NFR-AUTH-01, REQ-NFR-MT-01, REQ-MT-02]
  partial: []
---/ci---
This commit is contained in:
Praxis CI
2026-08-04 01:41:06 +00:00
parent acbe8692ae
commit 00e39a3f85
33 changed files with 3255 additions and 94 deletions
+4 -1
View File
@@ -40,7 +40,10 @@ upid=$(pve_curl POST "$create_path" \
"hostname=${hostname}" \
"storage=${storage}" \
"rootfs=${storage}:16" \
"memory=${PROXMOX_MEMORY_MB:-4096}" \
# v0.4: 6144MB default (was 4096 in v0.2). Postgres ~400MB + praxis
# ~500MB + Docker daemon ~200MB + build headroom ~1GB + margin
# (REQ-NFR-MT-01). Override with PROXMOX_MEMORY_MB if needed.
"memory=${PROXMOX_MEMORY_MB:-6144}" \
"net0=name=eth0,bridge=vmbr0,ip=dhcp" \
"arch=amd64" \
"features=nesting=1")