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
Copy file name to clipboardExpand all lines: custom-domain/dstack-ingress/README.md
+15-9Lines changed: 15 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -173,9 +173,9 @@ environment:
173
173
| `TXT_PREFIX` | `_dstack-app-address` | DNS TXT record prefix |
174
174
| `ACME_STAGING` | `false` | Use Let's Encrypt staging, in either mode. `CERTBOT_STAGING` is the historical name and still works |
175
175
| `CHALLENGE_TYPE` | `dns-01` | `dns-01` (certbot + DNS credentials) or `tls-alpn-01` (lego, no DNS credentials) |
176
-
| `DNS_SETUP_MODE` | `wait` | tls-alpn-01 only: `wait`, `print` or `webhook` — see below |
177
-
| `DNS_SETUP_TIMEOUT` | `1800` | tls-alpn-01 only: seconds to wait for the records to appear |
178
-
| `DNS_SETUP_INTERVAL` | `15` | tls-alpn-01 only: seconds between DNS checks |
176
+
| `DNS_SETUP_MODE` | `wait` | How to handle operator-managed records: `wait`, `print` or `webhook` — see below. Applies to tls-alpn-01 and to dns-01 challenge delegation |
177
+
| `DNS_SETUP_TIMEOUT` | `1800` | Seconds to wait for those records to appear |
178
+
| `DNS_SETUP_INTERVAL` | `15` | Seconds between DNS checks |
| `DNS_WEBHOOK_TOKEN` | | Shared secret; the payload is HMAC-SHA256 signed with it |
181
181
| `DOH_RESOLVERS` | Google + Cloudflare | Comma-separated DoH endpoints used to verify records |
@@ -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
| `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 |
195
195
| `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 |
196
-
| `ALLOW_MISSING_CAA` | `false` | In delegation mode, continue even if the required `accounturi` CAA cannot be confirmed. Default fails closed (see below) |
196
+
| `ALLOW_MISSING_CAA` | `false` | In delegation mode, treat an unconfirmed `accounturi` CAA as a warning instead of a blocker. Default fails closed (see below) |
197
197
198
198
For DNS provider credentials, see [DNS_PROVIDERS.md](DNS_PROVIDERS.md).
> delegation, otherwise `certbot renew` reuses the old plugin (which needs the
236
235
> production-zone token this mode avoids).
237
236
237
+
The records above are checked the same way tls-alpn-01 checks its own: two DoH
238
+
resolvers, both CAA wire formats, and `DNS_SETUP_MODE` deciding what happens
239
+
while they are missing. `wait` (the default) blocks until they appear, so you can
240
+
start the container and create the records afterwards; `print` lists them and
241
+
continues without checking; `webhook` POSTs them to `DNS_WEBHOOK_URL` for an
242
+
operator service to create automatically.
243
+
238
244
## Evidence & Attestation
239
245
240
246
Evidence files are served at `https://your-domain.com/evidences/` by default (via payload inspection in HAProxy's TCP mode). They can also be accessed by the backend application through the shared `/evidences` volume.
0 commit comments