feat: container orchestration, branding overhaul, onboarding logging

Container orchestration:
- Health monitor with crash recovery and auto-restart
- Doctor service (periodic health checks via systemd timer)
- Reconcile service (desired-state convergence)
- Stack-aware install/uninstall with dependency tracking

Branding:
- Custom GRUB background (designer artwork, 1024x768)
- ISOLINUX boot menu: centered, orange accents, clean labels
- Terminal banners: adaptive width, basic ANSI colors, fits 80-col
- Removed auto-generated splash scripts (designer provides assets)
- GRUB theme: lowercase branding

Frontend:
- 401 handler clears localStorage immediately (prevents cascade)

Backend:
- Onboarding/auth logging ([onboarding] tag in journalctl)
- Cookie Secure flag logging for debugging HTTP/HTTPS issues

ISO fixes:
- Install log saved before unmount (was silently failing)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Dorian
2026-03-28 11:34:29 +00:00
co-authored by Claude Opus 4.6
parent 6311aa563e
commit 99400a7165
22 changed files with 626 additions and 763 deletions
-15
View File
@@ -84,7 +84,6 @@ version = "1.2.0-alpha"
dependencies = [
"anyhow",
"archipelago-container",
"archipelago-parmanode",
"archipelago-performance",
"archipelago-security",
"argon2",
@@ -160,20 +159,6 @@ dependencies = [
"uuid",
]
[[package]]
name = "archipelago-parmanode"
version = "0.1.0"
dependencies = [
"anyhow",
"archipelago-container",
"log",
"serde",
"serde_yaml",
"thiserror 1.0.69",
"tokio",
"tracing",
]
[[package]]
name = "archipelago-performance"
version = "0.1.0"