CI reliability: add -lock=false to plan + use internal Forgejo URL for comments #57
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#57
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Lineage
plan-pal-e-platform→ Phase 6 (CI Pipeline)Resolves:
todo-tofu-plan-lock-false, partially resolvestodo-remove-clone-url-overridesRepo
forgejo_admin/pal-e-platformUser Story
As a platform operator
I want CI plan steps to not lock state and PR comments to use internal URLs
So that CI doesn't block local tofu operations and PR comments don't fail with TLS EOF errors
Context
Two CI reliability issues in
.woodpecker.yaml:State lock contention:
tofu planin CI acquires a state lock, which blocks concurrenttofu applyor localtofu planruns. Plan is read-only and doesn't need the lock. This was discovered when a worktreetofu planlocked shared state and blocked CI apply.TLS EOF on PR comments: The
curlcommand posting plan output as PR comments uses the external Forgejo URL (https://forgejo.tail5b443a.ts.net), which goes through Tailscale funnel TLS. Internal cluster traffic should use the in-cluster service URL to avoid TLS overhead and intermittent EOF errors. This is the same TLS fix pattern applied to Woodpecker clone URLs in PR #56.File Targets
Files the agent should modify:
.woodpecker.yaml— add-lock=falseto tofu plan command (line 62), change curl URL to internal service URL (line 73)Files the agent should NOT touch:
terraform/main.tf— no infrastructure changes neededterraform/variables.tf— no new variables neededAcceptance Criteria
tofu planstep includes-lock=falseflagcurlURL for PR comments useshttp://forgejo-http.forgejo.svc.cluster.local:80instead ofhttps://forgejo.tail5b443a.ts.net.woodpecker.yamlTest Expectations
tofu planstep still captures output and handles failure correctlyyamllint .woodpecker.yamlor CI validate stepConstraints
-lock=falseflag is standard tofu/terraform — safe for read-only plan operationsChecklist
Related
plan-pal-e-platform— Platform Hardening plantodo-tofu-plan-lock-false— resolves this TODOtodo-remove-clone-url-overrides— partially resolves (pal-e-platform part)