generated from coulomb/repo-seed
docs(deploy): record production gate recovery
This commit is contained in:
@@ -158,19 +158,43 @@ evidence.
|
||||
|
||||
## Database Migration
|
||||
|
||||
IHP migrations can be run from the production image when needed. Because the
|
||||
image is Nix-built and may not contain a shell, first inspect the binary path:
|
||||
The current Nix production image is intentionally minimal: image metadata for
|
||||
`6455902` points at
|
||||
`/nix/store/<hash>-inter-hub/bin/RunProdServer`, and the package contains only
|
||||
`RunProdServer` and `RunJobs`. It has no shell and no packaged migration
|
||||
runner, so schema work is performed through the CloudNativePG pod.
|
||||
|
||||
Check schema state:
|
||||
```bash
|
||||
kubectl exec -n inter-hub deploy/inter-hub -- find /nix/store -path '*inter-hub*/bin/RunProdServer'
|
||||
kubectl exec -n inter-hub deploy/inter-hub -- /nix/store/<hash>-inter-hub/bin/RunProdServer migrate
|
||||
kubectl exec -n databases net-kingdom-pg-1 -- \
|
||||
psql -d interhub -Atc "SELECT count(*) FROM information_schema.tables WHERE table_schema = 'public';"
|
||||
```
|
||||
|
||||
To check migration status:
|
||||
Initialize a blank production database from the canonical schema:
|
||||
```bash
|
||||
kubectl exec -n databases net-kingdom-pg-1 -- psql -U postgres interhub -c "\dt"
|
||||
kubectl exec -i -n databases net-kingdom-pg-1 -- \
|
||||
psql -d interhub -v ON_ERROR_STOP=1 -1 -f - < Application/Schema.sql
|
||||
|
||||
kubectl exec -i -n databases net-kingdom-pg-1 -- \
|
||||
psql -d interhub -v ON_ERROR_STOP=1 -1 -f - < Application/Migration/1744502400-seed-type-registries.sql
|
||||
|
||||
kubectl exec -i -n databases net-kingdom-pg-1 -- psql -d interhub -v ON_ERROR_STOP=1 -1 -f - <<'SQL'
|
||||
GRANT USAGE ON SCHEMA public TO interhub;
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO interhub;
|
||||
GRANT USAGE, SELECT, UPDATE ON ALL SEQUENCES IN SCHEMA public TO interhub;
|
||||
GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA public TO interhub;
|
||||
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO interhub;
|
||||
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT USAGE, SELECT, UPDATE ON SEQUENCES TO interhub;
|
||||
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT EXECUTE ON FUNCTIONS TO interhub;
|
||||
SQL
|
||||
|
||||
kubectl rollout restart deployment/inter-hub -n inter-hub
|
||||
kubectl rollout status deployment/inter-hub -n inter-hub
|
||||
```
|
||||
|
||||
Do not apply `1744416000-seed-admin-user.sql` unattended in production; it uses
|
||||
a documented default password intended for initial local deployment only.
|
||||
|
||||
## Logs
|
||||
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user