Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ This file provides guidance to AI agents when working with code in this reposito

## Overview

This repository manages GitHub organization infrastructure for "unmango" using Pulumi (TypeScript). It defines repositories, branch protection rulesets, and GitHub settings as code.
This repository manages source control infrastructure for "unmango" using Pulumi (TypeScript). It defines repositories, branch protection rulesets, and forge settings as code.
One Pulumi program covers every forge; each forge has its own directory (`github/`) imported from the root `index.ts`.

## Commands

Expand Down Expand Up @@ -48,4 +49,4 @@ Uses GitHub App credentials stored in Pulumi config (`Pulumi.prod.yaml`): app ID

### Stack

Single stack: `UnstoppableMango/unmango-github/prod`
Single stack: `UnstoppableMango/scm/prod`
8 changes: 4 additions & 4 deletions Pulumi.prod.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ config:
secure: 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
id: 1264044
installationId: 66536645
unmango-github:releaseAppClientId: Iv1.47021fc88c227144
unmango-github:releaseGpgPrivateKey:
scm:releaseAppClientId: Iv1.47021fc88c227144
scm:releaseGpgPrivateKey:
Comment thread
coderabbitai[bot] marked this conversation as resolved.
secure: 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
unmango-github:releaseGpgPassphrase:
scm:releaseGpgPassphrase:
secure: AAABAFnZDftixkyrNqIcgqvfSD+NVwZB1QG4etnNIkbYsefUe1o3gzioEbib3jKtuh+lDSBm2yMlnOy62sWzoL71eW7tMw9vAXY0+A==
unmango-github:releaseAppPrivateKey:
scm:releaseAppPrivateKey:
secure: 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
4 changes: 2 additions & 2 deletions Pulumi.yaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
name: unmango-github
name: scm
runtime:
name: nodejs
options:
packagemanager: yarn
description: github.com/unmango IaC
description: unmango source control infrastructure
config:
pulumi:tags:
value:
Expand Down
8 changes: 5 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
# unmango/github
# unmango/scm

[![Hercules CI](https://hercules-ci.com/api/v1/site/github/account/unmango/project/github/badge)](https://hercules-ci.com/github/unmango/github)

GitHub organization configuration as code. Repositories, branch protection, and settings managed via [Pulumi](https://www.pulumi.com/).
Source control infrastructure for unmango as code.
Repositories, branch protection, and settings managed via [Pulumi](https://www.pulumi.com/).
Each forge has its own directory; GitHub lives under [`github/`](./github).

## What is this?

This repository replaces manual GitHub UI configuration with declarative TypeScript. Rather than configuring repositories through the GitHub UI, settings are version-controlled, reviewed via pull request, and applied programmatically.
This repository replaces manual forge UI configuration with declarative TypeScript. Rather than configuring repositories through a web UI, settings are version-controlled, reviewed via pull request, and applied programmatically.

**Pulumi** is an infrastructure-as-code tool that lets you describe infrastructure (GitHub repos, AWS resources, Kubernetes clusters, etc.) using real programming languages instead of domain-specific configuration languages like HCL. It tracks deployed state and computes diffs between desired and actual configuration, the same mental model as `kubectl apply` or `terraform plan/apply`.

Expand Down
2 changes: 1 addition & 1 deletion flake.nix
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
description = "unmango's GitHub configuration";
description = "unmango's source control infrastructure";

inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
Expand Down
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"name": "unmango-github",
"name": "scm",
"private": true,
"license": "MIT",
"packageManager": "yarn@1.22.22",
"main": "index.ts",
Expand Down
Loading