Splits the nebulous gandi-operations how-to into two single-topic cards (manage-eblu-me-dns, rotate-gandi-pat) and adds a mise task for the recurring _acme-challenge TXT cleanup needed due to a value-comparison bug in libdns/gandi v1.1.0 that prevents certmagic's cleanup phase from removing presented TXT values. The gandi reference card is updated to drop the false "different credential from Pulumi PAT" claim — verified during the 2026-04-27 incident that Caddy and Pulumi share a single PAT. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
3.7 KiB
3.7 KiB
| title | modified | tags | |||
|---|---|---|---|---|---|
| Mise Tasks | 2026-04-11 |
|
Mise Tasks
Operational tasks for BlumeOps, run via mise run <task>. Tasks live in mise-tasks/ and use #USAGE directives for argument parsing.
Run mise tasks --sort name for the live list with descriptions.
AI & Documentation
| Task | Description |
|---|---|
ai-docs |
All documentation concatenated for AI context (~85K tokens) |
ai-sources |
All non-doc source files for deep AI context (~270K tokens) |
docs-check-frontmatter |
Check required frontmatter fields |
docs-check-links |
Validate wiki-links resolve correctly (supports path-based links) |
docs-mikado |
View active Mikado dependency chains (C2 changes) |
docs-review |
Review the most stale doc by last-reviewed date |
docs-review-stale |
Report docs by last-modified date |
docs-review-tags |
Print frontmatter tag inventory |
Deployment & Provisioning
| Task | Description |
|---|---|
provision-indri |
Run Ansible playbook for indri |
provision-ringtail |
Run Ansible playbook for ringtail (NixOS) |
provision-sifaka |
Run Ansible playbook for sifaka |
fly-deploy |
Deploy Fly.io public proxy (uses op for auth) |
fly-reload |
Reload nginx config, re-resolve upstream DNS (no redeploy) |
fly-setup |
One-time Fly.io secrets and certs setup |
fly-shutoff |
Emergency shutoff: stop all Fly.io proxy machines |
dns-preview |
Preview DNS changes with pulumi |
dns-up |
Apply DNS changes with pulumi |
dns-acme-cleanup |
Delete orphaned _acme-challenge.ops TXT records (libdns/gandi v1.1.0 workaround) |
tailnet-preview |
Preview Tailscale ACL changes with pulumi |
tailnet-up |
Apply Tailscale ACL changes with pulumi |
Containers & Registry
| Task | Description |
|---|---|
container-list |
List containers and their recent tags |
container-build-and-release |
Trigger container build workflows via Forgejo API |
container-version-check |
Validate version consistency across container.py, Dockerfiles, nix, and manifests |
mirror-create |
Create an upstream mirror in the mirrors/ Forgejo org |
mirror-update-pats |
Update GitHub PAT on all mirror repos on indri |
Git & Forge
| Task | Description |
|---|---|
branch-cleanup |
Delete merged branches (local and remote) |
pr-comments |
List unresolved PR comments |
runner-logs |
List Forgejo Actions runs and fetch job logs (supports --repo, --limit) |
validate-workflows |
Validate workflow files against runner schema |
mikado-branch-invariant-check |
Validate Mikado Branch Invariant on mikado/* branches |
Operations & Monitoring
| Task | Description |
|---|---|
services-check |
Check all services are online and responding |
service-review |
Review the most stale service for version freshness |
blumeops-tasks |
List tasks from Todoist sorted by priority |
op-backup |
Encrypt 1Password export and send to indri for borgmatic |
Infrastructure Setup
| Task | Description |
|---|---|
ensure-minikube-indri-kubectl-config |
Set up kubectl config for minikube-indri |
ensure-k3s-ringtail-kubectl-config |
Set up kubectl config for k3s-ringtail |
ML & Hardware
| Task | Description |
|---|---|
frigate-export-model |
Export YOLOv9 model weights to ONNX via dagger |
Related
- dagger — CI/CD build engine (containers, docs)
- ansible — Configuration management
- argocd-cli — ArgoCD deployment workflows
- pulumi — DNS and Tailscale IaC
- qart-tuner — QR code art generator (
utils/qart/)