Files
obsidian-vault/200 projects/220 Web Host Migration/Project Ops — Build Plan (Vikunja+Outline+Obsidian).md

84 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "Project Ops — Build Plan (Vikunja+Outline+Obsidian)"
type: project
status: on-hold
areas:
- "[[Dev-Ops Network Computers]]"
projects:
- "[[Website Host Migration]]"
created: 2026-09-16
updated: 2026-09-16
tags:
- project
- migration
- wikunja
- outline
---
# 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.conf` on `.27`
> (Current tokens reject: Vikunja `invalid token`, Outline `unable 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 runbook
- `Email Setup (PurelyMail + SES)` — config, DNS records, handoff
- `Garage v2` — upgrade + admin UI usage
- `Decommission InMotion` — checklist
- `Handoffs for AI` — SES SMTP creds reference (no secrets: point to local file)
## 3. Obsidian consolidation (human
- Create `000 MIGRATION — OVERVIEW.md` in `220 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_KEY` on `.27` (regenerate in apps, or confirm current location).
## Rollout order (after approval + tokens)
1. Vikunja: create project + buckets + tasks (verifiable)
2. Outline: create collection + draft docs (verifiable)
3. Obsidian: write overview + link to both
4. Report outcomes with ids/urls for your visual check
---
## BUILD LOG — Vikunja + Outline (2026-09-05)
### Access resolution
- `project-ops` skill 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.
### Outline — in progress (built after this log)