BruzIT organization profile and the declarative YAML definition of its repositories, reconciled into GitHub by GitHub Organization as Code.
- BruzIT GitHub Organization management - Defined as code in
bruzit.yamland provisioned using BruzIT GitHub Organization as Code. - Organization profile - Public profile shown on the BruzIT GitHub Organization page, in
profile/README.md.
- BruzIT GitHub Organization as Code cloned next to this repository;
TF_VAR_configin.env.tmplpoints from itsterraformdirectory to../../.github/bruzit.yaml. - Terraform
~> 1.15. - direnv, loading
.envrc. - S3-compatible bucket for the Terraform state and GitHub Apps with plan (read-only) and apply credentials.
Copy the templates .env.tmpl, .env.plan.tmpl and .env.apply.tmpl without .tmpl and fill them in.
terraform -chdir=../github-organization-as-code/terraform init -backend-config="bucket=$AWS_BUCKET"Direnv loads plan mode with read-only credentials by default, apply credentials only for a single command with TF_MODE=apply.
terraform -chdir=../github-organization-as-code/terraform plan -lock=false -refresh=false
TF_MODE=apply direnv exec . terraform -chdir=../github-organization-as-code/terraform applyCommunity, best effort; open a GitHub issue.
| Workflow | Trigger | Purpose |
|---|---|---|
megalinter.yaml |
Pull request | Lint changed files with MegaLinter, autofix via app; required check. |
terraform-plan.yaml |
Pull request | Terraform plan of bruzit.yaml against the organization (plan environment); required check. |
semantic-release.yaml |
Push to main |
Version, changelog and GitHub release by semantic-release (release environment). |
terraform.yaml |
Push to main, manual |
Terraform apply of bruzit.yaml (production environment). |
megalinter-scheduled.yaml |
Weekly (Monday 06:00 UTC), manual | Lint the whole codebase with MegaLinter. |
A push to main applies bruzit.yaml to the live BruzIT GitHub Organization (production environment).
Open a pull request to main. Commits follow the Conventional Commits 1.0.0 specification, from which semantic-release sets versions and the changelog automatically.
MIT License: LICENSE
Copyright © 2026 Martin Bružina
| Metric | Badges |
|---|---|
| Commits | |
| Issues | |
| Pull requests | |
Checks on main |
|
| Releases | |
| Community |