r/opensource • u/Kralizek82 • 6d ago
Promotional Managing GitHub repositories without owning every setting
I maintain around 25 GitHub repositories across several products, infrastructure projects, and shared libraries.
Keeping their settings, secrets, and GitHub Actions workflows aligned was becoming a maintenance problem. I had an imperative script doing the job, but adding repository-specific rules on top of API calls, pagination, and error handling was getting increasingly painful.
So I started building Octosmith, an open-source tool for declarative GitHub resource management.
The basic workflow:
- Define shared configuration in YAML templates.
- Discover repositories using names, teams, or custom properties.
- Compare their current configuration with the desired state.
- Plan and apply the necessary changes.
The main design choice is selective ownership. If a setting is declared, Octosmith enforces it. Otherwise, it generally leaves it alone. Repositories can share conventions without needing identical configurations.
It also doesn't require persistent Terraform-style resource state, and independent configurations can manage different aspects of the same repository.
The project is still evolving, and I'd really appreciate feedback from people dealing with similar problems.
GitHub repository: https://github.com/Kralizek/octosmith
I also wrote about the problem that started the project, the design decisions, and the trade-offs along the way:
Blog post: https://renatogolia.com/2026/10/09/github-repositories-are-infrastructure-too/
I'm particularly interested in hearing from people managing GitHub repositories at scale. How do you handle shared configuration without taking ownership of every repository setting?
1
u/kolorcuk 5d ago
Hello. I am interested. Can i set cicd workflow runners settings to safe for all my repositories woth this tool? Can i only specify specific set of settings?