Adopt the team wiki convention (in-repo wiki/ folder, plain markdown) used in tinqs/studio. Convert DEVOPS.md + PLAN.md and the heavy parts of README.md into cross-linked wiki pages: Home, Architecture, DevOps-Reference, Operations, Roadmap. Root README slimmed to a repo intro pointing at wiki/. Corrects stale topology while converting: - ECS cluster tinqs-git / EFS tinqs-git-repos retired 2026-06-05; platform now the standalone EC2 box tinqs-prod-gitea (ALB tinqs-git, ECR image, RDS). - Records this session's fixes: deploy-label dry-run route, runner-name collisions, arikigame IAM bucket, and template deploy repointed ECS→EC2/SSM. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2.3 KiB
tinqs/ci — CI Toolchain
📖 This is the team wiki. Standard: the in-repo
wiki/folder is the home for team/architecture docs in every repo (distinct from.agents/= agent operating context, anddocs/= public product docs at tinqs.com/docs). Plain markdown, rendered by Gitea — no separate wiki repo, no build. Cross-link with[Title](Page-Name.md).
The CI system for Tinqs Studio: composite Gitea Actions + a Lambda dispatcher that launches ephemeral EC2 Spot runners, one per job. Status baked in — ✅ live · 🔨 built · 📋 planned. Last updated 2026-06-07.
⚠️ This repo must stay public.
act_runner(go-git) clones action repos without auth; every other tinqs repo is private. Iftinqs/cigoes private, every workflow that doesuses: tinqs/ci/...breaks.
Push → Gitea webhook → Lambda (tinqs-ci-dispatch) → EC2 Spot → act_runner → job → self-terminate
Pages
- Architecture — design decisions, the dispatcher, runner labels & images, runner lifecycle
- DevOps Reference — AWS resources, webhook flow, Spot lifecycle, cleanup cron, cost, Lambda env vars
- Operations — deploy the dispatcher, rotate tokens, build an AMI, add CI to a repo, monitoring, incidents
- Roadmap — what's done, what's next
Key facts
| Runners | Ephemeral EC2 Spot, one per job, self-terminate (--ephemeral + shutdown -h now) |
| Dispatcher | tinqs-ci-dispatch Lambda (orchestrator/dispatch/main.go), Go, provided.al2023 |
| Routing | Workflow runs-on label → Spot instance type (see Architecture) |
| Auth | GITEA_TOKEN injected into runner user-data via git config url.insteadOf |
| Region | eu-west-1 |
| Cost | ~$2–3/month |
2026-06-05 — platform moved off ECS. tinqs.com now runs as a single
dockercontainer on the standalone EC2 boxtinqs-prod-gitea(behind ALBtinqs-git, image from ECRtinqs-git:latest, state on RDStinqs-prod+ local/data). The old ECS clustertinqs-gitand EFStinqs-git-reposwere retired. Any workflow that still referenced ECS (e.g. template deploy) was repointed at the EC2 host via SSM — see Operations.