Files
ozan 33f967e42e docs: convert ci docs to the in-repo wiki/ standard + fix stale ECS facts
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>
2026-06-07 20:43:05 +01:00
..

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, and docs/ = 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. If tinqs/ci goes private, every workflow that does uses: 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 ~$23/month

2026-06-05 — platform moved off ECS. tinqs.com now runs as a single docker container on the standalone EC2 box tinqs-prod-gitea (behind ALB tinqs-git, image from ECR tinqs-git:latest, state on RDS tinqs-prod + local /data). The old ECS cluster tinqs-git and EFS tinqs-git-repos were retired. Any workflow that still referenced ECS (e.g. template deploy) was repointed at the EC2 host via SSM — see Operations.