feat: manage Dependabot configs centrally and document branch protection posture - #14
Open
xnoto wants to merge 2 commits into
Open
feat: manage Dependabot configs centrally and document branch protection posture#14xnoto wants to merge 2 commits into
xnoto wants to merge 2 commits into
Conversation
…ction posture - add gh-dependabot.tf generating .github/dependabot.yml for all active repositories via github_repository_file (github-actions everywhere, terraform for OpenTofu roots, docker for images, pip for cflan) - document the intentional branch-protection relaxation for this solo-maintainer personal-dev organization - document dependabot management and repository_file import ID format in AGENTS.md
GitHub shipped a native opentofu package-ecosystem on 2025-12-16. Using terraform for OpenTofu repos was the pre-GA workaround and has known issues with OpenTofu >= 1.8. Also documents that lock files are not git-tracked here, so only .tf version constraints are bumped.
OpenTofu Plan |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
1. Centrally managed Dependabot (
gh-dependabot.tf, new)Closes the dependency-update gap (no Dependabot/Renovate anywhere in the org today) by generating
.github/dependabot.ymlfor all 11 active repositories viagithub_repository_file— same central-management pattern this repo already uses for branch protections and Actions secrets.github-actionsopentofudockergh-cli/andtfroot-runner/Containerfile dirs)pipopentofuecosystem (GA since 2025-12-16), notterraform— the old workaround has known issues with OpenTofu >= 1.8. Lock files are not git-tracked in these repos, so only.tfversion constraints are bumped.2. Branch-protection posture documented (
gh-protections.tf,AGENTS.md)The relaxed protection (empty
required_status_checks.contexts, zero required approvals) is intentional for this solo-maintainer personal-dev organization, but that was previously undocumented. Now recorded in code comments and AGENTS.md so future contributors/agents don't "fix" it.Also: AGENTS.md gains a Dependency Updates section (policy changes happen here, not downstream) and the
github_repository_fileimport ID format.README.mdregenerated by terraform-docs.On apply
11
github_repository_fileresources will be created, producing one direct commit to each active repo'smainadding.github/dependabot.yml. Dependabot activates automatically once the file lands on the default branch. First batch of update PRs should appear within a week.Deliberately not covered
images/tfroot-runner/pre-commit-config.yamlARGtool pins — Dependabot only bumpsFROMtagsValidation
make test— all 17 hooks pass (terraform_validate, tflint, checkov, fmt, terraform_docs, gitleaks, …)tofu consolefor both the multi-directory docker case (images) and pip case (cflan)tofu plan/applyrun locally — live backend; credentialed plan runs in CI on this PRFollow-up (not in this PR)
Canonical pre-commit pin
pre-commit-terraformhas a new release (v1.108.1 → v1.109.0, adds--tool-versionpinning support). Per ownership rules that update belongs inimages/tfroot-runner/pre-commit-config.yamlwith a runner image rebuild.