https://github.com/vmvarela/terraform-github-suborg
This module simplifies the management of multiple repositories by applying common settings, permissions, and configurations in a unified way.
https://github.com/vmvarela/terraform-github-suborg
github-config terraform-module
Last synced: 8 months ago
JSON representation
This module simplifies the management of multiple repositories by applying common settings, permissions, and configurations in a unified way.
- Host: GitHub
- URL: https://github.com/vmvarela/terraform-github-suborg
- Owner: vmvarela
- License: apache-2.0
- Created: 2025-03-14T18:04:33.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-04-01T07:16:59.000Z (about 1 year ago)
- Last Synced: 2025-10-09T03:32:08.786Z (8 months ago)
- Topics: github-config, terraform-module
- Language: HCL
- Homepage: https://registry.terraform.io/modules/vmvarela/suborg/github
- Size: 40 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# GitHub Sub-Org Terraform module
This module simplifies the management of multiple repositories by applying common settings, permissions, and configurations in a unified way.
## Usage
```hcl
module "suborg" {
source = "github.com/vmvarela/terraform-github-suborg"
repositories = {
my-repo-1 = {
visibility = "private"
default_branch = "main"
template = "MarketingPipeline/Awesome-Repo-Template"
}
my-repo-2 = {
visibility = "public"
default_branch = "master"
template = "vmvarela/template"
}
}
}
```
## Examples
- [simple](https://github.com/vmvarela/terraform-github-suborg/tree/master/examples/simple) - Single repositories group
## Requirements
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.7 |
| [github](#requirement\_github) | >= 6.6.0 |
## Providers
No providers.
## Modules
| Name | Source | Version |
|------|--------|---------|
| [repo](#module\_repo) | vmvarela/repository/github | 0.3.3 |
## Resources
No resources.
## Inputs
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [defaults](#input\_defaults) | Default configuration for repositories (overwritten by repository settings) | `any` | `{}` | no |
| [repositories](#input\_repositories) | Map of repositories (key: name, value: settings). See terraform-github-repository module for details. | `any` | `{}` | no |
| [settings](#input\_settings) | Fixed common configuration (cannot be overwritten) | `any` | `{}` | no |
| [spec](#input\_spec) | Format specification for repository names (i.e "prefix-%s") | `string` | `null` | no |
| [teams](#input\_teams) | The list of collaborators (teams) of all repositories | `map(string)` | `{}` | no |
| [users](#input\_users) | The list of collaborators (users) of al repositories | `map(string)` | `{}` | no |
## Outputs
| Name | Description |
|------|-------------|
| [repositories](#output\_repositories) | List of created repositories |
## Authors
Module is maintained by [Victor M. Varela](https://github.com/vmvarela).
## License
Apache 2 Licensed. See [LICENSE](https://github.com/vmvarela/terraform-github-subgroup/tree/master/LICENSE) for full details.