The actively-developed f1-stream (infra files/ copy: 12 active extractors +
Playwright/chrome-service verifier) is now its own repo viktor/f1-stream and is
the deployed app (replacing the stale March github build).
- main.tf: image -> forgejo.viktorbarzin.me/viktor/f1-stream:${var.image_tag}
+ image_pull_secrets registry-credentials. Image stays in KEEL_IGNORE_IMAGE.
- Remove stacks/f1-stream/files/ (source now in viktor/f1-stream).
- docs/plans: extraction design + plan pair.
Applied via tg + kubectl set image to forgejo:24857a82; live /health green.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2 KiB
2 KiB
f1-stream extraction + productionization — plan (2026-06-04)
Companion to 2026-06-04-f1-stream-extraction-design.md.
Steps
- Scaffold
/home/wizard/code/f1-stream/frominfra/stacks/f1-stream/files/(backend/, frontend/, Dockerfile by name; add README, .gitignore). ✅ - Poetry conversion (pyproject v2.0.1,
packages=[{include="backend"}], lock, ruff/mypy/pytest config; E501 per-file-ignored on the JS/scraper modules). ✅ - 63 pytest unit tests over the pure-logic core; ruff + mypy clean. ✅
- Dockerfile: Poetry multi-stage, no bundled Chromium (CDP-only). ✅
.woodpecker.yml: lint+test → buildx push to Forgejo → kubectl set image. ✅- Create Forgejo repo
viktor/f1-stream(private), pushmaster, tagv2.0.1. ✅ - Build + push the image to the Forgejo registry (manual from devvm, since the
Woodpecker repo's config-fetch user is broken):
forgejo.viktorbarzin.me/viktor/f1-stream:24857a82+:latest. ✅ - Repoint
stacks/f1-stream/main.tf(Forgejo image +var.image_tag+image_pull_secrets);tg apply. ✅ kubectl set image deployment/f1-stream f1-stream=…:24857a82+ rollout. ▶- Remove
stacks/f1-stream/files/; add/f1-stream/to the monorepo root.gitignore. ✅ (infra side) - Verify: pod on the Forgejo image,
/health200, ingress through Anubis. ▶
Follow-ups (need Viktor / coordination)
- Re-enable
viktor/f1-streamin the Woodpecker UI (proper OAuth) so CI builds run on push (the API-registered repo has a broken config-fetch user). - Land this infra commit on
forgejo/master(CI-canonical) once the origin↔forgejo divergence is reconciled, so a futureforgejoapply doesn't revertimagePullSecrets.
Rollback
DockerHub viktorbarzin/f1-stream tags still exist:
kubectl -n f1-stream set image deployment/f1-stream f1-stream=viktorbarzin/f1-stream:06276544 + restore the main.tf image
string. The standalone repo + Forgejo image are additive.