Commit Graph

7 Commits

Author SHA1 Message Date
ozan 004f18a176 fix: 40GB disk for docker Spot instances (monorepo + Docker layers) 2026-05-23 15:24:48 +01:00
ozan 84d0ebff48 fix: dnf support in setup-node + setup-aws, node label t3.medium
- setup-node: detect dnf (Amazon Linux) alongside apk/apt-get
- setup-aws: detect dnf for official installer
- node Spot bumped to t3.medium (4GB) — Docusaurus OOM'd on t3.small
2026-05-23 12:37:25 +01:00
ozan 29957c6239 fix: runner env vars — HOME, AWS_DEFAULT_REGION, PATH in runner config
Ensures act_runner passes correct environment to job steps
so AWS CLI can find IMDS credentials and Go/Node are on PATH.
2026-05-23 12:04:00 +01:00
ozan e728a8d819 fix: separate runner token from API token, proper workdir
- RUNNER_TOKEN env for act_runner registration (separate from GITEA_TOKEN)
- Create /opt/runner/work as workdir_parent (fixes .cache path error)
- Runner config via .runner.yaml with explicit workdir
- IMDSv2 for instance metadata
- PATH includes /usr/local/go/bin
2026-05-22 20:22:55 +01:00
ozan 69d04b9ea7 fix: bump Spot bid prices (eu-west-1 minimums higher than expected) 2026-05-22 20:05:10 +01:00
ozan 5f676dfb6b feat: switch orchestrator from Fargate to EC2 Spot
Dispatcher now launches Spot instances instead of Fargate tasks:
- t3.small for go/node builds ($0.005/hr)
- t3.medium for docker/godot builds ($0.01/hr)
- t3.micro for deploy jobs ($0.004/hr)

Instances self-terminate via user-data trap on exit.
Cancel: ec2:TerminateInstances instead of ecs:StopTask.
Cleanup cron also sweeps orphan instances by tinqs-ci tag.

Pre-baked AMI with act_runner + tools = instant boot, no install.
2026-05-22 19:24:33 +01:00
ozan e96c7c5bf1 feat: CI orchestrator — Lambda dispatch + Fargate routing + cancel
dispatch: receives Gitea webhook, routes by runs-on label to Fargate
  tasks (go/node/docker/godot) or Lambda executor (deploy).
  Path filter evaluation, DynamoDB run tracking, cancel via StopTask.
exec: lightweight Lambda for deploy-only jobs (S3 sync, ECS update).
SAM template: API Gateway + 2 Lambdas + DynamoDB + cleanup cron.
2026-05-22 18:47:47 +01:00