Skip to content

Latest commit

 

History

History
46 lines (28 loc) · 1.95 KB

0019-org-management.md

File metadata and controls

46 lines (28 loc) · 1.95 KB

Maintaining GitHub organization as a code

  • Status: accepted
  • Deciders: tumido, goern
  • Date: 2021-10-01

Technical Story: operate-first/community#36

Context and Problem Statement

Managing GitHub organizations via UI is restricted to few individuals only and does not offer any review mechanisms. The same apply to repository creation, organization membership management and label management. This ADR focuses on bringing transparency into this aspect of housekeeping within a community and aims to provide a way to individual contributors, so they can influence and propose changes themselves.

ADR seeks a way to manage GitHub organization as a code, declaratively via GitOps as a natural extension of the core paradigm of Operate First movement.

Decision Drivers

Improve transparency, provide auditing and reviews and allow individual contributors to propose changes.

Considered Options

  1. Prow's Peribolos

Decision Outcome

Chosen option: "1. Prow's Peribolos", because it's a declarative solution that is widely embraced in upstream communities like Kubernetes.

Positive Consequences

  • Repositories can be created declaratively.
  • Even external users can request themselves to be added to the organization via a pull request.
  • Teams can be created and maintained declaratively.
  • Labels can be centrally managed in a unified way as well as updated per repository bases.
  • Solution can be easily automated via post-submit Prow jobs.

Negative Consequences

  • Using a declarative configuration may not be as straightforward as clicking buttons in the UI.
  • Some users can still do manual changes to repositories they own, these changes are undone by the automation.

Links