32 lines
2.3 KiB
Markdown
32 lines
2.3 KiB
Markdown
|
|
# 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](Architecture.md) — design decisions, the dispatcher, runner labels & images, runner lifecycle
|
|||
|
|
- [DevOps Reference](DevOps-Reference.md) — AWS resources, webhook flow, Spot lifecycle, cleanup cron, cost, Lambda env vars
|
|||
|
|
- [Operations](Operations.md) — deploy the dispatcher, rotate tokens, build an AMI, add CI to a repo, monitoring, incidents
|
|||
|
|
- [Roadmap](Roadmap.md) — 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](Architecture.md)) |
|
|||
|
|
| **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 `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](Operations.md).
|