feat: poimen-sandbox namespace + security hardening + RBAC
Phase 1: sandbox namespace with PSA restricted enforcement, ResourceQuota (20 pods, 10/20 CPU, 20/40Gi memory), and CiliumNetworkPolicy denying pi-session egress to kube-apiserver. Phase 2: sandbox-observer Role + poimen-devs RoleBinding for OIDC-authenticated kubectl access to sandbox pod status/logs.
This commit is contained in:
@@ -6,3 +6,6 @@ kind: Kustomization
|
||||
# deployments (wave 0) are applied.
|
||||
resources:
|
||||
- memory-db.yaml
|
||||
- poimen-sandbox-namespace.yaml
|
||||
- poimen-sandbox-quota.yaml
|
||||
- pi-session-netpol.yaml
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: cilium.io/v2
|
||||
kind: CiliumNetworkPolicy
|
||||
metadata:
|
||||
name: pi-session-deny-kube-api
|
||||
namespace: poimen-sandbox
|
||||
spec:
|
||||
endpointSelector:
|
||||
matchLabels:
|
||||
app: pi-session
|
||||
egressDeny:
|
||||
- toEntities:
|
||||
- kube-apiserver
|
||||
@@ -0,0 +1,9 @@
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: poimen-sandbox
|
||||
labels:
|
||||
pod-security.kubernetes.io/enforce: restricted
|
||||
pod-security.kubernetes.io/enforce-version: latest
|
||||
pod-security.kubernetes.io/audit: restricted
|
||||
pod-security.kubernetes.io/warn: restricted
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: ResourceQuota
|
||||
metadata:
|
||||
name: sandbox-quota
|
||||
namespace: poimen-sandbox
|
||||
spec:
|
||||
hard:
|
||||
pods: "20"
|
||||
requests.cpu: "10"
|
||||
requests.memory: 20Gi
|
||||
limits.cpu: "20"
|
||||
limits.memory: 40Gi
|
||||
Reference in New Issue
Block a user