Skip to content

@claude Fix kubectl not found in argocd-register.yml + install ARC self-hosted runner #224

Description

@izzywdev

Two tasks in one:


Task 1: Fix kubectl not found in argocd-register.yml

Bug: The `argocd-register` workflow uses `runs-on: ubuntu-latest` (GitHub-hosted) but calls `kubectl apply` without ever installing kubectl. The "Configure kubectl" step only writes the kubeconfig; it does not install the binary. Result: exit code 127 on all GitHub-hosted runs.

Evidence: Run 29002999912 (MendysRobotics, 2026-07-09): step "Register Argo Applications" fails with `/bin/bash: line 11: kubectl: command not found`.

Fix: Add a kubectl install step BEFORE "Configure kubectl" in `.github/workflows/argocd-register.yml`:

```yaml

Place it between "Extract inline argocd bundle" and "Configure kubectl". No other changes needed.


Task 2: Install ARC self-hosted runner on Contabo k3s

The ARC runner is fully documented in `runners/` (README + `arc/install.sh` + Helm values). The runner registers at org level (`izzywdev`) in runner group `staging-runners`.

Prerequisites to check before installing:

  1. The runner group `staging-runners` exists in GitHub org settings — if not, note it (can't create via CLI, needs UI, but document the block)
  2. A GitHub App or PAT secret exists for runner registration — check if `runners/arc/github-secret.yaml` template needs a real value in cluster secrets

Install steps (using the cluster kubeconfig the runner already has):

  1. `kubectl apply -f runners/arc/github-secret.yaml` (after filling in the token)
  2. Run `runners/arc/install.sh` (installs ARC controller + staging scale set)
  3. Apply `runners/rbac/deployer-role.yaml` and `runners/rbac/deployer-rolebinding.yaml`
  4. Optionally apply `argocd/applications/arc-runners.yaml` for GitOps management

After install: add `izzywdev/FuzeKeys` to the `staging-runners` runner group allowlist in GitHub UI (or note this as a manual step).

Acceptance:

  • `argocd-register.yml` has the kubectl install step; a test run succeeds
  • ARC controller running in `arc-systems` ns on Contabo k3s
  • Staging runner scale set running in `arc-runners` ns
  • At least one runner pod visible when a job is queued
  • RBAC applied

State

Originator: izzywdev/FuzeKeys, context: FuzeKeys MFE deployment pipeline. The self-hosted runner is needed so FuzeKeys CI jobs (`gate-*`, `build-and-push`) can run with cluster access without needing a kubeconfig in GH secrets.

BLOCKED items (needs human): creating the GitHub runner group in UI, and providing the GitHub App credential for ARC registration.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions