airgapped developement audit #418
Labels
No labels
burndown-2026-06
coherence-core
consult
headless
interactive
P0
P1
P2
P3
P4
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
coilyco-flight-deck/infrastructure#418
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Deliverable
A single audit doc,
docs/airgapped-dev-audit.md: enumerate every external dependency in the daily dev loop, classify each as [tailnet-native] / [has in-tailnet substitute] / [HARD GAP - needs public internet], and for every gap give the remediation (and file a follow-up issue for it). This is an inventory/audit task - the output is the doc, not code.Seed inventory (verified in-repo - the goose should confirm each and expand)
[tailnet-native]-forgejo.coilysiren.me+ in-clusterforgejo.forgejo.svc.cluster.local.[tailnet-native]- in-cluster OCI registry, nsregistry, NodePort30500(192.168.0.194:30500,deploy/registry.yml).[HARD GAP]-codeberg.org,data.forgejo.org,ghcr.io,docker.ioare pulled from the public internet (see image refs indeploy/forgejo.yml,deploy/forgejo-runner*.yml). Remediation: a pull-through cache / mirror in the in-cluster registry, or pre-baked images.[HARD GAP -> being fixed]- AWS SSM is public + 2FA-gated. Mitigated by #417 (mirror SSM into k3s). Until #417 lands, every secret read is a public AWS call.[tailnet-native]- tower ollama (kai-tower-3026), in-clusterllamaservice, and the mac-proxy box.[HARD GAP]- brew, uv/pip (PyPI), npm,go mod, apt all hit public upstreams. Remediation: local pull-through caches (Sonatype Nexus / devpi / Athens / apt-cacher-ng) or pre-baked dev images.[HARD GAP for issuance]- cert-manager DNS-01 via Route 53 (public AWS). Existing certs are cached; renewal needs public AWS.[tailnet-native runner, gapped deps]- forgejo-runner runs in-cluster (deploy/forgejo-runner.yml) but jobs pull public deps/images (same gaps as above).[tailnet-native]-ward agentpullsdev-base:latestfrom the forgejo registry.[HARD GAP - fundamental]- the coordination server is Tailscale SaaS, reached over the public internet. True full airgap needs Headscale. This is the structural limit #419 should also surface.What to do
For each line above (and anything the goose finds the daily loop touches): state precisely what breaks when public internet is cut, and the in-tailnet substitute or the work needed to make one. File a follow-up
infrastructureissue per HARD GAP and link it from the doc.Acceptance
docs/airgapped-dev-audit.mdexists, every daily-loop dependency is classified with one of the three tags, and each HARD GAP has a linked follow-up issue.see also: #417