This repository contains modules for deploying and managing a GitHub organisation.
To import an existing org's settings, get the org's ID from the GitHub API:
curl -sSL https://api.github.com/orgs/<ORG_NAME> | jq .id
Then run the import:
terraform import module.org.module.settings.github_organization_settings.settings <ORG_ID>
Name | Version |
---|---|
terraform | >= 0.12.26 |
github | >= 5.7.0 |
Name | Source | Version |
---|---|---|
block | github-org-block | n/a |
settings | github-org-settings | n/a |
webhook | github-org-webhook | n/a |
Name | Description | Type | Default | Required |
---|---|---|---|---|
advanced_security_enabled_for_new_repositories | Whether or not advanced security is enabled for new repositories. | bool |
true |
no |
billing_email | The billing email address for the organization. | string |
n/a | yes |
blocked_users | A set of users who are barred from joining and requesting to join the organization. | set(string) |
[] |
no |
blog | The blog URL for the organization. | string |
null |
no |
company | The company name for the organization. | string |
null |
no |
default_repository_permission | The default permission for organization members to create new repositories. Can be one of read, write, admin, or none. | string |
"none" |
no |
dependabot_alerts_enabled_for_new_repositories | Whether or not dependabot alerts are enabled for new repositories. | bool |
true |
no |
dependabot_security_updates_enabled_for_new_repositories | Whether or not dependabot security updates are enabled for new repositories. | bool |
true |
no |
dependency_graph_enabled_for_new_repositories | Whether or not dependency graph is enabled for new repositories. | bool |
true |
no |
description | The description for the organization. | string |
null |
no |
The email address for the organization. | string |
null |
no | |
has_organization_projects | Whether or not organization projects are enabled for the organization. | bool |
false |
no |
has_repository_projects | Whether or not repository projects are enabled for the organization. | bool |
false |
no |
location | The location for the organization. | string |
null |
no |
members_can_create_internal_repositories | Whether or not organization members can create new internal repositories. For Enterprise Organizations only. | bool |
null |
no |
members_can_create_pages | Whether or not organization members can create new pages. | bool |
true |
no |
members_can_create_private_pages | Whether or not organization members can create new private pages. | bool |
true |
no |
members_can_create_private_repositories | Whether or not organization members can create new private repositories. | bool |
true |
no |
members_can_create_public_pages | Whether or not organization members can create new public pages. | bool |
true |
no |
members_can_create_public_repositories | Whether or not organization members can create new public repositories. | bool |
true |
no |
members_can_create_repositories | Whether or not organization members can create new repositories. | bool |
true |
no |
members_can_fork_private_repositories | Whether or not organization members can fork private repositories. | bool |
true |
no |
name | The name for the organization. | string |
n/a | yes |
secret_scanning_enabled_for_new_repositories | Whether or not secret scanning is enabled for new repositories. | bool |
true |
no |
secret_scanning_push_protection_enabled_for_new_repositories | Whether or not secret scanning push protection is enabled for new repositories. | bool |
true |
no |
twitter_username | The Twitter username for the organization. | string |
null |
no |
web_commit_signoff_required | Whether or not commit signatures are required for commits to the organization. | bool |
true |
no |
webhooks | A list of organization webhook configurations. | list(object({ |
[] |
no |
Name | Description |
---|---|
id | The ID of the organization. |