fix(celilo): drop idp_dmz_ip + the /etc/hosts pin (ISS-0156 supersedes ISS-0095) #17
No reviewers
Labels
No labels
area/auth
area/backend
area/ci
area/deploy
area/e2e
area/frontend
area/shared
blocked
good-first-issue
needs-info
priority/high
priority/low
priority/medium
type/bug
type/chore
type/docs
type/feature
type/tech-debt
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
celilo/lunacycle!17
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/drop-idp-dmz-ip"
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?
lunacycle is currently undeployable.
celilo module deploy lunacyclefails at generation:Why
celilo
cda7d722(2026-06-28, ISS-0156) removedidp.dmz_ip+caddy_dmz_ipfrom authentik,public_web.dmz_ipfrom caddy,forge_dmz_ipfrom forgejo/runner/builder, and every per-consumer/etc/hostspin. caddy now registers its fronted hostnames withzoneRoutableValue, so the resolver's per-zone views answer app-zone clients with caddy's DMZ ingress directly — explicitly superseding ISS-0095, which is what this module was built against.That refactor updated the modules living in the celilo repo. lunacycle lives in its own repo and was missed, leaving it the last consumer of a field no provider supplies. Redeploying authentik does not help: the installed and newest-published
1.2.0+22has nodmz_ipin itsprovidesblock at all.Verified before removing the pin
From inside the app-zone container (
10.0.20.11),dig(which bypasses/etc/hosts):Not natIp, not the public
71.36.112.98. So the server-sidecreateRemoteJWKSetfetch resolves correctly with no pinning.Changes
manifest.yml— drop theidp_dmz_ipvariablecelilo/types.d.ts— dropidp_dmz_ip?: stringcelilo/ansible/playbook.yml.tpl— drop the pass-through varcelilo/ansible/roles/lunacycle/tasks/main.yml.tpl— drop theset_fact+lineinfilepin tasksNo
state: absentcleanup task, matchingcda7d722's own precedent — the now-inert10.0.10.10 auth.lunacycle.netline on existing hosts agrees with what DNS returns anyway.celilo module check .→ 10 ok, 0 fail.tsc -b --noEmitclean.Unblocks the deploy of the Start Cycle fix (#15), which is published as
1.0.2+2but stranded in the module store.🤖 Generated with Claude Code
celilo cda7d722 removed idp.dmz_ip from authentik's idp capability, caddy_dmz_ip, public_web.dmz_ip and the per-consumer /etc/hosts pins fleet-wide: caddy now registers its fronted hostnames with zoneRoutableValue, so the resolver's per-zone views answer app-zone clients with caddy's DMZ ingress directly. That refactor updated forgejo/runner/builder in-repo but not lunacycle, which lives in its own repo — leaving us the last consumer of a field no provider supplies. Deploy failed at generation: Cannot generate 'lunacycle': 1 capability-derived variable(s) won't resolve: - lunacycle.idp_dmz_ip derives from $capability:idp.dmz_ip, but the provider's 'idp' data has no value there Verified from inside the app-zone container before removing the pin: `dig +short auth.lunacycle.net` -> 10.0.10.10 (caddy's DMZ ingress), not natIp, so createRemoteJWKSet resolves without it. No state:absent cleanup task, matching cda7d722's own precedent — the now-inert /etc/hosts line on existing hosts agrees with what DNS returns. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>