Skip to content

scubaninja/github-organization

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Terraform Cloud Workspace repositories

This directory manages GitHub Configuration for @workloads.

Table of Contents

Usage

This repository uses a standard Terraform workflow (init, plan, apply).

For more information, including detailed usage guidelines, see the Terraform documentation.

Inputs

Name Description Type Required
github_owner This is the target GitHub organization or individual user account to manage. string yes
github_token A GitHub OAuth / Personal Access Token. string yes
actions_config Complex Object of GitHub Actions Configuration.
map(object({
owner = string
repository = string

# support GitHub Actions that share a repository and are stored in a sub-directory
# value is optional and must be supplied without leading slash
path = optional(string)

version = string
}))
no
github_organization_email E-mail address to use for GitHub Organization. string no
issue_labels_hashicorp HashiCorp Product-specific Issue Labels.
list(object({
color = string
description = optional(string)
name = string
}))
no
organization_members User Names of GitHub Organization Members. list(string) no
organization_owners User Names of GitHub Organization Owners. list(string) no
repositories List of GitHub Repositories.
list(object({
name = string
description = string
homepage_url = string
visibility = string
topics = list(string)
has_issues = bool # TODO: mark as optional
has_wiki = bool # TODO: mark as optional
allow_merge_commit = bool
allow_rebase_merge = bool
delete_branch_on_merge = bool
}))
no
scorecard_checks OpenSSF Scorecard Checks. string no
terraform_repositories List of GitHub Repositories.
list(object({
name = string
description = string
homepage_url = string
visibility = string
topics = list(string)
has_issues = optional(bool)
has_wiki = optional(bool)
allow_merge_commit = bool
allow_rebase_merge = bool
delete_branch_on_merge = bool
}))
no

Outputs

Name Description
github_actions_releases GitHub Actions Releases.
github_repository_slugs GitHub Repository slugs.
github_urls GitHub URLs.
nomad_pack_registry_commands Nomad Pack CLI Commands for Registry operations.
workspace_url Terraform Cloud Workspace URL.

Notes

API Rate Limits

GitHub API interactions for non-Enterprise accounts are limited to 1000 requests per hour per repository.

The large number of resources in the @workloads/github-organization repository may result in rate exhaustion when plan and apply runs are carried out repeatedly and in short succession.

Note For @workloads/maintainers: The Makefile in workloads/assets provides a target to retrieve the current API usage with make get-gh-rate-limits

Author Information

This repository is maintained by the contributors listed on GitHub.

License

Licensed under the Apache License, Version 2.0 (the "License").

You may obtain a copy of the License at apache.org/licenses/LICENSE-2.0.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" basis, without WARRANTIES or conditions of any kind, either express or implied.

See the License for the specific language governing permissions and limitations under the License.

Releases

No releases published

Packages

No packages published

Languages

  • HCL 98.7%
  • Makefile 1.3%