Completes Day 2 of the v1.0.3 → v1.0.4 cleanup sprint. The documentation now describes the actual repo layout instead of a fictional one. CLAUDE.md — complete rewrite Old version referenced paths that don't exist and a protocol aimed at implementing v0.11.0 (current tag: v1.0.3). The agent was following a map for a city that had been rebuilt. - backend/ → veza-backend-api/ - frontend/ → apps/web/ - ORIGIN/ (root) → veza-docs/ORIGIN/ - veza-chat-server → merged into backend-api (v0.502, commit |
||
|---|---|---|
| .. | ||
| backend-api-allow.yaml | ||
| default-deny.yaml | ||
| frontend-allow.yaml | ||
| README.md | ||
Network Policies
Network policies restrict traffic between pods for defense in depth.
Dependencies
| Service | Ingress From | Egress To |
|---|---|---|
| backend-api | ingress-nginx | PostgreSQL (5432), Redis (6379), DNS |
| frontend | ingress-nginx | - |
| stream-server | ingress-nginx | Redis, storage |
Usage
-
Apply default deny first:
kubectl apply -f k8s/network-policies/default-deny.yaml -
Apply allow policies for each component:
kubectl apply -f k8s/network-policies/backend-api-allow.yaml kubectl apply -f k8s/network-policies/frontend-allow.yaml
Ingress Controller
Policies reference namespaceSelector.matchLabels.name: ingress-nginx. Ensure your ingress controller namespace has this label:
kubectl label namespace ingress-nginx name=ingress-nginx
External Services
If PostgreSQL or Redis run outside the cluster, the egress ipBlock.cidr: 0.0.0.0/0 allows connections. For stricter policies, replace with specific CIDRs.