feat(canary): bootstrap r001 namespace on sol
All checks were successful
deploy-trade-r001-canary / apply (push) Successful in 52s
All checks were successful
deploy-trade-r001-canary / apply (push) Successful in 52s
This commit is contained in:
36
environments/sol/trade-r001-canary/README.md
Normal file
36
environments/sol/trade-r001-canary/README.md
Normal file
@@ -0,0 +1,36 @@
|
||||
# trade-r001-canary
|
||||
|
||||
Minimal canary namespace for migration baseline `R001` on `sol`.
|
||||
|
||||
## Purpose
|
||||
|
||||
- Reserve a dedicated namespace for the first reconstructed trade deployment.
|
||||
- Put hard upper bounds on namespace-level CPU, memory, object count, and PVC growth before application manifests land.
|
||||
- Verify that workloads in the namespace can resolve and reach the shared `trade-infra` services for `Postgres` and `Redis`.
|
||||
|
||||
## Current Guardrails
|
||||
|
||||
- Namespace: `trade-r001-canary`
|
||||
- ResourceQuota:
|
||||
- `requests.cpu=2`
|
||||
- `limits.cpu=6`
|
||||
- `requests.memory=4Gi`
|
||||
- `limits.memory=12Gi`
|
||||
- `pods=20`
|
||||
- `services=10`
|
||||
- `configmaps=20`
|
||||
- `secrets=30`
|
||||
- `persistentvolumeclaims=4`
|
||||
- `requests.storage=100Gi`
|
||||
- LimitRange:
|
||||
- default request: `100m`, `128Mi`
|
||||
- default limit: `1`, `1Gi`
|
||||
- per-container maximum: `2`, `4Gi`
|
||||
|
||||
## Notes
|
||||
|
||||
- This namespace is intentionally conservative until item `14` and the validator protection envelope are fully defined.
|
||||
- The namespace does not yet recreate `gitea-registry`; that remains a separate migration prerequisite.
|
||||
- Current shared infrastructure endpoints expected by canary workloads:
|
||||
- `postgres-host.trade-infra.svc.cluster.local:5432`
|
||||
- `redis-host.trade-infra.svc.cluster.local:6379`
|
||||
7
environments/sol/trade-r001-canary/kustomization.yaml
Normal file
7
environments/sol/trade-r001-canary/kustomization.yaml
Normal file
@@ -0,0 +1,7 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
|
||||
resources:
|
||||
- namespace.yaml
|
||||
- resourcequota.yaml
|
||||
- limitrange.yaml
|
||||
20
environments/sol/trade-r001-canary/limitrange.yaml
Normal file
20
environments/sol/trade-r001-canary/limitrange.yaml
Normal file
@@ -0,0 +1,20 @@
|
||||
apiVersion: v1
|
||||
kind: LimitRange
|
||||
metadata:
|
||||
name: trade-r001-canary-defaults
|
||||
namespace: trade-r001-canary
|
||||
spec:
|
||||
limits:
|
||||
- type: Container
|
||||
min:
|
||||
cpu: 50m
|
||||
memory: 64Mi
|
||||
defaultRequest:
|
||||
cpu: 100m
|
||||
memory: 128Mi
|
||||
default:
|
||||
cpu: "1"
|
||||
memory: 1Gi
|
||||
max:
|
||||
cpu: "2"
|
||||
memory: 4Gi
|
||||
9
environments/sol/trade-r001-canary/namespace.yaml
Normal file
9
environments/sol/trade-r001-canary/namespace.yaml
Normal file
@@ -0,0 +1,9 @@
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: trade-r001-canary
|
||||
labels:
|
||||
app.kubernetes.io/name: trade-r001-canary
|
||||
app.kubernetes.io/part-of: trade
|
||||
trade.mpabi.pl/environment: canary
|
||||
trade.mpabi.pl/migration-revision: R001
|
||||
17
environments/sol/trade-r001-canary/resourcequota.yaml
Normal file
17
environments/sol/trade-r001-canary/resourcequota.yaml
Normal file
@@ -0,0 +1,17 @@
|
||||
apiVersion: v1
|
||||
kind: ResourceQuota
|
||||
metadata:
|
||||
name: trade-r001-canary-quota
|
||||
namespace: trade-r001-canary
|
||||
spec:
|
||||
hard:
|
||||
requests.cpu: "2"
|
||||
limits.cpu: "6"
|
||||
requests.memory: 4Gi
|
||||
limits.memory: 12Gi
|
||||
requests.storage: 100Gi
|
||||
persistentvolumeclaims: "4"
|
||||
pods: "20"
|
||||
services: "10"
|
||||
configmaps: "20"
|
||||
secrets: "30"
|
||||
Reference in New Issue
Block a user