feat: deploy to Frostmoln production (#391)
schemas-app / build (push) Successful in 59s
schemas-app / deploy-prod-frostmoln (push) Successful in 1m16s

Moves the production deploy from AWS to the Frostmoln production cluster (namespace `schemas`), with unboundsoftware/schemas.

- `deploy-prod` (AWS, failing since CI left AWS) → `deploy-prod-frostmoln`: `deploy prod-frostmoln -n schemas`.
- Restricted Pod Security: `nginxinc/nginx-unprivileged` (uid 101, port 8080; 1.31.7 isn't published for it yet, so 1.31.6). `nginx.conf`: no `user`, pid and temp paths under `/tmp`, `listen 8080`. Configs copied with `--chmod=644`. Service is ClusterIP.
- `autoscale-prod`/`pdb-prod` → `-prod-frostmoln`; the ALB ingress → a Traefik one for `/` on `schemas.unbound.se` (the API's `/query` ingress wins on the longer path).

Checked locally (amd64): as uid 101 with all capabilities dropped, `/health`, `/` and SPA routes 200, security headers present.

**Merge with** the schemas PR, after infra#1878 is applied.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_01Ma8eHhW59hLAJuLzBnLvUu
Reviewed-on: #391
This commit was merged in pull request #391.
This commit is contained in:
argoyle committed 2026-10-15 21:16:08 +00:00
1 parent 9e9260021b
commit b6812b9d55
8 files changed
+65 -40

No files matched your search

-18
View File
@@ -1,18 +0,0 @@
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: schemas-app
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: schemas-app
minReplicas: 2
maxReplicas: 10
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 80