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): drop the old delegation variable, pick the gateway
record type per provider
DELEGATION_ZONE is now the only name; ACME_CHALLENGE_ALIAS is gone rather
than deprecated. The feature is days old and the published image does not
carry it, so there is nobody to keep compatible with, and one name is
worth more than two.
The gateway pointer's record type now follows the provider instead of
defaulting to CNAME everywhere. A CNAME is better -- DNS follows a gateway
that moves -- but the same name has to carry the CAA too, which RFC 1034
forbids. Cloudflare allows the pair and Let's Encrypt honours the CAA
there; providers that enforce the standard reject it, and would have
failed at the CAA write with the old default.
Only Cloudflare has been tested, so only Cloudflare gets `cname` and
everything else gets `a`, which is legal everywhere. Operators who know
their provider allows the pair can set DELEGATION_GATEWAY_RECORD=cname.
dnsman.py grew a `provider` action so the shell can ask.
Verified that wildcards work end to end, which was not obvious: a
wildcard CNAME copies its target verbatim rather than expanding it
(RFC 4592), so every subdomain lands on one concrete delegated name.
`*.wc.kvin.wang` issued against the staging CA, and a.wc / xyz.wc both
resolve through that name to the gateway.
Copy file name to clipboardExpand all lines: custom-domain/dstack-ingress/README.md
+19-13Lines changed: 19 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -193,7 +193,7 @@ environment:
193
193
| `ALPN` | | TLS ALPN protocols (e.g. `h2,http/1.1`). Only set if backends support h2c |
194
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
-
| `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) |
196
+
| `DELEGATION_GATEWAY_RECORD` | per provider | How the delegated name points at the gateway: `cname`(Cloudflare default; follows a gateway that moves) or `a` (default elsewhere, 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) |
198
198
199
199
For DNS provider credentials, see [DNS_PROVIDERS.md](DNS_PROVIDERS.md).
0 commit comments