jenkins
cloudposse/jenkins/aws
Terraform module to build Docker image with Jenkins, save it to an ECR repo, and deploy to Elastic Beanstalk running Docker stack
terraform-aws-jenkins   [![README Header][readme_header_img]][readme_header_link] [![Cloud Posse][logo]](https://cpco.io/homepage) terraform-aws-jenkins is a Terraform module to build a Docker image with Jenkins, save it to an ECR repo, and deploy to Elastic Beanstalk running Docker. This is an enterprise-ready, scalable and highly-available architecture and the CI/CD pattern to build and deploy Jenkins. Features The module will create the following AWS resources: Elastic Beanstalk Application Elastic Beanstalk Environment with Docker stack to run the Jenkins master ECR repository to store the Jenkins Docker image EFS filesystem to store Jenkins config and j
| Name | Type | Description | Default |
|---|---|---|---|
| region | string | AWS region in which to provision the AWS resources | required |
| availability_zones | list(string) | List of Availability Zones for EFS | required |
| loadbalancer_subnets | list(string) | List of subnets to place Elastic Load Balancer | required |
| application_subnets | list(string) | List of subnets to place EC2 instances and EFS | required |
| dns_zone_id | string | Route53 parent zone ID. The module will create sub-domain DNS records in the par | required |
| aws_account_id | string | AWS Account ID. Used as CodeBuild ENV variable $AWS_ACCOUNT_ID when building Doc | required |
| github_oauth_token | string | GitHub Oauth Token | required |
| vpc_id | string | ID of the VPC in which to provision the AWS resources | required |
| name | string | ID element. Usually the component or solution name, e.g. 'app' or 'jenkins'. Thi | null |
| tags | map(string) | Additional tags (e.g. `{'BusinessUnit': 'XYZ'}`). Neither the tag keys nor the t | {} |
| loadbalancer_type | string | Load Balancer type, e.g. 'application' or 'classic' | "application" |
| environment | string | ID element. Usually used for region e.g. 'uw2', 'us-west-2', OR role 'prod', 'st | null |
| stage | string | ID element. Usually used to indicate role, e.g. 'prod', 'staging', 'source', 'bu | null |
| rolling_update_type | string | `Health`, `Time` or `Immutable`. Set it to `Immutable` to apply the configuratio | "Health" |
| efs_backup_completion_window | number | The amount of time AWS Backup attempts a backup before canceling the job and ret | null |
| tenant | string | ID element _(Rarely used, not included by default)_. A customer identifier, indi | null |
| github_branch | string | GitHub repository branch, e.g. 'master'. By default, this module will deploy 'ht | "master" |
| label_key_case | string | Controls the letter case of the `tags` keys (label names) for tags generated by | null |
| description | string | Will be used as Elastic Beanstalk application description | "Jenkins server as Docker container runn |
| associated_security_group_ids | list(string) | List of security groups to be allowed to connect to Jenkins master EC2 instances | [] |
| additional_tag_map | map(string) | Additional key-value pairs to add to each map in `tags_as_list_of_maps`. Not add | {} |
| label_order | list(string) | The order in which the labels (ID elements) appear in the `id`. Defaults to ["na | null |
| github_organization | string | GitHub organization, e.g. 'cloudposse'. By default, this module will deploy 'htt | "cloudposse" |
| cicd_bucket_force_destroy | bool | Force destroy the CI/CD S3 bucket even if it's not empty | false |
| build_image | string | CodeBuild build image, e.g. 'aws/codebuild/amazonlinux2-x86_64-standard:1.0'. Fo | "aws/codebuild/docker:1.12.1" |
| use_efs_ip_address | bool | If set to `true`, will provide the EFS IP address instead of DNS name to Jenkins | false |
| attributes | list(string) | ID element. Additional attributes (e.g. `workers` or `cluster`) to add to `id`, | [] |
| labels_as_tags | set(string) | Set of labels (ID elements) to include as tags in the `tags` output. Default is | [
"default"
] |
| … and 10 more inputs | |||
codepipeline_id — CodePipeline IDcodepipeline_arn — CodePipeline ARNecr_registry_id — Registry IDcodebuild_project_id — CodeBuild project IDcodebuild_badge_url — The URL of the build badge when badge_enabled is enabledefs_network_interface_ids — List of mount target network interface IDscodebuild_project_name — CodeBuild project nameefs_backup_vault_id — Backup Vault IDefs_backup_vault_arn — Backup Vault ARNelastic_beanstalk_environment_security_group_id — Security group idelastic_beanstalk_environment_autoscaling_groups — The autoscaling groups used by this environmentefs_host — Route53 DNS hostname for the EFSefs_id — EFS IDefs_dns_name — EFS DNS nameefs_backup_selection_id — Backup Selection IDelastic_beanstalk_environment_id — ID of the Elastic Beanstalk environmentelastic_beanstalk_environment_application — The Elastic Beanstalk Application specified for this environmentecr_repository_name — Repository nameelastic_beanstalk_environment_tier — The environment tierelastic_beanstalk_environment_launch_configurations — Launch configurations in use by this environmentefs_arn — EFS ARNelastic_beanstalk_environment_name — Nameelastic_beanstalk_environment_elb_zone_id — ELB zone idelastic_beanstalk_environment_endpoint — Fully qualified DNS name for the environmentelastic_beanstalk_environment_queues — SQS queues in use by this environmentcodebuild_role_id — CodeBuild IAM Role IDefs_backup_plan_arn — Backup Plan ARNelastic_beanstalk_environment_hostname — DNS hostnameelastic_beanstalk_environment_setting — Settings specifically set for this environmentelastic_beanstalk_environment_load_balancers — Elastic Load Balancers in use by this environmentAzure landing zones Terraform module
Terraform supermodule for the Terraform platform engineering for Azure
Terraform module to deploy landing zone subscriptions (and much more) in Azure
Terraform Module to define a consistent naming convention by (namespace, stage,