3.8 KiB
3.8 KiB
Project Ops — Prepared Plan (awaiting token refresh + approval)
Status: ASSESSMENT + PREPARATION COMPLETE — NOT BUILT. Blocked on: valid Vikunja API token + Outline API key in
~/.config/environment.d/10-secrets.confon.27(Current tokens reject: Vikunjainvalid token, Outlineunable to decode token— stale/wrong values; AI extraction bug fixed.)
The project (what we're setting up)
Website hosting migration: retire InMotion VPS → local .13 hosting + AWS S3 offsite + email.
(Everything already done/planned in Obsidian: migration plan, AWS offsite backup, email PurelyMail+SES, Garage, restore runbook.)
1. Vikunja — Project + tasks (kanban stages)
Project: Website Host Migration (in Vikunja)
Stages/buckets: Backlog → In Progress → Blocked/Waiting → Done
Tasks (initial set, matching what's real):
| Task | Stage | Notes |
|---|---|---|
| 1. AWS offsite backup (S3 + Glacier) | Done | nightly sync, monitor page, alerts live |
| 2. Email: audasmedia + where-woof (PurelyMail + SES) | In Progress | DNS done; SES prod access pending |
| 3. Garage v2 upgrade + web UI | Done | buckets visible |
| 4. Backup gap closure (borg coverage + s3 add) | Done | reordered sync, restore runbook |
| 5. audasmedia.com.au infra on .13 | Backlog | awaiting specs |
| 6. where-woof.com website build (other AI) | In Progress* | tracked externally |
| 7. SES production access (both domains) | Waiting | AWS approval |
| 8. Decommission InMotion VPS | Backlog | after sites live |
2. Outline — Collection + docs (for AI bots)
Collection: Website Host Migration
Docs to create (draft):
Overview— what/why (one-pager)Architecture— target stack, diagrams (Caddy, Docker, Garage, AWS)AWS Offsite Backup— bucket, lifecycle, sync, restore runbookEmail Setup (PurelyMail + SES)— config, DNS records, handoffGarage v2— upgrade + admin UI usageDecommission InMotion— checklistHandoffs for AI— SES SMTP creds reference (no secrets: point to local file)
3. Obsidian consolidation (human
- Create
000 MIGRATION — OVERVIEW.mdin220 Web Host Migration/: summary status table (what's live/done/pending), links. - Point it (and the flat phase notes) at Outline for AI-facing docs + Vikunja for tasks via links in frontmatter/body.
- Keep Obsidian = human narrative + configs; Outline = AI/bot docs; Vikunja = tasks. (Overlap OK: Obsidian links to both.)
Auth needed to build
- Valid
VIKUNJA_TOKEN+OL_API_KEYon.27(regenerate in apps, or confirm current location).
Rollout order (after approval + tokens)
- Vikunja: create project + buckets + tasks (verifiable)
- Outline: create collection + draft docs (verifiable)
- Obsidian: write overview + link to both
- Report outcomes with ids/urls for your visual check
BUILD LOG — Vikunja + Outline (2026-09-05)
Access resolution
project-opsskill found; secrets file~/.config/environment.d/10-secrets.conf.- Extraction bug: tokens quoted in file → naive grep dropped/kept quotes → 401s. Fixed:
cut -d= -f2- | sed 's/^"//;s/"$//'. - Vikunja intermittent 401: real (user confirmed). Retries needed. Working base:
http://vikunja.home.lab/api/v1(https via Caddy 401s on round-trip; http works). - Outline: works via
https://outline.lab.audasmedia.com.au/api; key valid (auth.info → admin user Sam Rolfe).
Vikunja — DONE
- Project Website Host Migration (id 6), kanban buckets: 6 Backlog · 9 In Progress · 7 Waiting · 8 Done.
- 8 tasks created (ids 39–46). done flags: 39/41/42 confirmed done; others open.
- ⚠️ Bucket (stage) placement via API flaky on v0.24.5 — tasks verified present + done flags; stage drag = 2-min visual if needed.