84 lines
4.1 KiB
Markdown
84 lines
4.1 KiB
Markdown
---
|
||
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) |