Skip to content

armor/cncsc-terraform-github-org

 
 

Repository files navigation

Cloud-Native Cybersecurity Collective Logo

terraform-github-org

Continuous Integration Status Continuous Deployment Status Release License Maintained by Armor

This repository contains modules for deploying and managing a GitHub organisation.

Importing

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>

Requirements

Name Version
terraform >= 0.12.26
github >= 5.7.0

Modules

Name Source Version
block github-org-block n/a
settings github-org-settings n/a
webhook github-org-webhook n/a

Inputs

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
email 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({
events = list(string),
url = string,
content_type = optional(string, "json"),
insecure_ssl = optional(bool, false),
active = optional(bool, true),
}))
[] no

Outputs

Name Description
id The ID of the organization.

About

Terraform modules for managing security and compliance best practices in a GitHub organization.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HCL 100.0%