Skip to content

feat: restructure peribolos teams and CODEOWNERS for provider split - #97

Merged
marcusburghardt merged 5 commits into
complytime:mainfrom
marcusburghardt:opsx/restructure-teams-and-codeowners
May 19, 2026
Merged

feat: restructure peribolos teams and CODEOWNERS for provider split#97
marcusburghardt merged 5 commits into
complytime:mainfrom
marcusburghardt:opsx/restructure-teams-and-codeowners

Conversation

@marcusburghardt

@marcusburghardt marcusburghardt commented May 12, 2026

Copy link
Copy Markdown
Member

Summary

Restructure peribolos team definitions and CODEOWNERS files to reflect
the organizational split of providers from complyctl to
complytime-providers.

  • Rename openscap-plugin-approvers to openscap-provider-approvers
    and expand membership to all complytime-dev members
  • Create ampel-provider-approvers, opa-provider-approvers, and
    complytime-policies-approvers teams
  • Repurpose complytime-approvers for non-code repo stakeholder access
    (.github, community, complytime-demos, website)
  • Move CODEOWNERS from root to .github/CODEOWNERS per GitHub
    recommended location
  • Update config_test.go to validate team references in CODEOWNERS
    (split parsing into individual users and team references)

Cross-repo Coordination

This PR covers changes to this repository only. CODEOWNERS files in
complyctl, complytime-providers, and complytime-policies must be
updated separately after peribolos applies the new team definitions
from this PR.

Related Issues

Review Hints

  • Review peribolos.yaml changes first — this is the core of the PR
    with 5 team modifications (1 rename, 3 creates, 1 repurpose).

  • Then review config/config_test.go — the loadOwners function now
    returns separate lists for individual users and team references, and
    TestOrgs validates team references exist in peribolos.yaml.

  • The openspec/changes/restructure-teams-and-codeowners/ directory
    contains the full change specification (proposal, design, specs,
    tasks) that documents the rationale behind each decision.

  • All teams use privacy: closed as required by GitHub for CODEOWNERS
    team references. See design.md Decision 4 for details and references.

@marcusburghardt

Copy link
Copy Markdown
Member Author

The CRAPLoad issue was fixed by complytime/org-infra#242 . We can safely wave it in this particular PR. The code here is minimal. We can implement the baseline in a separate PR if necessary.

@marcusburghardt

Copy link
Copy Markdown
Member Author

The CRAPLoad baseline is introduced by #101 together with a Makefile to make local tests easier.

@marcusburghardt

Copy link
Copy Markdown
Member Author

@jpower432 and @hbraswelrh , it would be great to have your eyes here. : )

marcusburghardt added a commit to complytime/complyctl that referenced this pull request May 15, 2026
Also connected with changes in:
- complytime/.github#97

Signed-off-by: Marcus Burghardt <maburgha@redhat.com>
Define proposal, design, specs, and tasks for restructuring peribolos
teams to reflect the provider split from complyctl to complytime-providers,
creating per-provider approval teams, establishing Gemara content ownership,
and standardizing CODEOWNERS across repositories.

Assisted-by: OpenCode (claude-opus-4-6)
Signed-off-by: Marcus Burghardt <maburgha@redhat.com>
Reflect the organizational split of providers from complyctl to
complytime-providers by restructuring GitHub team definitions and
CODEOWNERS files across the complytime org.

- Rename openscap-plugin-approvers to openscap-provider-approvers
- Create ampel-provider-approvers, opa-provider-approvers, and
  complytime-policies-approvers teams
- Repurpose complytime-approvers for non-code repo stakeholder access
- Move CODEOWNERS from root to .github/ (GitHub recommended location)
- Update config_test.go to validate team references in CODEOWNERS
- Update spec artifacts with review council feedback (GIVEN clauses,
  PRESERVED requirements, dependency annotations)

Assisted-by: OpenCode (claude-opus-4-6)
Signed-off-by: Marcus Burghardt <maburgha@redhat.com>
Add fkolacek-rh, jiprocha, jpadmanrh, ppsomiad, and rmonk-redhat
to the org members list. These users exist in the GitHub org but
were not declared in peribolos.yaml, causing the apply workflow to
fail with "cannot delete 5 memberships (exceeds limit of 0.250)".

Assisted-by: OpenCode (claude-opus-4-6)
Signed-off-by: Marcus Burghardt <maburgha@redhat.com>
pme-bot is a regular user account that was used for the old device
flow token approach. It no longer exists in the GitHub org and is
not needed as an admin now that authentication uses the complytime-bot
GitHub App installation token.

Assisted-by: OpenCode (claude-opus-4-6)
Signed-off-by: Marcus Burghardt <maburgha@redhat.com>
@marcusburghardt
marcusburghardt force-pushed the opsx/restructure-teams-and-codeowners branch from b0efaee to 6be08c8 Compare May 18, 2026 15:25
@marcusburghardt

Copy link
Copy Markdown
Member Author

just rebased @jpower432 .

Comment thread .github/CODEOWNERS Outdated
- Remove complytime-approvers from .github CODEOWNERS (admin-only approval)
- Remove .github from complytime-approvers repo access (no non-admin write)
- Add --required-admins flags to apply_peribolos.yml for all current admins
- Update spec artifacts to document security decisions

These changes prevent privilege escalation through the org management repo:
only org admins can approve merges (CODEOWNERS gate), and existing admins
cannot be removed by peribolos even if a malicious config passes review.

Assisted-by: OpenCode (claude-opus-4-6)
Signed-off-by: Marcus Burghardt <maburgha@redhat.com>
@marcusburghardt
marcusburghardt requested a review from jpower432 May 19, 2026 07:28

@hbraswelrh hbraswelrh left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

@marcusburghardt
marcusburghardt enabled auto-merge (rebase) May 19, 2026 13:58

@jpower432 jpower432 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

auto-merge was automatically disabled May 19, 2026 18:44

Branch protection rule check failed

@marcusburghardt
marcusburghardt merged commit 615e4ec into complytime:main May 19, 2026
9 checks passed
@marcusburghardt
marcusburghardt deleted the opsx/restructure-teams-and-codeowners branch May 19, 2026 18:45
sonupreetam pushed a commit to complytime/complytime-policies that referenced this pull request May 20, 2026
Related to the initiative in:
- complytime/.github#97

Signed-off-by: Marcus Burghardt <maburgha@redhat.com>
marcusburghardt added a commit to complytime/complytime-providers that referenced this pull request May 20, 2026
Related to the initiative in:
- complytime/.github#97

Signed-off-by: Marcus Burghardt <maburgha@redhat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants