2.9 KiB
2.9 KiB
sol cutover checklist
Date: 2026-04-12
Goal
Finalize public cutover of the reconstructed R001 trade
surface from mevnode_bot to sol.
Already running on sol
agave-validator- host
Postgres - host
Redis Hasuratrade-apitrade-frontendtrade-ingestordlob-publisher-hotdlob-publisher-alldlob-hot-redis-to-postgres-raw-writerdlob-hot-postgres-to-postgres-derived-writerdlob-all-redis-to-postgres-derived-writer
Public cutover steps
- Sync org secret
SOL_SSH_PRIVATE_KEY_B64fortrade-next. - Open
80/tcpand443/tcponsolfrom thetrade-nextpublic-edge workflow. - Apply
trade-next/trade-gitops/environments/sol/public-edge. - Verify
Traefikis listening on80and443. - Verify
cert-managerandClusterIssuer/letsencrypt-prodareReady. - Change authoritative DNS record
trade.mpabi.pl A 149.50.96.162. - Wait for
Certificate/trade-mpabi-pl-tlsto becomeReady=True. - Verify
https://trade.mpabi.pl/healthz. - Verify
https://trade.mpabi.pl/login and UI load. - Re-run canary smoke check after DNS/TLS cutover.
Current status
- Done on
2026-04-12 20:16 CEST: publicHTTPon149.50.96.162:80returns301tohttps://trade.mpabi.pl/.... - Done on
2026-04-12 20:16 CEST:https://trade.mpabi.pl/healthzanswers200when forced to149.50.96.162withcurl --resolve, currently using the default Traefik certificate before Let's Encrypt issuance completes. - Remaining blocker for production TLS: the authoritative
trade.mpabi.plArecord still points away from149.50.96.162, so the ACMEHTTP-01challenge remains pending.
What still lived only on
mevnode_bot
- old
trade-stagingnamespace and its historical runtime state - old DNS destination behind
trade.mpabi.plbefore the record is repointed - old rollback source for secrets and manifests before the
solsnapshot/offline bootstrap path was created
What is no longer
dependent on mevnode_bot
trade-r001-canaryruntime onsol- canary secret resync, because
solnow has a local secret snapshot at$HOME/.local/share/trade-bootstrap/sol/trade-r001-canary-secrets - host
Postgresbootstrap onsol, because it can now readtrade-postgres.jsonfrom the local snapshot
Open risk
- I could not confirm the final live-vs-live diff on
mevnode_botimmediately before shutdown because the host stopped answering over SSH during the last checks. - Because of that, the checklist above is authoritative for the
reconstructed
R001onsol, but not a forensic inventory of every leftover object on the old host. - The
trade-nextworkflow definitions are committed and current, but the latestdeploy-sol-public-edgetrigger did not materialize a fresh Gitea Actions run after the workflow update, so the live cluster state above was applied from the same committed manifests outside the runner path.