Skip to content
bruzitPublic

About

BruzIT organization profile and the declarative YAML definition of its repositories, reconciled into GitHub by GitHub Organization as Code.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

BruzIT Organization

License Last commit MegaLinter Terraform Plan Semantic Release Terraform

BruzIT organization profile and the declarative YAML definition of its repositories, reconciled into GitHub by GitHub Organization as Code.

Features

Requirements

  • BruzIT GitHub Organization as Code cloned next to this repository; TF_VAR_config in .env.tmpl points from its terraform directory 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.

Installation and Setup

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"

Usage

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 apply

Support

Community, best effort; open a GitHub issue.

Integration and Deployment

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).

Contributing

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.

License and Copyright

MIT License: LICENSE
Copyright © 2026 Martin Bružina

Stats

Metric Badges
Commits Commits total
Issues Issues open Issues total
Pull requests Pull requests open, not draft Pull requests total
Checks on main Checks on main
Releases Latest release Commits since latest release
Community Stargazers Forks Contributors

About

BruzIT organization profile and the declarative YAML definition of its repositories, reconciled into GitHub by GitHub Organization as Code.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages