github-app-forge 0.1.1

Declarative GitHub App lifecycle management via Manifest flow
Documentation
# GitHub App declaration for rio's ARC controller.
#
# Apply with:
#   github-app-forge create manifests/rio.yaml
#
# After the one browser confirmation + one install click, this lands a
# SOPS-encrypted K8s Secret at the path the pleme-arc-controller HelmRelease
# expects on the rio cluster.

name: pleme-arc-rio
install_target: org
owner: pleme-io

# Repos to grant the installation. The post-creation install URL pre-selects
# these. Empty list = operator picks repos manually in the install UI.
install_repos:
  - helmworks
  - k8s

sink:
  kind: sops
  # Path is relative to the operator's working directory; absolute paths
  # also fine (typically run from the k8s repo root).
  path: ../k8s/clusters/rio/infrastructure/arc/github-app-secret.yaml
  secret_name: arc-github-app-secret
  secret_namespace: actions-runner-controller

github:
  name: pleme-arc-rio
  url: https://github.com/pleme-io
  description: |
    GitHub Actions Runner Controller for rio (single-node K3s on bare-metal NixOS).
    Listener-only by default — workflows targeting `runs-on: arc-rio-default` queue
    until the runner pool is unpaused.
  public: false
  hook_attributes:
    active: false # ARC uses long-poll, not webhooks
  default_permissions:
    # Repository permissions
    actions: write
    administration: read
    checks: write
    contents: read
    metadata: read
    pull_requests: write
    workflows: write
    # Organization permissions
    organization_self_hosted_runners: write
  default_events: []