fix: set GITHUB_PAT in routing pod k8s secret to enable GitHub repo creation in project_create #12
Closed
opened 2026-05-18 13:32:51 +00:00 by mathias
·
1 comment
No Branch/Tag Specified
main
fix/pipeline-writes-158
fix/edit-path-io-192
fix/create-regular-188
fix/guard-special-179
fix/linkcheck-keeps-write-178
fix/write-dir-redirect-173
fix/tunnel-detect-174
fix/pipeline-root-157
w3/154-mcp-auth-wiring
fix/tunnel-traversal
test/in-brain-targets-171
fix/brain-scan-root-157
fix/graph-wiki-root-157
fix/vectorstore-root-157
fix/notes-root-157
fix/search-root-157
fix/brainwide-root-157
fix/raw-symlinks-153
feat/symlink-tripwire-157
fix/rest-auth-149
fix/123-brain-edit-envelope-check
feat/106-page-aware-extraction
fix/105-source-drift-on-main
fix/104-surface-merge-conflicts-on-main
agent/b1-compile-on-ingest
agent/104-surface-merge-conflicts
agent/105-source-drift
agent/107-loud-unconfigured-alerting
feat/brain-read-edit
fix/capture-i1-refusal-names-target
renovate/configure
feat/consolidate-single-harness
icebox/cmd-routing
feat/brain-pending-promote
fix/close-session-classification-refresh
fix/capture-summarywriter
v0.24.0
v0.23.1
v0.23.0
v0.22.0
v0.21.1
v0.21.0
v0.20.1
v0.20.0
v0.19.1
v0.19.0
v0.18.4
v0.18.3
v0.18.2
v0.18.1
v0.18.0
v0.17.0
v0.16.1
v0.16.0
v0.15.0
v0.14.0
v0.13.2
v0.13.1
v0.13.0
v0.12.1
v0.12.0
v0.11.2
icebox/cmd-routing-2026-07-01
v0.11.1
v0.11.0
v0.10.0
v0.9.0
v0.8.0
v0.7.0
v0.6.0
v0.5.0
v0.4.1
v0.4.0
v0.3.0
v0.2.0
v0.1.0
Labels
Clear labels
agent/ready
blocked/client
blocked/supplier
blocked/upstream
risk/high
risk/low
risk/medium
size/l
size/m
size/s
size/xs
status:dispatch
status:dispatched
status:review
status:reviewing
type/chore
type/decision
type/docs
type/feat
type/fix
type/ops
type/research
type/test
Meets the agent-ready contract; authorizes unattended execution
Waiting on the client
Waiting on a supplier
Waiting on an upstream project or vendor
Irreversible, security-relevant, or control plane
Reversible, local, test-covered
Touches shared state, deploys or data
Too big - split it
Under two days
Under half a day
Under an hour
Maintenance, no behaviour change
Human decision required; never agent/ready
Documentation only
New capability
Corrects broken behaviour
Infrastructure, deploy, runtime
Investigate; output is a finding, not code
Test coverage only
No labels
Milestone
No items
No Milestone
Projects
Clear projects
No projects
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: mathias/hyperguild#12
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Problem
project_createskips the GitHub repo creation step whens.cfg.GitHub == nil.This happens when
GITHUB_PATis not set in the routing pod environment.The code in
handlers.gois correct:But without
GITHUB_PATset, the GitHub client is never initialised incmd/routing/main.go:This means the GitHub repo is never created, and subsequently the push-mirror sync
fails because it has no destination to push to.
Observed during e2e test on 2026-05-18:
test-throwaway-001was created on Gitea,mirror was configured, but GitHub repo never appeared. Required manual intervention:
create GitHub repo via API, delete and recreate mirror with PAT, trigger sync manually.
Fix
Set
GITHUB_PATas a k8s secret in the routing pod deployment on koala.1. Create the secret
Or add to the existing SOPS-encrypted secrets file for the routing pod.
2. Mount in deployment
In
k3s/apps/routing/deployment.yaml, add env var from secret:3. Verify config loads correctly
After deploy, check routing pod logs on startup:
Currently logs
github_pat_set=falsewhich is the signal that PAT is missing.4. Also set GITHUB_OWNER
Verify
GITHUB_OWNER=mathiasbis set in the routing pod config. This is neededfor constructing the correct mirror remote URL.
Acceptance criteria
GITHUB_PATset as k8s secret in routing namespacegithub_pat_set=trueproject_createe2e test: GitHub repo appears atgithub.com/mathiasb/<name>within 60slast_error: ""after initial syncRequired GitHub PAT scopes
repo— create private/public repos, push code via mirrorRelated
internal/skills/project/handlers.go— code is correct, no changes neededcmd/routing/main.go— config loading is correct, no changes neededResolved. Verified on koala cluster 2026-05-18:
routing-secretskeys present:Deployment wires secret via
envFrom(k3s/apps/routing/deployment.yaml@fe534a6):Plus
GITHUB_OWNER=mathiasbandINFRA_REPO=infraset as literal env.Routing pod startup log confirms config loaded:
Image deployed:
gitea.d-ma.be/mathias/routing:5950ef5f0fef7a38bc29638a4514fd5b1efa4df4.All acceptance criteria met. Remaining concern —
GITHUB_PATpersistence insecrets.enc.yamlfor SOPS round-trip / rebuild survival — tracked separately in #14 (Item 2).