Skip to content

[EPIC] - GitHub Permission Visualization UI #104

@uwe-mayer

Description

@uwe-mayer

Problem Statement

Users have no visual way to understand what GitHub permissions are deployed for their team. RepoGuard manages GitHub team permissions based on Greenhouse Teams, but there is no UI to see which GitHub teams exist, what repositories they have access to, and whether the sync state is healthy.

Related Epics

This Epic is part of a cross-repo initiative to visualize permissions end-to-end:

Context

RepoGuard deploys GitHub permissions (team memberships, repository access) based on Greenhouse Teams. The Permission Manager defines Access Levels with CCRNs that describe GitHub resources (e.g., repository access). The deployment chain is:

  1. Permission Manager defines an Access Level with a GitHub CCRN (config intent)
  2. Greenhouse creates a (technical) Team representing the group
  3. RepoGuard syncs that Team to a GitHub team with the appropriate repository permissions

Currently there is no way to visualize:

  • Which GitHub teams are managed by RepoGuard
  • What repositories each GitHub team has access to
  • Whether the sync between Greenhouse Teams and GitHub teams is healthy
  • The mapping from Permission Manager Access Levels to actual GitHub permissions

Solution Approach

Build a UI (Greenhouse plugin or standalone view) that reads RepoGuard CRDs from the Kubernetes API server and visualizes:

User Stories

US1: View GitHub Team Permissions

As a developer or manager,
I want to see which GitHub teams are managed and what repository access they have,
So that I understand my GitHub permissions without checking GitHub directly.

Acceptance Criteria (preliminary):

  • UI shows all RepoGuard-managed GitHub teams
  • Each GitHub team shows its repository access (repos + permission level)
  • Teams can be searched/filtered by name or repository

US2: View Sync Status

As a platform engineer,
I want to see whether GitHub team permissions are in sync with the desired state,
So that I can identify and troubleshoot drift or sync failures.

Acceptance Criteria (preliminary):

  • Sync status is visible per managed GitHub team
  • Failed or out-of-sync resources are highlighted
  • Link to the source Greenhouse Team that drives the GitHub team

US3: Trace Permissions Back to Source

As a auditor or manager,
I want to trace a GitHub permission back to the Permission Manager Profile that defines it,
So that I can understand the full provenance of a permission grant.

Acceptance Criteria (preliminary):

Dependencies

  • Permission Manager CRDs published in the open source (for tracing back to source Profiles)

Metadata

Metadata

Assignees

No one assigned

    Labels

    backlogReady for sprint planning; triggers project additionfeatureNew functionality or enhancementneeds-refinementNeeds scoping before implementationuiUser interface

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status
    Sprint Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions