fix: remove WOODPECKER_EXPERT_FORGE_OAUTH_HOST to fix token refresh #139
No reviewers
Labels
No labels
domain:backend
domain:devops
domain:frontend
status:approved
status:in-progress
status:needs-fix
status:qa
type:bug
type:devops
type:feature
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
forgejo_admin/pal-e-platform!139
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "138-split-horizon-dns"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
WOODPECKER_EXPERT_FORGE_OAUTH_HOSTfrom Woodpecker server Helm valuesWOODPECKER_FORGEJO_URL(internal HTTP) instead of hairpinning through external DERP relay IPsChanges
terraform/main.tf: RemoveWOODPECKER_EXPERT_FORGE_OAUTH_HOSTenv var from Woodpecker server config (1 line)tofu fmtapplied,tofu validatepassestofu plan impact
Test Plan
tofu validatepassestofu planshows only Woodpecker server StatefulSet changerefresh oauth token failederrorsReview Checklist
Related
forgejo.tail5b443a.ts.netresolves to public DERP IPs from inside cluster, causing 66% TLS failure rate on OAuth token refreshPR #139 Review
DOMAIN REVIEW
Tech stack: Terraform (OpenTofu) / Helm / Kubernetes
Change analysis: Single env var removal from Woodpecker server Helm values in
terraform/main.tf. TheWOODPECKER_EXPERT_FORGE_OAUTH_HOSToverride was forcing OAuth token refresh through the external Tailscale funnel URL (https://forgejo.{tailscale_domain}), which resolves to public DERP relay IPs from inside the cluster -- causing a 66% TLS handshake failure rate. Removing it allows Woodpecker to fall back toWOODPECKER_FORGEJO_URL(http://forgejo-http.forgejo.svc.cluster.local:80) for all Forgejo API communication including OAuth token refresh.Terraform style: Alignment padding was reformatted to stay consistent after the line removal. This is consistent with
tofu fmtoutput. The remaining env vars are properly aligned.Secrets handling: All sensitive values continue to use
var.*references withset_sensitiveblocks (lines 760-781). No plaintext secrets in the diff or the surrounding context. The database connection string usesvar.woodpecker_db_passwordinterpolation, which is the existing pattern.k8s impact: StatefulSet pod restart is expected. The PR body correctly documents the post-apply requirement for admin re-authentication (one-time browser OAuth flow). This is an inherent consequence of changing Woodpecker's OAuth configuration.
No stale references: Confirmed
WOODPECKER_EXPERT_FORGE_OAUTH_HOSTdoes not appear anywhere else in the repo (excluding.claude/worktrees/artifacts from previous agent sessions).BLOCKERS
None.
This is an infrastructure config fix (1 env var removal). No new functionality is introduced, so no new test coverage is required. No user input paths are affected. No secrets are exposed. No auth logic is duplicated.
NITS
PR body template: The "Related" section references
Closes #138and mentions unblocking PR #134, but does not reference the plan slug (plan-pal-e-platform). Minor SOP gap.Stale worktrees: There are 5+
.claude/worktrees/agent-*directories containing old copies ofmain.tfwith theWOODPECKER_EXPERT_FORGE_OAUTH_HOSTline still present. These are not part of this PR, but the worktree accumulation itself is a housekeeping concern for the repo.SOP COMPLIANCE
138-split-horizon-dnsmatches issue #138)plan-pal-e-platformreferencefix: remove WOODPECKER_EXPERT_FORGE_OAUTH_HOST to fix token refresh)tofu fmtandtofu validatestated as passing in PR bodyPROCESS OBSERVATIONS
VERDICT: APPROVED