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
@@ -225,3 +235,120 @@ Permission is hereby granted, free of charge, to any person obtaining a copy of
225
235
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
226
236
227
237
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
238
+
239
+
## Certificates without DNS credentials (tls-alpn-01)
240
+
241
+
The default `dns-01` flow needs a DNS API token inside the CVM: the container
242
+
creates the CNAME, TXT and CAA records itself. `CHALLENGE_TYPE=tls-alpn-01`
243
+
removes that requirement — nothing in the container can touch your DNS zone —
244
+
at the cost of you creating three records by hand (or via a webhook).
245
+
246
+
```yaml
247
+
services:
248
+
dstack-ingress:
249
+
image: dstacktee/dstack-ingress:<tag>
250
+
environment:
251
+
- CHALLENGE_TYPE=tls-alpn-01
252
+
- DOMAIN=app.example.com
253
+
- TARGET_ENDPOINT=http://app:80
254
+
- GATEWAY_DOMAIN=_.dstack-prod5.phala.network
255
+
- CERTBOT_EMAIL=you@example.com
256
+
# - DNS_SETUP_MODE=wait # default; blocks until the records exist
257
+
ports:
258
+
- "443:443"
259
+
volumes:
260
+
- /var/run/dstack.sock:/var/run/dstack.sock
261
+
- cert-data:/etc/letsencrypt
262
+
- evidences:/evidences
263
+
```
264
+
265
+
On first start the container prints the exact records to create, then polls
0 commit comments