Skip to content

Proposal: Implement Automated GitHub Permission Control via CLOWarden (GitOps) #572

@riaankleinhans

Description

@riaankleinhans

The Problem: Manual "Ad-Hoc" Governance

For several years, OpenSSF GitHub teams and permissions have been managed manually by a rotating group of trusted individuals. While this worked in the early stages, it has led to several critical pain points:

The "Off-boarding" Gap: Everyone ♥️ onboarding, but nobody is great at off-boarding. This leads to "permission creep" where former contributors retain access indefinitely.

Lack of Transparency: There is currently no centralized, searchable audit trail explaining why a specific person was added to a specific team.

Manual Toil: Administering a massive open-source ecosystem through the GitHub UI is not scalable and is prone to human error.

The Solution: CLOWarden

To move toward a more secure and scalable model, I propose adopting CLOWarden. Developed by the CNCF team behind Gitvote and the Landscape tool, CLOWarden brings GitOps principles to organization management.

Executive Summary
Declarative Infrastructure: All users, teams, and permissions are defined in YAML configuration files.

Automated Reconciliation: The tool continuously syncs the Desired State (Git) with the Actual State (GitHub), automatically reverting any manual, out-of-band changes.

Peer-Reviewed Access: Permission changes are proposed via Pull Requests. This ensures every access grant is validated by peers and documented before deployment.

Audit & Transparency: Maintains a searchable history of all changes, linking every access grant to a specific PR and approver.

Implementation Details & Developer Feedback

We have engaged with the CLOWarden developers, and they have provided the following insights regarding deployment:

Ease of Install: A Helm chart is available for Kubernetes deployment.

Low Overhead: The service is lightweight—essentially a small web service talking to a PostgreSQL database.

Proven Reliability: Projects like Karmada have been running their own instance for months without issues.

Support: The maintainers are available to answer questions during our installation process.

[!IMPORTANT] Operational Note: While the resource footprint is small, the service requires an owner. If the service goes down, automated syncing stops, requiring troubleshooting by the infrastructure/ops team. This is a critical consideration for a service managing organization-wide permissions.

Presented in OpenSSF TAC meeting on Feb 3, 2026
Related document

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions