Skip to content

GurdipSCode/devops-terraform-modules-github

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

devops-terraform-modules-github

Terraform GitHub License Terraform Version

Build Status tfsec TFLint Checkov Semgrep GitGuardian Snyk

Overview

Terraform module for managing GitHub organization resources including repositories, teams, branch protection rules, and organization settings.

Features

  • 🏢 Organization settings management
  • 📦 Repository provisioning via map
  • 🔒 Branch protection rules
  • 👥 Team management
  • 🔑 Secrets and variables
  • 📋 Rulesets

Usage

module "github" {
  source = "git::https://github.com/your-org/terraform-github.git?ref=v1.0.0"

  repositories = {
    "my-app" = {
      description    = "Main application"
      visibility     = "private"
      default_branch = "main"
    }
    "my-lib" = {
      description    = "Shared library"
      visibility     = "private"
      default_branch = "main"
    }
  }
}

Requirements

Name Version
Terraform >= 1.7
GitHub ~> 6.0

Providers

Name Version
github ~> 6.0

Inputs

Name Description Type Default Required
repositories Map of repositories to create map(object) {} no
default_branch Default branch name string "main" no
enforce_admins Enforce branch protection for admins bool true no
required_approvals Number of required PR approvals number 1 no

Outputs

Name Description
repository_ids Map of repository names to node IDs
repository_urls Map of repository names to URLs

Development

# Format
terraform fmt -recursive

# Validate
terraform validate

# Lint
tflint --recursive

# Security scan
tfsec .

License

MIT

About

Terraform module for GitHub

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages