Manage forge resources with hermetic Terraform rules
Centralize organization, repository, and named access configuration in
infra/repos. Adopt existing GitHub resources, protect master defaults while
retaining Pages publication on pages, and preserve existing repository
identities. Manage GitLab one-time imports, the F-Droid metadata fork, and
default-branch protections through Vault-backed authentication. Forgejo
consumes the same catalog. Ongoing repository synchronization is deferred.
Retire the eleven Bazel rule landing sites through their owning Terraform
workflows, removing their DNS records, Pages repositories, and landing
configuration. Move all twelve existing standalone rule modules into tools/
and retain their public interfaces and documentation on the main site.
Add tools/rules_terraform with verified provider downloads, packed mirrors
in runfiles, and reusable Terraform execution rules. Enforce one version per
provider source at an extensible resolution boundary. Migrate every Terraform
consumer to thirteen shared provider pins in third_party/terraform. Execution
and command maps belong to rules_terraform; consumers explicitly select generic
AL wrappers for authentication and Vault injection. Remove tools/terraform
and all 43 checked-in Terraform provider locks.
Validate installed providers against the declared archives before execution.
Validation covers all fourteen workspace builds, all thirteen standalone
test suites, Terraform consumers, offline real-provider regressions, rendered
documentation, formatting, and semantic lint. The full root test run has
295 passing tests and one skip; its only failure is the historical secret
scan, reduced to four pre-existing synthetic fixture matches. Earlier live
imports and the exact landing retirement scope have verified postconditions;
the Terraform rules migration uses only offline implementation checks.
OpenSpec-Change: infra/repos/openspec/changes/archive/2026-09-13-adopt-shared-repository-catalog
OpenSpec-Change: infra/src/openspec/changes/archive/2026-09-13-retire-bazel-rule-landings
OpenSpec-Change: tools/rules_terraform/openspec/changes/archive/2026-09-14-add-hermetic-terraform-rules
OpenSpec-Change: tools/rules_terraform/openspec/changes/archive/2026-09-14-correct-terraform-ownership
LLM-disclaimer: This commit was generated by an LLM.