Skip to content

Stop retrying organization-blocked workflow permission override - #71

Merged
xnoto merged 3 commits into
mainfrom
fix/remove-blocked-workflow-override
Sep 20, 2026
Merged

xnoto merged 3 commits into
mainfrom
fix/remove-blocked-workflow-override

Conversation

@xnoto

@xnoto xnoto commented Sep 20, 2026

Copy link
Copy Markdown
Contributor

Summary

Remove the repository-level workflow-permissions override whose creation repeatedly fails with HTTP409. This is a narrow root-pipeline unblock, NOT a complete release-automation fix and NOT an organization-policy change.

Deleted declaration: github_workflow_repository_permissions.release_automation for terraform-libvirt-domain (default token read; can_approve_pull_request_reviews=true). Initial apply34911928267 and later35485521447 failed creating it. Failure history is not proof of state absence: mandatory plan gate below.

Fixes: N/A — owner requested proceeding with remaining HTTP409 remediation.

Type of change

  • Bug fix
  • Infrastructure (OpenTofu root or module)

Validation

  • Required PR checks pass — pending.
  • Generated README updated by authoritative terraform-docs CI — pending, do not hand-edit.

Adversarial/security/delivery reviews cleared PR creation only. MERGE HOLD until resulting-head test passes, generated README row is removed by CI, and plan reports exactly0add/0change/0destroy (No changes). Any change/destroy means restore the declaration and investigate; do not reset repository permissions. No local OpenTofu/SOPS/state operations or raw state/credentials retrieved.

Impact and rollout

Draft, auto-merge off. No consumer workflow, App/PAT, secret recipient, installation, or organization setting changed. A later explicitly approved main apply should stop attempting the blocked PUT; verify actual success separately.

terraform-libvirt-domain release.yml remains unchanged and still uses GITHUB_TOKEN. Removing the failed override DOES NOT unblock its release-PR creation. App-based remediation would require explicit new secret-recipient/installation/permissions approval and review of tag-trigger/duplicate-release behavior; not included here.

Safety and secrets

  • No credentials, decrypted files, state, or sensitive plans
  • No local OpenTofu init/plan/apply/destroy/import/state operations
  • Zero-change gate and deliberately unresolved consumer behavior stated above

AI-assisted; no upstream communications or live policy mutation. Do not merge until fresh zero-plan evidence and owner approval.

@github-actions

github-actions Bot commented Sep 20, 2026 •

Copy link
Copy Markdown
Contributor

OpenTofu Test

OpenTofu test passed.

View the workflow run.

View run output
Terraform validate.......................................................Passed
Terraform validate with tflint...........................................Passed
Checkov..................................................................Passed
Terraform fmt............................................................Passed
Terraform docs...........................................................Passed
Detect hardcoded secrets.................................................Passed
check for case conflicts.................................................Passed
check for merge conflicts................................................Passed
check for broken symlinks............................(no files to check)Skipped
check vcs permalinks.....................................................Passed
detect destroyed symlinks................................................Passed
detect private key.......................................................Passed
fix end of files.........................................................Passed
mixed line ending........................................................Passed
trim trailing whitespace.................................................Passed
don't commit to branch..................................................Skipped
check for added large files..............................................Passed

@xnoto

xnoto commented Sep 20, 2026

Copy link
Copy Markdown
Contributor Author

Validation completed at 396576e: test and plan succeeded in https://github.com/makeitworkcloud/tfroot-github/actions/runs/35519220336 . The redacted plan comment reports No changes. Your infrastructure matches the configuration. (0 add/change/destroy). CI regenerated README with only the removed resource row deleted. This satisfies the zero-change safety gate; no live setting reset is planned. Merge remains owner-confirmation gated. The downstream release-please workflow is deliberately unchanged and its GITHUB_TOKEN limitation is not fixed by this PR.

@xnoto
xnoto marked this pull request as ready for review September 20, 2026 15:23
@xnoto
xnoto requested a review from a team as a code owner September 20, 2026 15:23
@github-actions

Copy link
Copy Markdown
Contributor

OpenTofu Plan

OpenTofu plan passed.

View the workflow run.

View run output
No changes. Your infrastructure matches the configuration.

OpenTofu has compared your real infrastructure against your configuration and
--
No changes. Your infrastructure matches the configuration.

OpenTofu has compared your real infrastructure against your configuration and

@xnoto
xnoto merged commit e4f9ada into main Sep 20, 2026
5 checks passed
@xnoto
xnoto deleted the fix/remove-blocked-workflow-override branch September 20, 2026 16:22
xnoto added a commit that referenced this pull request Sep 20, 2026
## Summary

Prepare repository-scoped release authentication without weakening
organization Actions policy. Add terraform-libvirt-domain as one
recipient of the existing CHART_UPDATER_GITHUB_APP_PRIVATE_KEY and
document the proposed consumer/installation gates. No key value, App
permission, installation, or organization policy is changed in source.

Fixes: N/A — companion to module release-auth migration; HTTP409 root
blocker resolved separately by #71.

## Type of change

- [x] Documentation
- [x] Infrastructure (OpenTofu root or module)

## Validation

- [ ] Required test and plan pass — pending.
- [x] Generated README not hand-edited; no new resource types.

Independent adversarial/security/delivery reviews ADVANCE for draft PR
creation. Expected plan: exactly one new repository Actions secret for
terraform-libvirt-domain, with no unrelated settings or App/installation
changes. Do not retrieve or paste private-key values. PR creation is not
authorization to apply.

## Impact and rollout

MERGE/APPLY HOLD until owner explicitly accepts adding this shared-key
recipient and confirms makeitworkbot is installed for
terraform-libvirt-domain using the selected-repository installation.
Installation ownership stays manual under this root's runbook.

Security distinction: workflow repositories input restricts the minted
token, NOT the private key. A repository holding this key could request
tokens for other repositories already granted to the App. This adds a
ninth recipient; owner must accept that expanded credential exposure
before merge.

Then merge/apply this producer first; verify successful delivery without
retrieving values. Only afterward merge the companion consumer workflow,
which requests Contents and Pull requests write for
terraform-libvirt-domain only. No Issues permission increase is
proposed. The consumer merge is publication-capable and separately
gated. Rollback removes the recipient through a reviewed root change; it
does not revoke the shared key globally.

## Safety and secrets

- [x] No plaintext/decrypted secrets, state, kubeconfigs, tokens, or
sensitive plans
- [x] No local OpenTofu init/plan/apply/destroy/import/state operations
- [x] Credential exposure, manual installation, and staged rollout gates
explained

AI-assisted. Draft only, no auto-merge, no upstream communications.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant