docs(plan): close canary publisher and ingestor migration
This commit is contained in:
@@ -348,7 +348,7 @@ Date: `2026-04-12`
|
|||||||
|
|
||||||
### 22. Migrate publishers and ingest only after storage and Redis validation pass
|
### 22. Migrate publishers and ingest only after storage and Redis validation pass
|
||||||
|
|
||||||
- In progress.
|
- Done on `2026-04-12`.
|
||||||
- Substep A is now in place on `sol`: deploy `trade-ingestor` first in a schema-compatible canary mode and verify its secret wiring, rollout behavior, and Hasura connectivity.
|
- Substep A is now in place on `sol`: deploy `trade-ingestor` first in a schema-compatible canary mode and verify its secret wiring, rollout behavior, and Hasura connectivity.
|
||||||
- Substep B is now functionally in place on `sol`: the live `R001` DLOB hot-path and all-path writer chains and the `dlob_hot_*` plus `dlob_all_*` tables are reconstructed first, and the remaining step is to switch the canary ingestor from `dlob_stats_latest` to the exact live derived query path.
|
- Substep B is now functionally in place on `sol`: the live `R001` DLOB hot-path and all-path writer chains and the `dlob_hot_*` plus `dlob_all_*` tables are reconstructed first, and the remaining step is to switch the canary ingestor from `dlob_stats_latest` to the exact live derived query path.
|
||||||
- Done on `2026-04-12`: extended `trade-next/trade-gitops` canary environment with `trade-ingestor`, synced `trade-ingestor-tokens`, and added `trade-ingestor` rollout checks to the `deploy-trade-r001-canary` workflow.
|
- Done on `2026-04-12`: extended `trade-next/trade-gitops` canary environment with `trade-ingestor`, synced `trade-ingestor-tokens`, and added `trade-ingestor` rollout checks to the `deploy-trade-r001-canary` workflow.
|
||||||
@@ -363,12 +363,14 @@ Date: `2026-04-12`
|
|||||||
- Done on `2026-04-12`: added `dlob-publisher-all` and `dlob-all-redis-to-postgres-derived-writer` to `trade-r001-canary` in GitOps and validated that both deployments reached `Available` on `sol`.
|
- Done on `2026-04-12`: added `dlob-publisher-all` and `dlob-all-redis-to-postgres-derived-writer` to `trade-r001-canary` in GitOps and validated that both deployments reached `Available` on `sol`.
|
||||||
- Done on `2026-04-12`: tuned the new `dlob-publisher-all` and `dlob-all-redis-to-postgres-derived-writer` manifests to fit the namespace guardrails by setting `limits.cpu=500m` and `RollingUpdate` with `maxSurge=0`, `maxUnavailable=1`, which removed the `ResourceQuota` rollout deadlock at `limits.cpu=6`.
|
- Done on `2026-04-12`: tuned the new `dlob-publisher-all` and `dlob-all-redis-to-postgres-derived-writer` manifests to fit the namespace guardrails by setting `limits.cpu=500m` and `RollingUpdate` with `maxSurge=0`, `maxUnavailable=1`, which removed the `ResourceQuota` rollout deadlock at `limits.cpu=6`.
|
||||||
- Done on `2026-04-12`: manually validated the DLOB all-path on `sol`; `dlob_all_derived_latest` and `dlob_all_derived_ts` were populated and the new publisher and writer stayed healthy after rollout.
|
- Done on `2026-04-12`: manually validated the DLOB all-path on `sol`; `dlob_all_derived_latest` and `dlob_all_derived_ts` were populated and the new publisher and writer stayed healthy after rollout.
|
||||||
- Remaining on `2026-04-12`: switch `trade-ingestor` from `dlob_stats_ticks` to the exact live derived query path and validate API and UI behavior against `dlob_hot_derived_latest` plus `dlob_all_derived_latest`.
|
- Done on `2026-04-12`: switched the canary `trade-ingestor` to the exact live derived query path; after rollout on `sol`, fresh `drift_ticks` rows showed `raw.from = dlob_hot_derived_latest` for `SOL-PERP` and `raw.from = dlob_all_derived_latest` for `PUMP-PERP`.
|
||||||
|
- Done on `2026-04-12`: added `api-token-seed` bootstrap logic for `trade-frontend-tokens/read.json`, which inserted the matching hash into `api_tokens` on `sol` and fixed `trade-api` auth for the frontend read token.
|
||||||
|
- Done on `2026-04-12`: validated the application surface against the reconstructed derived tables; `trade-api /v1/ticks` returned fresh `SOL-PERP` and `PUMP-PERP` ticks, `trade-api /v1/chart` returned `SOL-PERP` candles, and `trade-frontend` returned `200`.
|
||||||
|
|
||||||
### 23. Validate host health, agave health, trade health, and end-to-end flow after rollout
|
### 23. Validate host health, agave health, trade health, and end-to-end flow after rollout
|
||||||
|
|
||||||
- Pending.
|
- In progress.
|
||||||
- Initial validation on `2026-04-12`: after the DLOB hot-path rollout, sampled Agave slot lag on `sol` at `0` versus `https://api.mainnet-beta.solana.com`, with local health still reporting `ok`.
|
- Initial validation on `2026-04-12`: after the DLOB hot/all-path rollout, sampled Agave slot lag on `sol` at `0` versus `https://api.mainnet-beta.solana.com`, with local health still reporting `ok`.
|
||||||
|
|
||||||
### 24. Keep `mevnode_bot` as a rollback target until the new stack is stable
|
### 24. Keep `mevnode_bot` as a rollback target until the new stack is stable
|
||||||
|
|
||||||
@@ -380,7 +382,7 @@ Date: `2026-04-12`
|
|||||||
- [ ] 02. Reconstruct the current live `mevnode_bot` and `trade-staging` state into canonical Git/IaC in a new Gitea organization.
|
- [ ] 02. Reconstruct the current live `mevnode_bot` and `trade-staging` state into canonical Git/IaC in a new Gitea organization.
|
||||||
- [x] 03. Fix `dlob-publisher-hot` startup, readiness, and liveness.
|
- [x] 03. Fix `dlob-publisher-hot` startup, readiness, and liveness.
|
||||||
- [x] 04. Fix `dlob-publisher-all` startup, readiness, and liveness.
|
- [x] 04. Fix `dlob-publisher-all` startup, readiness, and liveness.
|
||||||
- [ ] 05. Confirm whether trade Redis is meant to run as a single instance or as Redis Cluster.
|
- [x] 05. Confirm whether trade Redis is meant to run as a single instance or as Redis Cluster.
|
||||||
- [ ] 06. Align publisher Redis client mode with the actual deployed Redis topology.
|
- [ ] 06. Align publisher Redis client mode with the actual deployed Redis topology.
|
||||||
- [ ] 07. Restore or recreate the missing `gitea-registry` image pull secret.
|
- [ ] 07. Restore or recreate the missing `gitea-registry` image pull secret.
|
||||||
- [ ] 08. Verify that image pulls work after node reboot and on a cold start.
|
- [ ] 08. Verify that image pulls work after node reboot and on a cold start.
|
||||||
|
|||||||
Reference in New Issue
Block a user