artifact_buckets |
List of Amazon S3 buckets you wish to create to store build farm artifacts. |
map( object({ name = string enable_force_destroy = optional(bool, true) enable_versioning = optional(bool, true) tags = optional(map(string), {}) }) ) |
null |
no |
build_farm_compute |
Each object in this map corresponds to an ASG used by Jenkins as build agents. |
map(object( { ami = string #TODO: Support mixed instances / spot with custom policies instance_type = string ebs_optimized = optional(bool, true) enable_monitoring = optional(bool, true) } )) |
{} |
no |
build_farm_fsx_openzfs_storage |
Each object in this map corresponds to an FSx OpenZFS file system used by the Jenkins build agents. |
map(object( { storage_capacity = number throughput_capacity = number storage_type = optional(string, "SSD") # "SSD", "HDD" deployment_type = optional(string, "SINGLE_AZ_1") route_table_ids = optional(list(string), null) tags = optional(map(string), null) } )) |
{} |
no |
build_farm_subnets |
The subnets to deploy the build farms into. |
list(string) |
n/a |
yes |
certificate_arn |
The TLS certificate ARN for the Jenkins service load balancer. |
string |
n/a |
yes |
cluster_name |
The ARN of the cluster to deploy the Jenkins service into. Defaults to null and a cluster will be created. |
string |
null |
no |
container_cpu |
The CPU allotment for the Jenkins container. |
number |
1024 |
no |
container_memory |
The memory allotment for the Jenkins container. |
number |
4096 |
no |
container_name |
The name of the Jenkins service container. |
string |
"jenkins-container" |
no |
container_port |
The container port used by the Jenkins service container. |
number |
8080 |
no |
create_ec2_fleet_plugin_policy |
Optional creation of IAM Policy required for Jenkins EC2 Fleet plugin. Default is set to false. |
bool |
false |
no |
create_jenkins_default_policy |
Optional creation of Jenkins Default IAM Policy. Default is set to true. |
bool |
true |
no |
create_jenkins_default_role |
Optional creation of Jenkins Default IAM Role. Default is set to true. |
bool |
true |
no |
custom_jenkins_role |
ARN of the custom IAM Role you wish to use with Jenkins. |
string |
null |
no |
enable_default_efs_backup_plan |
This flag controls EFS backups for the Jenkins module. Default is set to true. |
bool |
true |
no |
enable_jenkins_alb_access_logs |
Enables access logging for the Jenkins ALB. Defaults to true. |
bool |
true |
no |
enable_jenkins_alb_deletion_protection |
Enables deletion protection for the Jenkins ALB. Defaults to true. |
bool |
true |
no |
environment |
The current environment (e.g. dev, prod, etc.) |
string |
"dev" |
no |
existing_artifact_buckets |
List of ARNs of the S3 buckets used to store artifacts created by the build farm. |
list(string) |
[] |
no |
existing_security_groups |
A list of existing security group IDs to attach to the Jenkins service load balancer. |
list(string) |
null |
no |
internal |
Set this flag to true if you do not want the Jenkins service load balancer to have a public IP. |
bool |
false |
no |
jenkins_agent_secret_arns |
A list of secretmanager ARNs (wildcards allowed) that contain any secrets which need to be accessed by the Jenkins service. |
list(string) |
null |
no |
jenkins_alb_access_logs_bucket |
ID of the S3 bucket for Jenkins ALB access log storage. If access logging is enabled and this is null the module creates a bucket. |
string |
null |
no |
jenkins_alb_access_logs_prefix |
Log prefix for Jenkins ALB access logs. If null the project prefix and module name are used. |
string |
null |
no |
jenkins_alb_subnets |
A list of subnet ids to deploy the Jenkins load balancer into. Public subnets are recommended. |
list(string) |
n/a |
yes |
jenkins_cloudwatch_log_retention_in_days |
The log retention in days of the cloudwatch log group for Jenkins. |
string |
365 |
no |
jenkins_efs_performance_mode |
The performance mode of the EFS file system used by the Jenkins service. Defaults to general purpose. |
string |
"generalPurpose" |
no |
jenkins_efs_throughput_mode |
The throughput mode of the EFS file system used by the Jenkins service. Defaults to bursting. |
string |
"bursting" |
no |
jenkins_service_desired_container_count |
The desired number of containers running the Jenkins service. |
number |
1 |
no |
jenkins_service_subnets |
A list of subnets to deploy the Jenkins service into. Private subnets are recommended. |
list(string) |
n/a |
yes |
name |
The name attached to Jenkins module resources. |
string |
"jenkins" |
no |
project_prefix |
The project prefix for this workload. This is appeneded to the beginning of most resource names. |
string |
"cgd" |
no |
tags |
Tags to apply to resources. |
map(any) |
{ "IAC_MANAGEMENT": "CGD-Toolkit", "IAC_MODULE": "Jenkins", "IAC_PROVIDER": "Terraform" } |
no |
vpc_id |
The ID of the existing VPC you would like to deploy the Jenkins service and build farms into. |
string |
n/a |
yes |