Skip to content

UKHomeOffice/core-cloud-github-enterprise-terraform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

core-cloud-github-enterprise-terraform-module

Module Usage

module "github_enterprise" {
  source                = "git::https://github.com/UKHomeOffice/core-cloud-github-enterprise-terraform?ref=initial-commit"

  ssm_logging_policy_name = "ssm-logging-policy"
  s3_bucket               = "ghes-backup-bucket-name"
  vpc_id                  = "vpc-0123456789"
  allowed_cidr_ingress    = ["10.0.0.0/16"]
  use_private_subnets     = true
  public_subnet_ids       = ["subnet-id", "subnet-id"]
  private_subnet_ids      = ["subnet-id", "subnet-id"]
  ami_id                  = "ami-id"
  instance_type           = "r5.xlarge"
  key_name                = "my-ssh-key"
  root_volume_size        = 100
  ebs_volume_size         = 500
  public_ip               = false
  cloudwatch_config       = "AmazonCloudWatch-github-enterprise-config"
  quay_username           = "my-quay-username"
  quay_password           = "my-quay-password"
  github_backup_image     = "quay.io/ukho/github-backup:v1.0"
  sns_email               = "alerts@ho.com"
  environment             = "test"
  route53_zone_name       = "ho.com"
  route53_record_name     = "ghes.ho.com"
  primary_weight          = 100
  secondary_weight        = 0
  backup_host_ami_id      = "ami-0987654321abcdef"
  backup_host_instance_type = "t3.medium"
  backup_root_volume_size = 30
}

Inputs

Name Description Type Default Required
ami_id AMI ID for the GitHub Enterprise Server instances string n/a yes
allowed_cidr_ingress CIDR blocks allowed for ingress string n/a yes
backup_host_ami_id AMI ID for the backup host string n/a yes
backup_host_instance_type Instance type for the backup host string "m5.2xlarge" no
backup_root_volume_size Size of the root EBS volume for the backup host in GB number n/a yes
cloudwatch_config SSM parameter for CloudWatch config string n/a yes
ebs_volume_size Size of the attached EBS data volume in GB number n/a yes
environment Environment name (e.g., dev, prod) string n/a yes
github_backup_image Docker image for GitHub backup string n/a yes
instance_type EC2 instance type for GitHub Enterprise Server string "r5.2xlarge" no
key_name SSH key name for the instances string n/a yes
primary_weight Weight for the primary Route53 record number 100 no
private_subnet_ids List of private subnet IDs for the NLB list(string) n/a yes
public_ip Whether to assign a public IP to the instances bool false no
public_subnet_ids List of public subnet IDs for the NLB list(string) n/a yes
quay_password Quay password for pulling GitHub backup container string n/a yes
quay_username Quay username for pulling GitHub backup container string n/a yes
route53_record_name Route53 record name for GitHub Enterprise string "" no
route53_zone_name Route53 zone name for DNS records string "" no
root_volume_size Size of the root EBS volume in GB number n/a yes
secondary_weight Weight for the secondary Route53 record number 0 no
s3_bucket Name of the S3 bucket for backups string n/a yes
sns_email Email to receive CloudWatch alarm notifications string n/a yes
ssm_logging_policy_name Name of the SSM logging policy string n/a yes
use_private_subnets Flag to use private subnets for the NLB bool n/a no
vpc_id ID of the VPC where resources are deployed string n/a yes