Deploy gitea-act-runner via Flux #3

Open
opened 2026-05-18 21:20:04 +00:00 by 0xWheatyz · 33 comments
Owner

Phase 0 blocker. Gitea Actions in our org will not execute until a runner is registered.

Approach

Use the gitea-act-runner Helm chart. Deploy via Flux HelmRelease at flux/gitea-runner/helmrelease.yaml. Register runner with org scope = leeworks-agents.

Acceptance

  • Runner shows online in Gitea admin → Actions → Runners
  • A no-op workflow on this repo executes successfully
Phase 0 blocker. Gitea Actions in our org will not execute until a runner is registered. ### Approach Use the `gitea-act-runner` Helm chart. Deploy via Flux HelmRelease at `flux/gitea-runner/helmrelease.yaml`. Register runner with org scope = `leeworks-agents`. ### Acceptance - Runner shows online in Gitea admin → Actions → Runners - A no-op workflow on this repo executes successfully
0xWheatyz added the roadmapphase-0 labels 2026-05-18 21:20:04 +00:00
AI-Manager added the P1agent-readymedium labels 2026-05-19 00:27:47 +00:00
AI-Engineer was assigned by AI-Manager 2026-05-19 05:05:09 +00:00
Owner

Triage by @AI-Manager: Assigned to @AI-Engineer. Delegating to @devops agent.

This is a FluxCD deployment task (Helm chart for gitea-act-runner). Phase 0 blocker -- this must be completed before CI pipelines (#10) can run.

Priority: HIGH (blocks #10 and downstream CI work).

**Triage by @AI-Manager**: Assigned to @AI-Engineer. Delegating to @devops agent. This is a FluxCD deployment task (Helm chart for gitea-act-runner). Phase 0 blocker -- this must be completed before CI pipelines (#10) can run. Priority: HIGH (blocks #10 and downstream CI work).
Owner

[Repo Manager Triage]

Priority: P1 (Phase 0 blocker)
Delegated to: @devops
Reason: Deploy gitea-act-runner via Flux HelmRelease. Phase 0 blocker for all CI pipelines. FluxCD deployment operation.

This issue has been triaged and is ready for the assigned agent to pick up.

**[Repo Manager Triage]** Priority: P1 (Phase 0 blocker) Delegated to: @devops Reason: Deploy gitea-act-runner via Flux HelmRelease. Phase 0 blocker for all CI pipelines. FluxCD deployment operation. This issue has been triaged and is ready for the assigned agent to pick up.
Owner

Implemented in PR #20 (merged)

flux/gitea-runner/ is now on main with:

  • helmrepository.yaml — gitea-charts (dl.gitea.com/charts)
  • helmrelease.yaml — gitea-act-runner HelmRelease
    • Org-scope registration (leeworks-agents)
    • Labels: ubuntu-latest + ubuntu-22.04 mapped to node:20-bookworm docker image
    • DinD (Docker-in-Docker) enabled for building container images
    • Reads registration token from Secret 'gitea-runner-token' in gitea-runner namespace
  • namespace.yaml — gitea-runner namespace

Human operator action required:

  1. Get runner registration token: Gitea admin → Actions → Runners → Create new runner
  2. kubectl create secret generic gitea-runner-token --from-literal=token= -n gitea-runner
  3. Once Flux watches this repo (#2), the runner will auto-deploy

Verify: Gitea admin → Actions → Runners should show runner as Online.

✅ **Implemented in PR #20 (merged)** flux/gitea-runner/ is now on main with: - helmrepository.yaml — gitea-charts (dl.gitea.com/charts) - helmrelease.yaml — gitea-act-runner HelmRelease - Org-scope registration (leeworks-agents) - Labels: ubuntu-latest + ubuntu-22.04 mapped to node:20-bookworm docker image - DinD (Docker-in-Docker) enabled for building container images - Reads registration token from Secret 'gitea-runner-token' in gitea-runner namespace - namespace.yaml — gitea-runner namespace **Human operator action required:** 1. Get runner registration token: Gitea admin → Actions → Runners → Create new runner 2. kubectl create secret generic gitea-runner-token --from-literal=token=<TOKEN> -n gitea-runner 3. Once Flux watches this repo (#2), the runner will auto-deploy Verify: Gitea admin → Actions → Runners should show runner as Online.
Owner

📋 Agent cycle 2026-05-25 — @devops status update

Current state: Gitea act-runner Flux manifests committed at flux/gitea-runner/:

  • namespace.yaml — gitea-runner namespace
  • helmrepository.yaml — gitea-charts (dl.gitea.com/charts)
  • helmrelease.yaml — gitea-act-runner HelmRelease (org-scope for leeworks-agents, DinD enabled, ubuntu-latest/22.04 labels)
  • kustomization.yaml

Blocked by:

  1. Issue #2 (Flux wiring) — api-company must be watched by Flux before this HelmRelease reconciles
  2. Secret: kubectl create secret generic gitea-runner-token --from-literal=token=<TOKEN> -n gitea-runner (get token from Gitea Admin → Actions → Runners → New Runner)

Once both are in place, the runner will auto-deploy and appear Online in Gitea Admin → Actions → Runners.

📋 **Agent cycle 2026-05-25 — @devops status update** **Current state:** Gitea act-runner Flux manifests committed at `flux/gitea-runner/`: - `namespace.yaml` — gitea-runner namespace - `helmrepository.yaml` — gitea-charts (dl.gitea.com/charts) - `helmrelease.yaml` — gitea-act-runner HelmRelease (org-scope for leeworks-agents, DinD enabled, ubuntu-latest/22.04 labels) - `kustomization.yaml` **Blocked by:** 1. Issue #2 (Flux wiring) — api-company must be watched by Flux before this HelmRelease reconciles 2. Secret: `kubectl create secret generic gitea-runner-token --from-literal=token=<TOKEN> -n gitea-runner` (get token from Gitea Admin → Actions → Runners → New Runner) Once both are in place, the runner will auto-deploy and appear Online in Gitea Admin → Actions → Runners.
Owner

Staged — @devops (pending human operator action)

Gitea act-runner HelmRelease is committed at flux/gitea-runner/helmrelease.yaml (gitea-act-runner Helm chart).

Blocked on:

  1. Issue #2 — Flux wiring must be active so Flux reconciles flux/gitea-runner/
  2. Human operator: Generate a runner registration token in Gitea Admin → Actions → Runners → New Runner, then create the secret:
    kubectl create secret generic gitea-runner-token \
      --from-literal=token=<RUNNER_TOKEN> \
      -n gitea-runner
    

Once the runner is registered and online, all Gitea Actions CI pipelines (docs-build, API CI) will be executable.

⏳ **Staged — @devops** (pending human operator action) Gitea act-runner HelmRelease is committed at `flux/gitea-runner/helmrelease.yaml` (gitea-act-runner Helm chart). **Blocked on:** 1. Issue #2 — Flux wiring must be active so Flux reconciles `flux/gitea-runner/` 2. **Human operator:** Generate a runner registration token in Gitea Admin → Actions → Runners → New Runner, then create the secret: ```bash kubectl create secret generic gitea-runner-token \ --from-literal=token=<RUNNER_TOKEN> \ -n gitea-runner ``` Once the runner is registered and online, all Gitea Actions CI pipelines (docs-build, API CI) will be executable.
Owner

Status (2026-05-26 agent cycle): Gitea Act Runner Flux HelmRelease is committed at flux/gitea-runner/ (namespace, helmrepository, helmrelease, kustomization — gitea-act-runner chart, org scope leeworks-agents). kustomize build flux/ passes. Remaining blockers (human operator): (1) Add api-company GitRepository+Kustomization to 0xWheatyz/Talos (issue #2) so Flux can deploy it. (2) Create gitea-runner-token Secret in gitea-runner namespace — get token from Gitea Admin → Actions → Runners → New Runner. Once deployed, all Gitea Actions workflows will execute.

**Status (2026-05-26 agent cycle):** Gitea Act Runner Flux HelmRelease is committed at `flux/gitea-runner/` (namespace, helmrepository, helmrelease, kustomization — gitea-act-runner chart, org scope `leeworks-agents`). `kustomize build flux/` passes. **Remaining blockers (human operator):** (1) Add api-company GitRepository+Kustomization to `0xWheatyz/Talos` (issue #2) so Flux can deploy it. (2) Create `gitea-runner-token` Secret in `gitea-runner` namespace — get token from Gitea Admin → Actions → Runners → New Runner. Once deployed, all Gitea Actions workflows will execute.
Owner

2026-05-26 agent cycle review: Flux HelmRelease committed at flux/gitea-runner/helmrelease.yaml using gitea-act-runner chart, with namespace and kustomization. Manifests validate with kustomize build. Blocked on: (1) issue #2 Flux wiring must be activated first (operator must merge Talos PR), (2) operator must create gitea-runner-token secret in gitea-runner namespace (obtain from Gitea Admin → Actions → Runners → Create New Runner).

**2026-05-26 agent cycle review:** Flux HelmRelease committed at flux/gitea-runner/helmrelease.yaml using gitea-act-runner chart, with namespace and kustomization. Manifests validate with kustomize build. Blocked on: (1) issue #2 Flux wiring must be activated first (operator must merge Talos PR), (2) operator must create gitea-runner-token secret in gitea-runner namespace (obtain from Gitea Admin → Actions → Runners → Create New Runner).
AI-Manager added the blocked label 2026-05-26 10:24:42 +00:00
Owner

2026-05-27 triage cycle — Blocked on operator providing the Gitea runner token secret and Flux wiring in 0xWheatyz/Talos. Flux HelmRelease committed at flux/gitea-runner/. No additional agent work until those prerequisites are met.

**2026-05-27 triage cycle** — Blocked on operator providing the Gitea runner token secret and Flux wiring in 0xWheatyz/Talos. Flux HelmRelease committed at `flux/gitea-runner/`. No additional agent work until those prerequisites are met.
Owner

Blocked on operator secret — The gitea-act-runner Helm chart is committed in flux/gitea-runner/. Deployment requires the gitea-runner-token secret to be created in the gitea-runner namespace by the operator. Without Flux GitRepository (#2) reconciling, the HelmRelease can't land either. Both blockers (#47, #2) must be resolved first.

⏳ **Blocked on operator secret** — The `gitea-act-runner` Helm chart is committed in `flux/gitea-runner/`. Deployment requires the `gitea-runner-token` secret to be created in the `gitea-runner` namespace by the operator. Without Flux GitRepository (#2) reconciling, the HelmRelease can't land either. Both blockers (#47, #2) must be resolved first.
Owner

@devops — Triaged. Gitea Act Runner deploy. Status: blocked on #77 (gitea-runner-token secret — operator task), #76 (Flux active), and #2 (Talos PR merged). The act-runner HelmRelease is committed in flux/gitea-runner/. Will auto-reconcile once Flux is active and the runner token secret is created.

**@devops** — Triaged. Gitea Act Runner deploy. Status: **blocked** on #77 (gitea-runner-token secret — operator task), #76 (Flux active), and #2 (Talos PR merged). The act-runner HelmRelease is committed in `flux/gitea-runner/`. Will auto-reconcile once Flux is active and the runner token secret is created.
Owner

[@devops/@senior-developer] Reviewed 2026-05-30: This is a manual operator task or is blocked on external prerequisites (see issue body). No agent action possible at this time. Monitoring for unblock signals each cycle.

[@devops/@senior-developer] Reviewed 2026-05-30: This is a manual operator task or is blocked on external prerequisites (see issue body). No agent action possible at this time. Monitoring for unblock signals each cycle.
Owner

@devops 🔴 Blocked — depends on #76 (Flux active) and #77 (gitea-runner-token). Flux HelmRelease committed at flux/gitea-runner/. Operator needs to create gitea-runner-token secret.

@devops 🔴 Blocked — depends on #76 (Flux active) and #77 (gitea-runner-token). Flux HelmRelease committed at flux/gitea-runner/. Operator needs to create gitea-runner-token secret.
Owner

@devops / @operator-required — 2026-06-01 triage. This issue remains blocked on operator actions that the agent cannot perform directly (Kubernetes secrets, Gitea admin, DNS, RapidAPI account, etc.). No agent-actionable work available until prerequisites from the Critical Path are completed. See STATUS.md Current Blockers section for the ordered dependency list.

@devops / @operator-required — 2026-06-01 triage. This issue remains blocked on operator actions that the agent cannot perform directly (Kubernetes secrets, Gitea admin, DNS, RapidAPI account, etc.). No agent-actionable work available until prerequisites from the Critical Path are completed. See STATUS.md Current Blockers section for the ordered dependency list.
Owner

Triage 2026-06-02 — Gitea Act Runner deploy task. Flux manifest committed at flux/gitea-runner/ . Blocked on gitea-runner-token secret (#77) and Flux wiring (#2). Waiting on operator.

**Triage 2026-06-02** — Gitea Act Runner deploy task. Flux manifest committed at flux/gitea-runner/ ✅. Blocked on gitea-runner-token secret (#77) and Flux wiring (#2). Waiting on operator.
Owner

@devops/@security-reviewer — Triage 2026-06-02: Status confirmed. This issue remains open and blocked on operator or external prerequisites. No agent-actionable code changes possible this cycle. Critical path tracked in STATUS.md Current Blockers. No regressions: kustomize build flux/ = PASS.

@devops/@security-reviewer — Triage 2026-06-02: Status confirmed. This issue remains open and blocked on operator or external prerequisites. No agent-actionable code changes possible this cycle. Critical path tracked in STATUS.md Current Blockers. No regressions: `kustomize build flux/` = PASS.
Owner

2026-06-04 sprint triage (@devops): No change since last triage (2026-06-02). This issue remains blocked on operator prerequisites (Flux activation via #47 + #187, and/or other manual operator tasks). No agent action possible at this time. Full blockers list in STATUS.md.

**2026-06-04 sprint triage (@devops):** No change since last triage (2026-06-02). This issue remains blocked on operator prerequisites (Flux activation via #47 + #187, and/or other manual operator tasks). No agent action possible at this time. Full blockers list in STATUS.md.
Owner

Status check 2026-06-04 — @devops

gitea-act-runner HelmRelease committed at flux/gitea-runner/helmrelease.yaml. Blocked on Flux active (#2, #187) and gitea-runner-token secret (#77). No agent action.

**Status check 2026-06-04** — @devops gitea-act-runner HelmRelease committed at `flux/gitea-runner/helmrelease.yaml`. Blocked on Flux active (#2, #187) and `gitea-runner-token` secret (#77). No agent action.
Owner

2026-06-05 Triage

Status: BLOCKED/PENDING (as of 2026-06-05) — No change from prior cycle. All agent-ready conditions are unmet pending operator completion of critical-path items: (1) create 0xWheatyz/api-company (#47), (2) merge upstream Talos PR #14 (#187) to activate Flux, (3) configure DNS (#33, #106, #150). See STATUS.md for full ordered blocker list. No agent action available today.

## 2026-06-05 Triage **Status: BLOCKED/PENDING** (as of 2026-06-05) — No change from prior cycle. All agent-ready conditions are unmet pending operator completion of critical-path items: (1) create `0xWheatyz/api-company` (#47), (2) merge upstream Talos PR #14 (#187) to activate Flux, (3) configure DNS (#33, #106, #150). See STATUS.md for full ordered blocker list. No agent action available today.
Owner

@devops/@tech-writer status check (2026-06-05): This is a manual operator task — the agent cannot create Kubernetes secrets, Gitea Actions secrets, RapidAPI listings, DNS records, or social media posts. Issue remains open awaiting operator action. All prerequisites tracked in the issue body. No agent-side code changes required at this time.

@devops/@tech-writer status check (2026-06-05): This is a **manual operator task** — the agent cannot create Kubernetes secrets, Gitea Actions secrets, RapidAPI listings, DNS records, or social media posts. Issue remains open awaiting operator action. All prerequisites tracked in the issue body. No agent-side code changes required at this time.
Owner

2026-06-05 triage — Status unchanged. This issue remains blocked on operator actions or upstream dependencies. Critical path: operator must (1) create 0xWheatyz/api-company (#47), (2) merge upstream Talos PR #14 (#187) to activate Flux, (3) configure DNS (#33/#106/#150). No agent-actionable items beyond what is already committed. kustomize build flux/ = PASS .

**2026-06-05 triage** — Status unchanged. This issue remains blocked on operator actions or upstream dependencies. Critical path: operator must (1) create `0xWheatyz/api-company` (#47), (2) merge upstream Talos PR #14 (#187) to activate Flux, (3) configure DNS (#33/#106/#150). No agent-actionable items beyond what is already committed. `kustomize build flux/` = PASS ✅.
Owner

@devops triage 2026-06-06: gitea-act-runner deployment blocked on Flux activation (#218), gitea-runner-token secret (#77), and upstream repo (#47). Flux HelmRelease at flux/gitea-runner/helmrelease.yaml is committed. No agent action possible until cluster is live and operator provides runner token.

**@devops triage 2026-06-06:** gitea-act-runner deployment blocked on Flux activation (#218), `gitea-runner-token` secret (#77), and upstream repo (#47). Flux HelmRelease at `flux/gitea-runner/helmrelease.yaml` is committed. No agent action possible until cluster is live and operator provides runner token.
Owner

🔍 Triage review 2026-06-06 — Operator task or blocked on upstream operator actions. No agent-implementable change available this cycle. Root critical-path blocker: operator merge of 0xWheatyz/Talos PR #14 to activate Flux GitOps for api-company.

🔍 **Triage review 2026-06-06** — Operator task or blocked on upstream operator actions. No agent-implementable change available this cycle. Root critical-path blocker: operator merge of 0xWheatyz/Talos PR #14 to activate Flux GitOps for api-company.
Owner

@devops — Triage 2026-06-07: gitea-act-runner deploy blocked on #218 (Flux active) and #77 (gitea-runner-token secret). Flux manifest at flux/gitea-runner/ committed; kustomize build flux/ = PASS. Status unchanged.

@devops — Triage 2026-06-07: gitea-act-runner deploy blocked on #218 (Flux active) and #77 (gitea-runner-token secret). Flux manifest at `flux/gitea-runner/` committed; `kustomize build flux/` = PASS. Status unchanged.
Owner

@devops / @qa-engineer triage — 2026-06-07

Status: BLOCKED — awaiting operator action

This issue remains blocked on the same critical-path operator prerequisites:

  1. #47 — Create 0xWheatyz/api-company upstream repo (highest priority)
  2. #218 — Operator merge 0xWheatyz/Talos PR #14 to activate Flux

All agent-side implementation work for this issue is complete. No agent action possible until cluster is live.

kustomize build flux/ = PASS — no manifest regressions.

## @devops / @qa-engineer triage — 2026-06-07 **Status: BLOCKED — awaiting operator action** This issue remains blocked on the same critical-path operator prerequisites: 1. **#47** — Create `0xWheatyz/api-company` upstream repo (highest priority) 2. **#218** — Operator merge `0xWheatyz/Talos` PR #14 to activate Flux All agent-side implementation work for this issue is complete. No agent action possible until cluster is live. **`kustomize build flux/` = PASS** — no manifest regressions.
Owner

@devops triage (2026-06-08 — Cycle #233): Status unchanged — BLOCKED pending operator completing critical-path tasks: (1) create 0xWheatyz/api-company repo (#47), (2) merge 0xWheatyz/Talos PR #14 to activate Flux (#218), (3) configure DNS for all 8 subdomains (#33/#106/#150). All agent-side manifests committed; kustomize build flux/ passes. Awaiting operator action.

**@devops triage (2026-06-08 — Cycle #233):** Status unchanged — BLOCKED pending operator completing critical-path tasks: (1) create `0xWheatyz/api-company` repo (#47), (2) merge `0xWheatyz/Talos` PR #14 to activate Flux (#218), (3) configure DNS for all 8 subdomains (#33/#106/#150). All agent-side manifests committed; `kustomize build flux/` passes. Awaiting operator action.
Owner

@devops / @qa-engineer triage (2026-06-08, cycle #237): This is a manual operator task — no agent-side work is possible. All manifests and code are committed. This issue remains BLOCKED awaiting the operator to complete the listed steps. Critical path: (1) create 0xWheatyz/api-company (#47), (2) merge 0xWheatyz/Talos PR #14 (#218), (3) configure DNS (#33, #106, #150). kustomize build flux/ = PASS.

@devops / @qa-engineer triage (2026-06-08, cycle #237): This is a **manual operator task** — no agent-side work is possible. All manifests and code are committed. This issue remains BLOCKED awaiting the operator to complete the listed steps. Critical path: (1) create `0xWheatyz/api-company` (#47), (2) merge `0xWheatyz/Talos` PR #14 (#218), (3) configure DNS (#33, #106, #150). `kustomize build flux/` = PASS.
Owner

@devops triage 2026-06-08 (cycle #240):

Status: BLOCKED — depends on Flux activation (#218) and runner token secret (#77)

gitea-act-runner HelmRelease committed at flux/gitea-runner/helmrelease.yaml. Cannot activate until:

  • Flux is active (#218 open — Talos PR #14 not merged)
  • gitea-runner-token secret created (#77 open)
  • 0xWheatyz/api-company exists (#47 open)

No agent action possible this cycle.

@devops triage 2026-06-08 (cycle #240): **Status: BLOCKED — depends on Flux activation (#218) and runner token secret (#77)** gitea-act-runner HelmRelease committed at `flux/gitea-runner/helmrelease.yaml`. Cannot activate until: - Flux is active (#218 open — Talos PR #14 not merged) - `gitea-runner-token` secret created (#77 open) - `0xWheatyz/api-company` exists (#47 open) No agent action possible this cycle.
Owner

@devops review 2026-06-08 (cycle #241): Status unchanged — BLOCKED on operator actions (Talos PR #14 merge → #218, upstream repo creation → #47). kustomize build flux/ PASS. No open PRs. No agent-side work outstanding this cycle.

@devops review 2026-06-08 (cycle #241): Status unchanged — BLOCKED on operator actions (Talos PR #14 merge → #218, upstream repo creation → #47). `kustomize build flux/` ✅ PASS. No open PRs. No agent-side work outstanding this cycle.
Owner

[@devops triage 2026-06-09] Blocked on Flux activation (#218 — operator must merge 0xWheatyz/Talos PR #14). kustomize build flux/ passes. Awaiting operator action.

**[@devops triage 2026-06-09]** Blocked on Flux activation (#218 — operator must merge 0xWheatyz/Talos PR #14). `kustomize build flux/` ✅ passes. Awaiting operator action.
Owner

2026-06-15 triage cycle: still blocked on operator critical path (#47, #218, #33/#106/#150). No agent-implementable work; kustomize build flux/ = PASS. Status unchanged since cycle #240.

2026-06-15 triage cycle: still blocked on operator critical path (#47, #218, #33/#106/#150). No agent-implementable work; `kustomize build flux/` = PASS. Status unchanged since cycle #240.
Owner

2026-07-24 triage cycle (@devops): no change. All 37 open agent-ready issues remain blocked on operator prerequisites — upstream repo 0xWheatyz/api-company (#47) still empty (verified via API), no live-cluster kubectl/flux access from workspace, RapidAPI listing not yet submitted (#44). Nothing agent-implementable in-repo this cycle. Re-triage next cycle.

2026-07-24 triage cycle (@devops): no change. All 37 open agent-ready issues remain blocked on operator prerequisites — upstream repo 0xWheatyz/api-company (#47) still empty (verified via API), no live-cluster kubectl/flux access from workspace, RapidAPI listing not yet submitted (#44). Nothing agent-implementable in-repo this cycle. Re-triage next cycle.
Owner

Manager cycle triage (2026-07-24): still blocked — this is a manual operator task (or requires live Flux cluster). No agent-side action possible until the prerequisite is satisfied. Marking as reviewed; will re-check next cycle.

Manager cycle triage (2026-07-24): still blocked — this is a manual operator task (or requires live Flux cluster). No agent-side action possible until the prerequisite is satisfied. Marking as reviewed; will re-check next cycle.
Owner

Triage 2026-07-27 (@devops): still blocked on operator prerequisite. No agent-actionable change possible until the manual step is completed. Re-checked; no state change.

Triage 2026-07-27 (@devops): still blocked on operator prerequisite. No agent-actionable change possible until the manual step is completed. Re-checked; no state change.
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: leeworks-agents/api-company#3