Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e93d4ba86c |
@@ -4,7 +4,9 @@ metadata:
|
|||||||
name: comfyui
|
name: comfyui
|
||||||
namespace: comfyui
|
namespace: comfyui
|
||||||
annotations:
|
annotations:
|
||||||
cert-manager.io/cluster-issuer: letsencrypt-prod
|
# No cert-manager annotation and no tls: block. This host is covered by
|
||||||
|
# the *.riotpiao.com wildcard, which nginx serves as its
|
||||||
|
# default-ssl-certificate (ingress-nginx/riotpiao-com-tls).
|
||||||
nginx.ingress.kubernetes.io/proxy-read-timeout: "600"
|
nginx.ingress.kubernetes.io/proxy-read-timeout: "600"
|
||||||
nginx.ingress.kubernetes.io/proxy-send-timeout: "600"
|
nginx.ingress.kubernetes.io/proxy-send-timeout: "600"
|
||||||
nginx.ingress.kubernetes.io/proxy-body-size: "0"
|
nginx.ingress.kubernetes.io/proxy-body-size: "0"
|
||||||
@@ -16,10 +18,6 @@ metadata:
|
|||||||
proxy_set_header Connection "upgrade";
|
proxy_set_header Connection "upgrade";
|
||||||
spec:
|
spec:
|
||||||
ingressClassName: nginx
|
ingressClassName: nginx
|
||||||
tls:
|
|
||||||
- secretName: comfyui-tls
|
|
||||||
hosts:
|
|
||||||
- comfyui.riotpiao.com
|
|
||||||
rules:
|
rules:
|
||||||
- host: comfyui.riotpiao.com
|
- host: comfyui.riotpiao.com
|
||||||
http:
|
http:
|
||||||
|
|||||||
@@ -8,6 +8,19 @@
|
|||||||
# depend on them existing first.
|
# depend on them existing first.
|
||||||
installCRDs: true
|
installCRDs: true
|
||||||
|
|
||||||
|
# Point the ACME DNS-01 self-check at the public resolvers directly.
|
||||||
|
#
|
||||||
|
# Without these flags cert-manager resolves through the pod resolver
|
||||||
|
# (CoreDNS at 10.96.0.10). The self-check then never saw the TXT record and
|
||||||
|
# reported "Waiting for DNS-01 challenge propagation" forever. The wildcard
|
||||||
|
# certificate renewal stalled on 2026-09-23 and the cert expired on
|
||||||
|
# 2026-10-23, which broke every Cloudflare Tunnel origin with
|
||||||
|
# "x509: certificate has expired".
|
||||||
|
#
|
||||||
|
extraArgs:
|
||||||
|
- --dns01-recursive-nameservers=1.1.1.1:53,8.8.8.8:53
|
||||||
|
- --dns01-recursive-nameservers-only
|
||||||
|
|
||||||
# Tolerate the control-plane taint (talos-cp-1 is the only schedulable node).
|
# Tolerate the control-plane taint (talos-cp-1 is the only schedulable node).
|
||||||
tolerations:
|
tolerations:
|
||||||
- key: node-role.kubernetes.io/control-plane
|
- key: node-role.kubernetes.io/control-plane
|
||||||
|
|||||||
@@ -1,13 +1,21 @@
|
|||||||
# k8s/bootstrap/ingress/riotpiao-com-cert.yaml
|
# k8s/bootstrap/ingress/riotpiao-com-cert.yaml
|
||||||
# Public wildcard cert for *.riotpiao.com, signed by Let's Encrypt (DNS-01 via
|
# Public wildcard cert for *.riotpiao.com, signed by Let's Encrypt (DNS-01 via
|
||||||
# Cloudflare, see ../cert-manager/letsencrypt-issuer.yaml). Distinct from
|
# Cloudflare, see ../cert-manager/letsencrypt-issuer.yaml).
|
||||||
# homelab-tls (self-signed homelab-ca, internal *.riotpiao.com) —
|
|
||||||
# reference riotpiao-com-tls explicitly on ingresses that expose riotpiao.com
|
|
||||||
# hosts to the internet; it is not nginx's default-ssl-certificate.
|
|
||||||
#
|
#
|
||||||
# issuerRef starts on letsencrypt-staging. Switch to letsencrypt-prod once the
|
# nginx serves this secret as its default-ssl-certificate
|
||||||
# staging cert issues cleanly, then delete this Certificate's Secret to force
|
# (../ingress/nginx-values.yaml), so every Ingress that omits a tls: block uses
|
||||||
# a re-issue against prod (staging certs aren't browser-trusted).
|
# it. Do not add per-host tls: blocks for *.riotpiao.com hosts: they create a
|
||||||
|
# second, single-host certificate and split the wildcard coverage.
|
||||||
|
#
|
||||||
|
# Renewal is automatic and does not drop traffic:
|
||||||
|
# - cert-manager starts a new order 30 days before expiry (renewBefore).
|
||||||
|
# - cert-manager writes the renewed pair into the same secret.
|
||||||
|
# - ingress-nginx watches the secret and hot-reloads. No pod restart.
|
||||||
|
# - The old pair stays valid until the new one is written, so no gap exists.
|
||||||
|
#
|
||||||
|
# The DNS-01 self-check must reach the public resolvers directly. Without the
|
||||||
|
# --dns01-recursive-nameservers flags in ../../cert-manager/cert-manager-values.yaml
|
||||||
|
# the self-check never sees the TXT record and renewal stalls until expiry.
|
||||||
apiVersion: cert-manager.io/v1
|
apiVersion: cert-manager.io/v1
|
||||||
kind: Certificate
|
kind: Certificate
|
||||||
metadata:
|
metadata:
|
||||||
|
|||||||
@@ -107,7 +107,9 @@ ingress:
|
|||||||
enabled: true
|
enabled: true
|
||||||
className: nginx
|
className: nginx
|
||||||
annotations:
|
annotations:
|
||||||
cert-manager.io/cluster-issuer: letsencrypt-prod
|
# No cert-manager annotation. forgejo.riotpiao.com is covered by the
|
||||||
|
# *.riotpiao.com wildcard, served as nginx's default-ssl-certificate.
|
||||||
|
#
|
||||||
# This chart Ingress and the hand-written one in
|
# This chart Ingress and the hand-written one in
|
||||||
# k8s/bootstrap/ingress/ingress.yaml both claim forgejo.riotpiao.com.
|
# k8s/bootstrap/ingress/ingress.yaml both claim forgejo.riotpiao.com.
|
||||||
# ingress-nginx breaks the tie by oldest creationTimestamp, and the chart's
|
# ingress-nginx breaks the tie by oldest creationTimestamp, and the chart's
|
||||||
@@ -125,10 +127,9 @@ ingress:
|
|||||||
paths:
|
paths:
|
||||||
- path: /
|
- path: /
|
||||||
pathType: Prefix
|
pathType: Prefix
|
||||||
tls:
|
# tls: intentionally omitted. The chart would create a second, single-host
|
||||||
- secretName: forgejo-tls
|
# certificate (forgejo-tls) that expired on 2026-10-23 and competed with the
|
||||||
hosts:
|
# wildcard. The wildcard covers this host.
|
||||||
- forgejo.riotpiao.com
|
|
||||||
|
|
||||||
# Resources
|
# Resources
|
||||||
resources:
|
resources:
|
||||||
|
|||||||
Reference in New Issue
Block a user