bootstrap ircs-prod gitops config

This commit is contained in:
Prodiglagla
2026-06-14 11:46:13 +08:00
commit f83d1157b1
41 changed files with 3879 additions and 0 deletions
+22
View File
@@ -0,0 +1,22 @@
# HTTPRoute cutover runbook
Current production domains are owned by `ircs-system` routes:
- `huawai.sophia.fr.eu.org` -> `ircs-system/huawai-svc:80`
- `ircs.sophia.fr.eu.org` -> `ircs-system/ircs-frontend-svc:80`
V3 production routes are declared under `ircs-prod/edge-cutover`:
- `huawai.sophia.fr.eu.org` -> `ircs-prod/ircs-frontend-gateway:80`
- `ircs.sophia.fr.eu.org` -> `ircs-prod/ircs-frontend-gateway:8080`
Cutover order:
1. Confirm `ircs-prod` pods are Ready.
2. Confirm cluster-internal portal/admin smoke is healthy.
3. Disable automated sync on old `argocd/ircs-app` so it does not recreate old routes.
4. Apply edge routes and delete old `ircs-system` business routes.
5. Verify Envoy Gateway accepts the new routes.
6. Verify external domains through the NLB/Cloudflare path.
Use `scripts/cutover-httproute.ps1 -Execute` from this repo root when ready.
+20
View File
@@ -0,0 +1,20 @@
# ircs-system to ircs-prod compatible data migration
Goal: migrate old `ircs-system` business data into V3 `ircs-prod` while allowing incompatible runtime tables to be discarded.
Required order:
1. Back up old `ircs-system` PostgreSQL.
2. Prepare `ircs-prod` secrets with `scripts/prepare-prod-secrets.ps1`.
3. Sync `ircs-prod-core` and wait for PostgreSQL, RabbitMQ, Valkey, Elasticsearch, services, and migrator.
4. Run `scripts/migrate-compatible-data.ps1` once without `-Execute` to compare table presence.
5. Run `scripts/migrate-compatible-data.ps1 -Execute -TruncateTarget` only when `ircs-prod` has no valuable data.
6. Rebuild search/index derived state through V3 ops runners after migration.
Migration policy:
- Copy compatible V1 business tables only.
- Do not copy `databasechangelog` or `databasechangeloglock`.
- Do not copy V3 derived audit/outbox/maintenance tables.
- If a table or column becomes incompatible, prefer explicit table-level skip plus a written note over silent lossy conversion.
- Existing R2 bucket remains `ircs` so historical media URLs stay valid.