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
refactor(dstack-ingress): name the delegation zone after what it now is
ACME_CHALLENGE_ALIAS was accurate when the challenge was the only thing
delegated. It now decides the target of four records -- the gateway
pointer, the app-address TXT, the challenge TXT and the CAA -- so it is
the delegation zone, and DELEGATION_ZONE is what it is called. It also
lines up with DELEGATION_GATEWAY_RECORD.
The old name still works. Each program that can be invoked on its own
resolves both, rather than relying on a caller to normalise: certbot runs
the challenge hook as a fresh process, and dnsguide.py and certman.py are
runnable standalone.
Also document that a wildcard and its base name share a delegated target
-- both *.example.com and example.com map to example.com.<zone>. One
deployment serving both publishes the same values twice and is fine; two
deployments with different gateways need separate zones.
Copy file name to clipboardExpand all lines: custom-domain/dstack-ingress/README.md
+7-2Lines changed: 7 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -191,7 +191,7 @@ environment:
191
191
| `EVIDENCE_SERVER` | `true` | Serve evidence files at `/evidences/` on the TLS port |
192
192
| `EVIDENCE_PORT` | `80` | Internal port for evidence HTTP server |
193
193
| `ALPN` | | TLS ALPN protocols (e.g. `h2,http/1.1`). Only set if backends support h2c |
194
-
| `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 |
194
+
| `DELEGATION_ZONE` | | Zone this container writes into, so the DNS token needs no access to the served domain's own zone (see below). `ACME_CHALLENGE_ALIAS` is the original name and still works |
195
195
| `ACME_CHALLENGE_PROPAGATION_SECONDS` | `120` | Wait after writing the delegated challenge TXT before validation. Must outlast the record TTL (60s), or a resolver still serving the previous attempt's value fails validation. Keep well under ~250s — certbot is killed after a 300s per-run timeout |
196
196
| `DELEGATION_GATEWAY_RECORD` | `cname` | How the delegated name points at the gateway: `cname`(follows a gateway that moves) or `a` (for providers that refuse a CAA beside a CNAME) |
197
197
| `ALLOW_MISSING_CAA` | `false` | In delegation mode, treat an unconfirmed `accounturi` CAA as a warning instead of a blocker. Default fails closed (see below) |
@@ -206,7 +206,7 @@ served name lives under a shared production zone (e.g. `svc.example.com` under
206
206
`example.com`), that token can edit every record in the zone, which may be more
207
207
privilege than you want.
208
208
209
-
Set `ACME_CHALLENGE_ALIAS=<delegation-zone>` to move every name this deployment
209
+
Set `DELEGATION_ZONE=<delegation-zone>` to move every name this deployment
210
210
needs into a zone your token controls. You create three CNAMEs in the served
211
211
domain's zone **once, before deploying**, and then never touch DNS again — not
212
212
when the app id changes with the compose, not when the ACME account is
@@ -240,6 +240,11 @@ itself and publishes an address record, which can carry the CAA. The cost is
240
240
that a gateway which moves is then only picked up on the next pass, where a
241
241
CNAME follows it immediately.
242
242
243
+
A wildcard and its base name share a delegated target: both `*.example.com` and
244
+
`example.com`map to `example.com.<delegation-zone>`. One deployment serving both
245
+
is fine, since it publishes the same values twice. Two deployments pointing at
246
+
different gateways are not — give them separate delegation zones.
247
+
243
248
**Wildcards keep an operator-managed CAA.** RFC 8659 evaluates `*.example.com`
244
249
at `example.com`, which is your own name and cannot be aliased away, so for a
245
250
wildcard the container prints the CAA and verifies it rather than publishing it.
0 commit comments