- Add infra/k8s/jobs/fxhnt-factory-cronjob.yaml: CronJob fxhnt-factory
runs `fxhnt migrate-cockpit && fxhnt factory-cycle --execute` daily at
01:00 UTC (after the 23:30 forward ingest). Mirrors fxhnt-forward exactly:
same image, imagePullSecrets, nodeSelector (platform pool), FXHNT_OPERATIONAL_DSN
literal + PGPASSWORD secretKeyRef, restartPolicy Never, concurrencyPolicy
Forbid, history limits 3/3. No PVC — factory reads/writes DB only.
- Add NetworkPolicy fxhnt-factory to infra/k8s/network-policies/fxhnt-cockpit.yaml:
egress to postgres:5432 + DNS only (no public internet). Mirrors fxhnt-dashboard.
- infra/docker/fxhnt.Dockerfile: pip install now includes factory extra
(`.[web,pg,data,factory]`) so scipy is present in the image.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>