cnpg-system: NetworkPolicy, through a folder app of its own

This commit is contained in:
Ruben Hensen committed 2026-10-26 23:25:55 +01:00
1 parent c8a81e805d
commit d4e99d28c7
2 files changed
+75

No files matched your search

+19
View File
@@ -0,0 +1,19 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: cloudnative-pg-folder
namespace: argocd
finalizers:
- resources-finalizer.argocd.argoproj.io
spec:
project: default
source:
repoURL: https://github.com/rubenhensen/k8scd.git
targetRevision: HEAD
path: cloudnative-pg
destination:
server: https://kubernetes.default.svc
namespace: cnpg-system
syncPolicy:
automated:
selfHeal: true
+56
View File
@@ -0,0 +1,56 @@
# The CloudNativePG operator reaches DNS, the API server (the node, port
# 16443) and the PostgreSQL instances it runs in other namespaces: the
# instance manager's status port (8000) and PostgreSQL (5432), which the
# instances' own policies let in (postgres-cnpg in authentik and immich).
# Besides its own namespace it takes connections only from the node: the
# API server calls its webhook (9443) from there and the kubelet probes
# come from there too (10.1.7.64 is the node's Calico VXLAN address,
# projectcalico.org/IPv4VXLANTunnelAddr). The chart's Application
# (apps/templates/cloudnativepg-helm.yaml) only installs the chart, so
# this folder gets an Application of its own, cloudnative-pg-folder.
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: default
spec:
podSelector: {}
policyTypes:
- Ingress
- Egress
ingress:
- from:
- podSelector: {}
- from:
- ipBlock:
cidr: 192.168.1.204/32
- ipBlock:
cidr: 10.1.7.64/32
egress:
- to:
- podSelector: {}
- to:
- namespaceSelector:
matchLabels:
kubernetes.io/metadata.name: kube-system
podSelector:
matchLabels:
k8s-app: kube-dns
ports:
- protocol: UDP
port: 53
- protocol: TCP
port: 53
- to:
- ipBlock:
cidr: 192.168.1.204/32
ports:
- port: 16443
- to:
- namespaceSelector: {}
podSelector:
matchExpressions:
- key: cnpg.io/cluster
operator: Exists
ports:
- port: 8000
- port: 5432