OPS71 INFRA — runner self-hosted do GitHub no homeserver (job deploy do dispatch manual) + secret CURSOR_API_KEY #113

Closed
opened 2026-08-19 23:39:19 +00:00 by fsolla · 2 comments
Owner
id depends serializes priority model
OPS71-INFRA
97
P2 cursor-grok-4.5-high

Plano: docs/plans/ops71-ci-github-actions-tracker-forgejo-impl.md (cutover passo (e)) + runbook docs/ops/teqo-1313-deploy.md

Objetivo

Instalar o runner self-hosted do GitHub no homeserver (labels self-hosted + homeserver) para o job deploy do deploy.yml (dispatch manual) — o hosted (verify) nunca toca o homeserver; o self-hosted executa scripts/deploy-homeserver.sh <sha> localmente (sem SSH; outbound-only, funciona atrás do Cloudflare tunnel).

Passos (no homeserver, usuário com docker + acesso a ~/stack)

  1. Baixar o runner: https://github.com/actions/runner/releases (linux-x64, versão estável; hash SHA-256 conferido).
  2. ./config.sh --url https://github.com/fsolla/teqo --token <registration-token> --labels self-hosted,homeserver --name teqo-1313-runner --work _work
    • Registration token: POST /repos/fsolla/teqo/actions/runners/registration-token (PAT com permissão de administração no repo — o PAT do OPS71 tem).
  3. ./svc.sh install + ./svc.sh start (systemd; rodar como usuário que tem docker group + leitura de ~/stack/teqo-1313.env/~/stack/.env).
  4. Registrar em infra-solla (STATE.md) — topologia, usuário, dirs.

Verificação

Dispatch manual do deploy.yml (ref main): verify full verde → job deploy roda no runner do homeserver → log mostra set-url do workspace (origin → GitHub) → deploy/idempotência ("already deployed" num segundo dispatch do mesmo SHA).

Itens secundários

  • Secret CURSOR_API_KEY no GitHub (dormente — helper archive-cursor-agent.yml): a key não está no ambiente local (pool morto — OPS65); pedir ao usuário quando quiser reativar o helper.
  • O runner do Forgejo da workstation já foi desligado+desabilitado (2026-08-19, cutover) — religar é reversível: systemctl --user enable --now forgejo-runner (rollback documentado no runbook).

Fora de escopo

  • Não é preciso SSH: o runner roda no próprio homeserver.
  • Não mexer no stack (compose/registry/env) — o deploy-homeserver.sh já cuida.
--- id: OPS71-INFRA depends: [97] serializes: [] priority: P2 model: cursor-grok-4.5-high --- Plano: [`docs/plans/ops71-ci-github-actions-tracker-forgejo-impl.md`](docs/plans/ops71-ci-github-actions-tracker-forgejo.md) (cutover passo (e)) + runbook `docs/ops/teqo-1313-deploy.md` ## Objetivo Instalar o **runner self-hosted do GitHub no homeserver** (labels `self-hosted` + `homeserver`) para o job `deploy` do `deploy.yml` (dispatch manual) — o hosted (`verify`) nunca toca o homeserver; o self-hosted executa `scripts/deploy-homeserver.sh <sha>` **localmente** (sem SSH; outbound-only, funciona atrás do Cloudflare tunnel). ## Passos (no homeserver, usuário com docker + acesso a `~/stack`) 1. Baixar o runner: `https://github.com/actions/runner/releases` (linux-x64, versão estável; hash SHA-256 conferido). 2. `./config.sh --url https://github.com/fsolla/teqo --token <registration-token> --labels self-hosted,homeserver --name teqo-1313-runner --work _work` - Registration token: `POST /repos/fsolla/teqo/actions/runners/registration-token` (PAT com permissão de administração no repo — o PAT do OPS71 tem). 3. `./svc.sh install` + `./svc.sh start` (systemd; rodar como usuário que tem docker group + leitura de `~/stack/teqo-1313.env`/`~/stack/.env`). 4. Registrar em `infra-solla` (`STATE.md`) — topologia, usuário, dirs. ## Verificação Dispatch manual do `deploy.yml` (ref main): `verify` full verde → job `deploy` roda no runner do homeserver → log mostra `set-url` do workspace (origin → GitHub) → deploy/idempotência ("already deployed" num segundo dispatch do mesmo SHA). ## Itens secundários - **Secret `CURSOR_API_KEY` no GitHub** (dormente — helper `archive-cursor-agent.yml`): a key não está no ambiente local (pool morto — OPS65); pedir ao usuário quando quiser reativar o helper. - O runner do Forgejo da workstation já foi desligado+desabilitado (2026-08-19, cutover) — religar é reversível: `systemctl --user enable --now forgejo-runner` (rollback documentado no runbook). ## Fora de escopo - Não é preciso SSH: o runner roda no próprio homeserver. - Não mexer no stack (compose/registry/env) — o `deploy-homeserver.sh` já cuida.
fsolla added the
prio:P2
ready
labels 2026-08-19 23:39:25 +00:00
fsolla added
in-progress
and removed
ready
labels 2026-08-20 00:31:14 +00:00
Author
Owner

Claimed by agent run at 2026-08-20T00:31:14.928Z. Lock otimista: outro claim deve falhar e re-rodar pnpm agent:claim.

Claimed by agent run at 2026-08-20T00:31:14.928Z. Lock otimista: outro claim deve falhar e re-rodar `pnpm agent:claim`.
Author
Owner

Tracker migrado para o GitHub — continue em #gh768 (github.com/fsolla/teqo/issues/768). Esta Issue Forgejo está fechada.

Tracker migrado para o GitHub — continue em #gh768 (github.com/fsolla/teqo/issues/768). Esta Issue Forgejo está fechada.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference: fsolla/teqo#113
No description provided.