You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- entrypoint.sh: the delegation-mode accounturi-CAA check was unreachable in the
default config (it lived after the `SET_CAA != true` early return, and SET_CAA
defaults to false), so the forge-prevention control silently never ran. Move
it above the SET_CAA gate (delegation CAA is independent of SET_CAA) and make
it fail closed: if the required CAA is confirmed absent the container exits,
with ALLOW_MISSING_CAA=true to override. A transient DoH failure only warns.
- entrypoint.sh: fix the wildcard `_acme-challenge` CNAME guidance — strip `*.`
so it matches the base name certbot/LE validate and the hook writes to.
- entrypoint.sh: parse the DoH response with jq and match with `grep -F`
(the account URI contains `/` and `.`, which must not be regex), and
distinguish "confirmed absent" (fail) from "could not verify" (warn).
- base.py: unset_txt_record no longer reports success for a record it could not
address (no id) — counts it as failure and warns.
- README: document fail-closed CAA + ALLOW_MISSING_CAA, the propagation ceiling
vs certbot's 300s timeout, using a dedicated delegation zone, and deleting a
stale plugin renewal conf before switching to delegation.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Xa1zFJs3FVP8UTsSWuS3Yj
Copy file name to clipboardExpand all lines: custom-domain/dstack-ingress/README.md
+17-6Lines changed: 17 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -180,7 +180,8 @@ environment:
180
180
| `EVIDENCE_PORT` | `80` | Internal port for evidence HTTP server |
181
181
| `ALPN` | | TLS ALPN protocols (e.g. `h2,http/1.1`). Only set if backends support h2c |
182
182
| `ACME_CHALLENGE_ALIAS` | | Delegate the ACME DNS-01 challenge to this zone (see below) so the DNS token needs no access to the served domain's own zone |
183
-
| `ACME_CHALLENGE_PROPAGATION_SECONDS` | `30` | Wait after writing the delegated challenge TXT before validation (only used with `ACME_CHALLENGE_ALIAS`) |
183
+
| `ACME_CHALLENGE_PROPAGATION_SECONDS` | `30` | Wait after writing the delegated challenge TXT before validation (only with `ACME_CHALLENGE_ALIAS`). Keep well under ~250s — certbot is killed after a 300s per-run timeout |
184
+
| `ALLOW_MISSING_CAA` | `false` | In delegation mode, continue even if the required `accounturi` CAA cannot be confirmed. Default fails closed (see below) |
184
185
185
186
For DNS provider credentials, see [DNS_PROVIDERS.md](DNS_PROVIDERS.md).
0 commit comments