apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: aprs-allow-egress namespace: aprs spec: podSelector: matchLabels: app: aprs policyTypes: - Egress egress: # DNS resolution - to: - namespaceSelector: {} podSelector: matchLabels: k8s-app: kube-dns ports: - port: 53 protocol: UDP - port: 53 protocol: TCP # APRS-IS upstream servers (TCP 10152 to any IP) - to: - ipBlock: cidr: 0.0.0.0/0 except: - 10.0.0.0/8 - 172.16.0.0/12 - 192.168.0.0/16 ports: - port: 10152 protocol: TCP # HTTPS outbound (external APIs, package fetches) - to: - ipBlock: cidr: 0.0.0.0/0 except: - 10.0.0.0/8 - 172.16.0.0/12 - 192.168.0.0/16 ports: - port: 443 protocol: TCP # Database egress (PgBouncer + direct PostgreSQL) - to: - ipBlock: cidr: 10.0.19.30/32 ports: - port: 6432 protocol: TCP - port: 5432 protocol: TCP