boma/docs/TODO.md

65 lines
3.1 KiB
Markdown
Raw Normal View History

# ToDo
- [x] Main readme only says ansible, not terraform. Should properbly be included.
- [x] Main readme does not include a description of the name boma, nor the scope (i.e. infrastructure - not laptops)
- [x] Method to review repo to ensure
- We dont carry around code, comments, notes, etc. that is no longer needed but was perhaps added to fix an issue that has been resolved.
- That all code, structure, comments, notes etc. follow our design decisions.
- That clear intent is documented throughout - and that there are not any overlaps, contradictions etc.
- [ ] Forgejo CI
- [ ] Testing
- Code testing tools (molecule etc.)
- AI interpretation of molecule etc, but also actual testing via API-calls, CURL pulls of web products, log reviews and perhaps even headless browsing
- [ ] Building stuff
- How to manage logs
- How to manage APIs
- How to import/integrate from baobabAnsibleV4?
- What to install on nodes?
- firewalls?
- apps?
- wirering up loki, prometheous, grafana dashboards, grafana alerts, uptimekuma alerts on askari
- tagging strategy - we need a specific standard so that we can target runs, but dont over-tag.
- [ ] Split horizon FQDN - with or without nyumbani
- [ ] Control node
- Setup and testing while waiting for hardware?
- Bootstrapping - perhaps dedicated recipe and playbook?
- Role of mamba? - Access/availability vs compute power and ease?
- rbw on control node
- [ ] Updating
- Pinning vs latest.
- services and containers vs packages and builds/github pulls/flatpacks
- scheduling of updates and reboots - incl. testing afterwards.
- [ ] shell setup
- What does it matter in relations to the AIs work on the control node?
- What should we set up on the hosts, if i'll rarely go there?
- [ ] Scheduled work
- /review-repo maybe as claude -p via cron every two weeks?
- Sanity checks: does a photoprism have its pictures? are email services recieving and sending?
- Cron "section": a declarative way for the repo to own which cronjobs are active on a
host, enforced by Ansible. Sketch (deferred until we have hosts): a `scheduled_jobs`
role reading a `scheduled_jobs__jobs` list from group_vars/host_vars, rendered via a
managed /etc/cron.d file. Open Qs: general role vs control-node-only; prune
undeclared jobs (repo authoritative) vs additive; validate headless email + that
cron's env has the `claude` CLI. The /review-repo fortnightly job is the first entry.
- [ ] Claude setup
- superpowers or other methodologies? → decided: brainstorm for intent, capture as
ADRs (skip plan files); hooks + slash commands + /review-repo for enforcement at scale.
- [ ] Kaizen loop — set up ~2026-06-06 (one week from now)
- Build `/retro`: reads `docs/FRICTION.md` + `/review-repo` recurring findings + a
tooling-usage inventory; proposes add / change / **remove** (biased to remove);
records decisions as ADRs; evaluates itself. Recurrence-triggered + light periodic sweep.
- `docs/FRICTION.md` is live now — keep appending raw signals until the retro consumes them.
- [ ] What is the right order of operation when spinning up from scratch? (OS, DNS, authentik, traefik...?)