diff --git a/ecommerce-staging-governance/kustomization.yaml b/ecommerce-staging-governance/kustomization.yaml new file mode 100644 index 0000000..83c29bc --- /dev/null +++ b/ecommerce-staging-governance/kustomization.yaml @@ -0,0 +1,7 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: ecommerce-staging +resources: + - resourcequota.yaml + - limitrange.yaml + - networkpolicy.yaml diff --git a/ecommerce-staging-governance/limitrange.yaml b/ecommerce-staging-governance/limitrange.yaml new file mode 100644 index 0000000..5ed2754 --- /dev/null +++ b/ecommerce-staging-governance/limitrange.yaml @@ -0,0 +1,24 @@ +apiVersion: v1 +kind: LimitRange +metadata: + name: ecommerce-staging-default-limits + namespace: ecommerce-staging +spec: + limits: + - type: Container + + defaultRequest: + cpu: 50m + memory: 128Mi + + default: + cpu: 500m + memory: 512Mi + + min: + cpu: 10m + memory: 16Mi + + max: + cpu: "1" + memory: 512Mi diff --git a/ecommerce-staging-governance/networkpolicy.yaml b/ecommerce-staging-governance/networkpolicy.yaml new file mode 100644 index 0000000..1bb70b3 --- /dev/null +++ b/ecommerce-staging-governance/networkpolicy.yaml @@ -0,0 +1,11 @@ +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: ecommerce-staging-network-security +spec: + podSelector: {} # Aplica a todos los pods del namespace + policyTypes: + - Ingress + ingress: + - from: + - namespaceSelector: {} # Permite tráfico desde Traefik y comunicación interna entre microservicios diff --git a/ecommerce-staging-governance/resourcequota.yaml b/ecommerce-staging-governance/resourcequota.yaml new file mode 100644 index 0000000..c9ac8ff --- /dev/null +++ b/ecommerce-staging-governance/resourcequota.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: ResourceQuota +metadata: + name: ecommerce-staging-quota +spec: + hard: + requests.cpu: "1" + requests.memory: 1Gi + limits.cpu: "2" + limits.memory: 2Gi + + pods: "4" + persistentvolumeclaims: "0"