5.6 KiB
5.6 KiB
2026-02-19 — Daily Log
Overnight Summary (from 2026-02-18)
K3s HA Hardening
- Full HA test suite passed (w1/w2/mgr failover)
- Fixed: w1 and w2 left powered off after HA tests
- Fixed: Pod stuck in Ready:False despite ContainersReady:True (stale NodeNotReady taint)
- Fixed: DoNotSchedule topology constraint blocking replacement pods while Terminating pod lingered
- Tuned failover: readiness probe every 5s/fail after 2, tolerations reduced to 10s (was 300s)
- Result: failover window ~10-15 seconds
DocFast CEO Session 59
- Fixed staging DB: was pointing to production
docfastinstead ofdocfast_staging
SnapAPI Launch
- K8s infrastructure set up: namespaces (snapapi + snapapi-staging), databases, secrets, deployer SA + RBAC
- CEO SKILL.md created at skills/snapapi-business/SKILL.md
- CEO cron schedule: 9:00, 14:00, 19:00 Vienna
- CEO Session 1 completed: MVP deployed to staging
- Screenshot API (Node.js + Puppeteer), signup endpoint, landing page
- SSRF protection, browser pool, usage tracking
- Verified: health check, signup, screenshot all working
- Blockers: domain not registered, Forgejo write token needed
Infrastructure Docs
- Created projects/business/memory/infrastructure.md — full K3s docs
- Updated SnapAPI plan in projects/ideas/product-ideas.md for K3s
- Added backup task (Borg → Storage Box)
BG3
- Party leveled to 6: Tam got GWM, switched from Everburn Blade → Greatsword +1 → Halberd +2 (1d10+1d4 energy)
- Act 2: Moonrise Towers, advised on Tiefling rescue priority
Evening (previous)
- Wind-down started ~19:00 Vienna
- BG3 gaming, PS5 controller setup, Bazzite/Sunshine question
- Likely asleep by ~01:30 Vienna
Thursday Feb 19 — Daytime
Borg Backup — OPERATIONAL
- Old DocFast server decommissioned — Storage Box sub-account is sub10 (not sub11 as previously recorded)
- Created new Borg repo with
repokey-blake2on Storage Box from k3s-mgr - Passphrase generated, user saved to password manager
- Backup script
/root/k3s-backup.sh: K3s state.db, pg_dump (4 DBs), K8s manifest exports, K3s config+token - Archives use real server paths +
/var/backup/postgresql/for DB dumps,/var/backup/manifests/for K8s exports - Cron: daily 03:30 UTC, retention 7 daily + 4 weekly + 3 monthly
- Helper commands installed:
borg-list,borg-mount,borg-umount,borg-backup,borg-restore,borg-delete - Installed python3-pyfuse3 for FUSE mount support
- Restore docs:
/var/backup/RESTORE-FULL.md(full cluster) +/var/backup/RESTORE-MGR.md(mgr-only) - Copies in
skills/k3s-infra/references/ - Added user's SSH key to k3s-mgr authorized_keys
CEO Skill Refactor
- Created
skills/ceo-common/CEO-BASE.md— shared CEO principles, investor test, hiring flow - Created
skills/ceo-common/experts/— 6 reusable expert base prompts (backend-dev, qa-tester, security, support, devops, marketing) - Slimmed DocFast + SnapAPI CEO skills — only their namespaces/DB/repo, reference common base
- CEOs no longer see full cluster architecture
SnapAPI Progress
- Domain registered: snapapi.eu (DNS → LB)
- Deploy keys set up: per-repo keys (
forgejo-docfast,forgejo-snapapi) with SSH config on openclaw-vm - Forgejo SSH user is
forgejo@notgit@ - CEO Sessions 2-5: CI/CD setup, TLS, website redesign, Swagger docs, QA fixes (CSP blocking inline handlers), playground-only model (no free API keys, watermarked screenshots, 5 req/hr IP limit)
- v0.3.0 deployed: removed free signup, playground as demo, 3 paid plans only
- Session 7: Code pushed to Forgejo repo, legal pages (Impressum, Privacy, Terms)
DocFast SMTP Saga
- K8s secret SMTP_HOST was pointing to old decommissioned server (167.235.156.214)
- Fixed to mail.cloonar.com:587 with SMTP_USER + SMTP_PASS from docfast.env
- Verified working: Full signup flow tested with support@docfast.dev → email received in FreeScout → code entered → API key issued
- CEO TWICE deployed unauthorized Postfix+OpenDKIM pods on K3s, had to clean up twice
- Root cause of recurring issue: When CEO modified the secret to point to his Postfix, he wiped SMTP_USER/SMTP_PASS. My reverts restored HOST/PORT but not the credentials.
- Skill updated with emphatic "DO NOT deploy mail infrastructure" rules
- State.json and bugs.md cleaned of old server references
DocFast CEO Session 61
- Pushed 4 pending fixes from session 57 (version bump 0.3.2, removed debug log, dynamic /api version, OpenAPI Pro plan 5000 not 10000)
- Git push works from openclaw-vm via deploy key
CEO Schedule Updated
- DocFast: 8:00, 11:00, 14:00, 17:00, 20:00 Vienna (5x/day)
- SnapAPI: 9:00, 12:00, 15:00, 18:00, 21:00 Vienna (5x/day, staggered)
Skill Updates
- Forgejo SSH port: 22 (not 2222)
- Git clone from openclaw-vm (not k3s-mgr)
- SMTP managed by Cloonar — hard locked in skill
- Old server references removed from all CEO memory files
- Infrastructure docs updated (old server decommissioned)
BG3 — Evening Session
- Party leveled to 7: Tam (new maneuver), Astarion (Evasion), SH (Death Ward), Gale (Greater Invisibility)
- Tam took Goading Attack + Trip Attack as new maneuvers (already had Riposte)
- Gauntlet of Shar: completed Shar trials, Silent Library, Spear of Night
- Spared Nightsong — Shadowheart turned to Selûne path (DC 30 check, nat 20 auto-success in BG3)
- Shadowheart got Moonlight Glaive (replaced Shattered Flail)
- Killed Balthazar before Shadowfell
- Did NOT kill Yurgir — negotiated contract break (Displacer Beast hide + rats)
- Heading to Moonrise Towers assault, taking Jaheira with party
Portfolio
- DFNS close: €59.95, daily +2.29%, total +6.59% (€1,065.85)