diff --git a/actual-budget/networkpolicy.yaml b/actual-budget/networkpolicy.yaml index e0064fe..276a5b9 100644 --- a/actual-budget/networkpolicy.yaml +++ b/actual-budget/networkpolicy.yaml @@ -55,3 +55,29 @@ spec: - 169.254.0.0/16 - 172.16.0.0/12 - 192.168.0.0/16 +--- +# cert-manager's HTTP-01 solver, which runs only while a certificate +# renews: Let's Encrypt and cert-manager's own self check reach it on 8089 +# through Envoy. The policies above let Envoy reach the app's port only, +# which left the solver unreachable (found 2026-10-26, when ynab's renewal +# hung). +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: acme-http01-solver +spec: + podSelector: + matchLabels: + acme.cert-manager.io/http01-solver: "true" + policyTypes: + - Ingress + ingress: + - from: + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: envoy-gateway-system + podSelector: + matchLabels: + app.kubernetes.io/name: envoy + ports: + - port: 8089 diff --git a/authentik/networkpolicy.yaml b/authentik/networkpolicy.yaml index ecf167d..f9f75b4 100644 --- a/authentik/networkpolicy.yaml +++ b/authentik/networkpolicy.yaml @@ -135,3 +135,29 @@ spec: cidr: 192.168.1.204/32 ports: - port: 16443 +--- +# cert-manager's HTTP-01 solver, which runs only while a certificate +# renews: Let's Encrypt and cert-manager's own self check reach it on 8089 +# through Envoy. The policies above let Envoy reach the app's port only, +# which left the solver unreachable (found 2026-10-26, when ynab's renewal +# hung). +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: acme-http01-solver +spec: + podSelector: + matchLabels: + acme.cert-manager.io/http01-solver: "true" + policyTypes: + - Ingress + ingress: + - from: + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: envoy-gateway-system + podSelector: + matchLabels: + app.kubernetes.io/name: envoy + ports: + - port: 8089 diff --git a/bolletjestrui/networkpolicy.yaml b/bolletjestrui/networkpolicy.yaml index c66b200..a248b60 100644 --- a/bolletjestrui/networkpolicy.yaml +++ b/bolletjestrui/networkpolicy.yaml @@ -54,3 +54,29 @@ spec: - 169.254.0.0/16 - 172.16.0.0/12 - 192.168.0.0/16 +--- +# cert-manager's HTTP-01 solver, which runs only while a certificate +# renews: Let's Encrypt and cert-manager's own self check reach it on 8089 +# through Envoy. The policies above let Envoy reach the app's port only, +# which left the solver unreachable (found 2026-10-26, when ynab's renewal +# hung). +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: acme-http01-solver +spec: + podSelector: + matchLabels: + acme.cert-manager.io/http01-solver: "true" + policyTypes: + - Ingress + ingress: + - from: + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: envoy-gateway-system + podSelector: + matchLabels: + app.kubernetes.io/name: envoy + ports: + - port: 8089 diff --git a/freshrss/networkpolicy.yaml b/freshrss/networkpolicy.yaml index 700702b..0656542 100644 --- a/freshrss/networkpolicy.yaml +++ b/freshrss/networkpolicy.yaml @@ -56,3 +56,29 @@ spec: - 169.254.0.0/16 - 172.16.0.0/12 - 192.168.0.0/16 +--- +# cert-manager's HTTP-01 solver, which runs only while a certificate +# renews: Let's Encrypt and cert-manager's own self check reach it on 8089 +# through Envoy. The policies above let Envoy reach the app's port only, +# which left the solver unreachable (found 2026-10-26, when ynab's renewal +# hung). +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: acme-http01-solver +spec: + podSelector: + matchLabels: + acme.cert-manager.io/http01-solver: "true" + policyTypes: + - Ingress + ingress: + - from: + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: envoy-gateway-system + podSelector: + matchLabels: + app.kubernetes.io/name: envoy + ports: + - port: 8089 diff --git a/gatus/networkpolicy.yaml b/gatus/networkpolicy.yaml index 1791dbf..5825a48 100644 --- a/gatus/networkpolicy.yaml +++ b/gatus/networkpolicy.yaml @@ -83,3 +83,29 @@ spec: cidr: 192.168.1.204/32 ports: - port: 16443 +--- +# cert-manager's HTTP-01 solver, which runs only while a certificate +# renews: Let's Encrypt and cert-manager's own self check reach it on 8089 +# through Envoy. The policies above let Envoy reach the app's port only, +# which left the solver unreachable (found 2026-10-26, when ynab's renewal +# hung). +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: acme-http01-solver +spec: + podSelector: + matchLabels: + acme.cert-manager.io/http01-solver: "true" + policyTypes: + - Ingress + ingress: + - from: + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: envoy-gateway-system + podSelector: + matchLabels: + app.kubernetes.io/name: envoy + ports: + - port: 8089 diff --git a/gitea/networkpolicy.yaml b/gitea/networkpolicy.yaml index 39de7f4..55f3c8b 100644 --- a/gitea/networkpolicy.yaml +++ b/gitea/networkpolicy.yaml @@ -55,3 +55,29 @@ spec: - 169.254.0.0/16 - 172.16.0.0/12 - 192.168.0.0/16 +--- +# cert-manager's HTTP-01 solver, which runs only while a certificate +# renews: Let's Encrypt and cert-manager's own self check reach it on 8089 +# through Envoy. The policies above let Envoy reach the app's port only, +# which left the solver unreachable (found 2026-10-26, when ynab's renewal +# hung). +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: acme-http01-solver +spec: + podSelector: + matchLabels: + acme.cert-manager.io/http01-solver: "true" + policyTypes: + - Ingress + ingress: + - from: + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: envoy-gateway-system + podSelector: + matchLabels: + app.kubernetes.io/name: envoy + ports: + - port: 8089 diff --git a/immich/networkpolicy.yaml b/immich/networkpolicy.yaml index 325a93e..c292815 100644 --- a/immich/networkpolicy.yaml +++ b/immich/networkpolicy.yaml @@ -100,3 +100,29 @@ spec: cidr: 192.168.1.204/32 ports: - port: 16443 +--- +# cert-manager's HTTP-01 solver, which runs only while a certificate +# renews: Let's Encrypt and cert-manager's own self check reach it on 8089 +# through Envoy. The policies above let Envoy reach the app's port only, +# which left the solver unreachable (found 2026-10-26, when ynab's renewal +# hung). +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: acme-http01-solver +spec: + podSelector: + matchLabels: + acme.cert-manager.io/http01-solver: "true" + policyTypes: + - Ingress + ingress: + - from: + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: envoy-gateway-system + podSelector: + matchLabels: + app.kubernetes.io/name: envoy + ports: + - port: 8089 diff --git a/mbgwp/networkpolicy.yaml b/mbgwp/networkpolicy.yaml index 3f14564..49bcfa0 100644 --- a/mbgwp/networkpolicy.yaml +++ b/mbgwp/networkpolicy.yaml @@ -85,3 +85,29 @@ spec: kubernetes.io/metadata.name: mariadb-system ports: - port: 3306 +--- +# cert-manager's HTTP-01 solver, which runs only while a certificate +# renews: Let's Encrypt and cert-manager's own self check reach it on 8089 +# through Envoy. The policies above let Envoy reach the app's port only, +# which left the solver unreachable (found 2026-10-26, when ynab's renewal +# hung). +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: acme-http01-solver +spec: + podSelector: + matchLabels: + acme.cert-manager.io/http01-solver: "true" + policyTypes: + - Ingress + ingress: + - from: + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: envoy-gateway-system + podSelector: + matchLabels: + app.kubernetes.io/name: envoy + ports: + - port: 8089 diff --git a/ntfy/networkpolicy.yaml b/ntfy/networkpolicy.yaml index 1eb485c..d5b9521 100644 --- a/ntfy/networkpolicy.yaml +++ b/ntfy/networkpolicy.yaml @@ -65,3 +65,29 @@ spec: - 169.254.0.0/16 - 172.16.0.0/12 - 192.168.0.0/16 +--- +# cert-manager's HTTP-01 solver, which runs only while a certificate +# renews: Let's Encrypt and cert-manager's own self check reach it on 8089 +# through Envoy. The policies above let Envoy reach the app's port only, +# which left the solver unreachable (found 2026-10-26, when ynab's renewal +# hung). +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: acme-http01-solver +spec: + podSelector: + matchLabels: + acme.cert-manager.io/http01-solver: "true" + policyTypes: + - Ingress + ingress: + - from: + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: envoy-gateway-system + podSelector: + matchLabels: + app.kubernetes.io/name: envoy + ports: + - port: 8089 diff --git a/serpbear/networkpolicy.yaml b/serpbear/networkpolicy.yaml index 303f07c..4163594 100644 --- a/serpbear/networkpolicy.yaml +++ b/serpbear/networkpolicy.yaml @@ -54,3 +54,29 @@ spec: - 169.254.0.0/16 - 172.16.0.0/12 - 192.168.0.0/16 +--- +# cert-manager's HTTP-01 solver, which runs only while a certificate +# renews: Let's Encrypt and cert-manager's own self check reach it on 8089 +# through Envoy. The policies above let Envoy reach the app's port only, +# which left the solver unreachable (found 2026-10-26, when ynab's renewal +# hung). +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: acme-http01-solver +spec: + podSelector: + matchLabels: + acme.cert-manager.io/http01-solver: "true" + policyTypes: + - Ingress + ingress: + - from: + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: envoy-gateway-system + podSelector: + matchLabels: + app.kubernetes.io/name: envoy + ports: + - port: 8089 diff --git a/vault/networkpolicy.yaml b/vault/networkpolicy.yaml index 125e3b9..82a3afa 100644 --- a/vault/networkpolicy.yaml +++ b/vault/networkpolicy.yaml @@ -66,3 +66,29 @@ spec: - 169.254.0.0/16 - 172.16.0.0/12 - 192.168.0.0/16 +--- +# cert-manager's HTTP-01 solver, which runs only while a certificate +# renews: Let's Encrypt and cert-manager's own self check reach it on 8089 +# through Envoy. The policies above let Envoy reach the app's port only, +# which left the solver unreachable (found 2026-10-26, when ynab's renewal +# hung). +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: acme-http01-solver +spec: + podSelector: + matchLabels: + acme.cert-manager.io/http01-solver: "true" + policyTypes: + - Ingress + ingress: + - from: + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: envoy-gateway-system + podSelector: + matchLabels: + app.kubernetes.io/name: envoy + ports: + - port: 8089