fix(sol): serialize canary rollouts under quota
All checks were successful
deploy-trade-r001-canary / apply (push) Successful in 6m46s
All checks were successful
deploy-trade-r001-canary / apply (push) Successful in 6m46s
This commit is contained in:
@@ -54,6 +54,7 @@ Minimal canary namespace for migration baseline `R001` on `sol`.
|
||||
before it waits for `Hasura`, `trade-api`, `trade-frontend`, `trade-ingestor`, and the DLOB hot/all-path deployments to become healthy.
|
||||
- The canary `trade-ingestor` now follows the live `R001` path on `sol`: it reads `dlob_hot_derived_latest` first for hot markets and falls back to `dlob_all_derived_latest`.
|
||||
- `api-token-seed` restores the frontend read token in `api_tokens`, so `trade-api` and `trade-frontend` can be validated against the reconstructed derived tables after each deploy.
|
||||
- Canary deployments use `RollingUpdate` with `maxSurge=0` and `maxUnavailable=1`, and the workflow restarts them sequentially, because the namespace `limits.cpu=6` guardrail does not tolerate surge-based restarts of the full surface at once.
|
||||
|
||||
## Operator Flow
|
||||
|
||||
|
||||
@@ -12,6 +12,13 @@ spec:
|
||||
- name: seed
|
||||
image: postgres:16-alpine
|
||||
imagePullPolicy: IfNotPresent
|
||||
resources:
|
||||
requests:
|
||||
cpu: 100m
|
||||
memory: 64Mi
|
||||
limits:
|
||||
cpu: 250m
|
||||
memory: 128Mi
|
||||
command:
|
||||
- sh
|
||||
- -lc
|
||||
|
||||
@@ -5,6 +5,11 @@ metadata:
|
||||
namespace: trade-r001-canary
|
||||
spec:
|
||||
replicas: 1
|
||||
strategy:
|
||||
type: RollingUpdate
|
||||
rollingUpdate:
|
||||
maxSurge: 0
|
||||
maxUnavailable: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/name: dlob-hot-postgres-to-postgres-derived-writer
|
||||
|
||||
@@ -5,6 +5,11 @@ metadata:
|
||||
namespace: trade-r001-canary
|
||||
spec:
|
||||
replicas: 1
|
||||
strategy:
|
||||
type: RollingUpdate
|
||||
rollingUpdate:
|
||||
maxSurge: 0
|
||||
maxUnavailable: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/name: dlob-hot-redis-to-postgres-raw-writer
|
||||
|
||||
@@ -5,6 +5,11 @@ metadata:
|
||||
namespace: trade-r001-canary
|
||||
spec:
|
||||
replicas: 1
|
||||
strategy:
|
||||
type: RollingUpdate
|
||||
rollingUpdate:
|
||||
maxSurge: 0
|
||||
maxUnavailable: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/name: dlob-publisher-hot
|
||||
|
||||
@@ -5,6 +5,11 @@ metadata:
|
||||
namespace: trade-r001-canary
|
||||
spec:
|
||||
replicas: 1
|
||||
strategy:
|
||||
type: RollingUpdate
|
||||
rollingUpdate:
|
||||
maxSurge: 0
|
||||
maxUnavailable: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: hasura
|
||||
|
||||
@@ -5,6 +5,11 @@ metadata:
|
||||
namespace: trade-r001-canary
|
||||
spec:
|
||||
replicas: 1
|
||||
strategy:
|
||||
type: RollingUpdate
|
||||
rollingUpdate:
|
||||
maxSurge: 0
|
||||
maxUnavailable: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/name: trade-api
|
||||
|
||||
@@ -5,6 +5,11 @@ metadata:
|
||||
namespace: trade-r001-canary
|
||||
spec:
|
||||
replicas: 1
|
||||
strategy:
|
||||
type: RollingUpdate
|
||||
rollingUpdate:
|
||||
maxSurge: 0
|
||||
maxUnavailable: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/name: trade-frontend
|
||||
|
||||
@@ -5,6 +5,11 @@ metadata:
|
||||
namespace: trade-r001-canary
|
||||
spec:
|
||||
replicas: 1
|
||||
strategy:
|
||||
type: RollingUpdate
|
||||
rollingUpdate:
|
||||
maxSurge: 0
|
||||
maxUnavailable: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/name: trade-ingestor
|
||||
|
||||
Reference in New Issue
Block a user