Moves the production deploy from AWS to the Frostmoln production cluster (namespace schemas).
deploy-prod (AWS) has failed since CI left AWS (no k8s.unbound.se context on the runners). It's replaced by deploy-prod-frostmoln, as in unbound-site/lingonpaj-site: deploy prod-frostmoln -n schemas with the org's FROSTMOLN_PRODUCTION_DEPLOY_KEY, FROSTMOLN_PRODUCTION_CLUSTER_ID and BUILDTOOLS_FROSTMOLN_PRODUCTION.
Restricted Pod Security: the image runs as node (uid 1000) with a matching securityContext. The service only writes under /tmp (cosmo composition).
secrets.yaml (AWS ClusterSecretStore, RDS + CloudAMQP) → secrets-prod-frostmoln.yaml: the namespace's frostmoln SecretStore and the Frostmoln Secret schemas (POSTGRES_URL, AMQP_URL, API_KEY), written by infra's seed-schemas.sh. The file had no target suffix, so it applied to every target.
config-prod/pdb-prod → -prod-frostmoln; the ALB ingress → a Traefik one for /query with a Let's Encrypt certificate.
Checked locally (amd64): runs as uid 1000 with all capabilities dropped, wgc works, /tmp writable; it fails only on the (dummy) database, as expected.
Merge after infra#1878 is applied and seed-schemas.sh + migrate-schemas-db.sh have run. schemas.unbound.se keeps pointing at AWS until the cut-over.
Moves the production deploy from AWS to the Frostmoln production cluster (namespace `schemas`).
- `deploy-prod` (AWS) has failed since CI left AWS (no `k8s.unbound.se` context on the runners). It's replaced by `deploy-prod-frostmoln`, as in unbound-site/lingonpaj-site: `deploy prod-frostmoln -n schemas` with the org's `FROSTMOLN_PRODUCTION_DEPLOY_KEY`, `FROSTMOLN_PRODUCTION_CLUSTER_ID` and `BUILDTOOLS_FROSTMOLN_PRODUCTION`.
- Restricted Pod Security: the image runs as `node` (uid 1000) with a matching securityContext. The service only writes under `/tmp` (cosmo composition).
- `secrets.yaml` (AWS ClusterSecretStore, RDS + CloudAMQP) → `secrets-prod-frostmoln.yaml`: the namespace's `frostmoln` SecretStore and the Frostmoln Secret `schemas` (`POSTGRES_URL`, `AMQP_URL`, `API_KEY`), written by infra's `seed-schemas.sh`. The file had no target suffix, so it applied to every target.
- `config-prod`/`pdb-prod` → `-prod-frostmoln`; the ALB ingress → a Traefik one for `/query` with a Let's Encrypt certificate.
Checked locally (amd64): runs as uid 1000 with all capabilities dropped, `wgc` works, `/tmp` writable; it fails only on the (dummy) database, as expected.
**Merge after** infra#1878 is applied and `seed-schemas.sh` + `migrate-schemas-db.sh` have run. `schemas.unbound.se` keeps pointing at AWS until the cut-over.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
https://claude.ai/code/session_01Ma8eHhW59hLAJuLzBnLvUu
The AWS deploy-prod job has failed since CI left AWS (no k8s.unbound.se
context on the runners). Deploys now go to the Frostmoln production
cluster (namespace schemas), the way the sites do.
Frostmoln enforces restricted Pod Security: the pod runs as the image's
non-root user with a matching securityContext. The prod-only manifests
move to the prod-frostmoln target; the ALB ingress becomes a Traefik one
with a Let's Encrypt certificate.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ma8eHhW59hLAJuLzBnLvUu
argoyle
merged commit 3709a90124 into main2026-10-15 21:15:31 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Moves the production deploy from AWS to the Frostmoln production cluster (namespace
schemas).deploy-prod(AWS) has failed since CI left AWS (nok8s.unbound.secontext on the runners). It's replaced bydeploy-prod-frostmoln, as in unbound-site/lingonpaj-site:deploy prod-frostmoln -n schemaswith the org'sFROSTMOLN_PRODUCTION_DEPLOY_KEY,FROSTMOLN_PRODUCTION_CLUSTER_IDandBUILDTOOLS_FROSTMOLN_PRODUCTION.node(uid 1000) with a matching securityContext. The service only writes under/tmp(cosmo composition).secrets.yaml(AWS ClusterSecretStore, RDS + CloudAMQP) →secrets-prod-frostmoln.yaml: the namespace'sfrostmolnSecretStore and the Frostmoln Secretschemas(POSTGRES_URL,AMQP_URL,API_KEY), written by infra'sseed-schemas.sh. The file had no target suffix, so it applied to every target.config-prod/pdb-prod→-prod-frostmoln; the ALB ingress → a Traefik one for/querywith a Let's Encrypt certificate.Checked locally (amd64): runs as uid 1000 with all capabilities dropped,
wgcworks,/tmpwritable; it fails only on the (dummy) database, as expected.Merge after infra#1878 is applied and
seed-schemas.sh+migrate-schemas-db.shhave run.schemas.unbound.sekeeps pointing at AWS until the cut-over.🤖 Generated with Claude Code
https://claude.ai/code/session_01Ma8eHhW59hLAJuLzBnLvUu