https://github.com/flaconi/terraform-github-organization
Terraform module to manage GitHub organization settings
https://github.com/flaconi/terraform-github-organization
github terraform terraform-module
Last synced: 2 months ago
JSON representation
Terraform module to manage GitHub organization settings
- Host: GitHub
- URL: https://github.com/flaconi/terraform-github-organization
- Owner: Flaconi
- License: mit
- Created: 2022-01-14T17:44:49.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-01-25T12:03:02.000Z (over 2 years ago)
- Last Synced: 2024-01-25T13:27:24.729Z (over 2 years ago)
- Topics: github, terraform, terraform-module
- Language: Makefile
- Homepage:
- Size: 43 KB
- Stars: 0
- Watchers: 9
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Terraform GitHub Organization module
Terraform module to manage settings of GitHub organization
[](https://github.com/flaconi/terraform-github-organization/actions?query=workflow%3Alint)
[](https://github.com/flaconi/terraform-github-organization/actions?query=workflow%3Atest)
[](https://github.com/flaconi/terraform-github-organization/releases)
[](https://registry.terraform.io/modules/Flaconi/organization/github/)
[](https://opensource.org/licenses/MIT)
## Providers
| Name | Version |
|------|---------|
| [github](#provider\_github) | 6.7.5 |
## Requirements
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | ~> 1.3 |
| [github](#requirement\_github) | 6.7.5 |
## Required Inputs
The following input variables are required:
Description: Github organization name to manage.
Type: `string`
## Optional Inputs
The following input variables are optional (have default values):
### [settings](#input\_settings)
Description: Global organization settings
Type:
```hcl
object({
general = object({
billing_email = string
display_name = optional(string)
company = optional(string)
blog = optional(string)
email = optional(string)
twitter_username = optional(string)
location = optional(string)
description = optional(string)
})
projects = optional(object({
organization = optional(bool, true)
repository = optional(bool, true)
}), {})
repository = optional(object({
default_permission = optional(string, "read")
web_commit_signoff_required = optional(bool, false)
}), {})
members = optional(object({
create_repositories = optional(bool, true)
create_public_repositories = optional(bool, true)
create_private_repositories = optional(bool, true)
create_internal_repositories = optional(bool, true)
create_pages = optional(bool, true)
create_public_pages = optional(bool, true)
create_private_pages = optional(bool, true)
fork_private_repositories = optional(bool, false)
}), {})
security_for_new_repositories = optional(object({
advanced_security = optional(bool, false)
dependabot_alerts = optional(bool, false)
dependabot_security_updates = optional(bool, false)
dependency_graph = optional(bool, false)
secret_scanning = optional(bool, false)
secret_scanning_push_protection = optional(bool, false)
}), {})
})
```
Default: `null`
### [secrets](#input\_secrets)
Description: Global organization secrets
Type:
```hcl
map(object({
encrypted_value = optional(string)
plaintext_value = optional(string)
visibility = string # "all", "private" or "selected"
repositories = optional(set(string), [])
}))
```
Default: `{}`
### [bot\_secrets](#input\_bot\_secrets)
Description: Global dependabot secrets
Type:
```hcl
map(object({
encrypted_value = optional(string)
plaintext_value = optional(string)
visibility = string # "all", "private" or "selected"
repositories = optional(set(string), [])
}))
```
Default: `{}`
### [webhooks](#input\_webhooks)
Description: List of webhook configurations.
Type:
```hcl
list(object({
ident = string # some unique string to identify this webhook
active = optional(bool, true)
events = list(string)
configuration = object({
url = string
content_type = optional(string, "json")
secret = optional(string)
insecure_ssl = optional(bool, false)
})
}))
```
Default: `[]`
## Outputs
| Name | Description |
|------|-------------|
| [bot\_secrets](#output\_bot\_secrets) | A map of create dependabot secret names |
| [secrets](#output\_secrets) | A map of create secret names |
| [settings](#output\_settings) | Organization settings |
| [webhook\_urls](#output\_webhook\_urls) | Webhook URLs |
## License
**[MIT License](LICENSE)**
Copyright (c) 2022-2025 **[Flaconi GmbH](https://github.com/flaconi)**