From 494bb186f9c3037a7ad5c8ee9356ec52e81d812b Mon Sep 17 00:00:00 2001 From: Sadri Gargouri <74971461+SadriG91@users.noreply.github.com> Date: Tue, 6 Apr 2021 14:37:33 +0200 Subject: [PATCH] Upgraded to TF 0.14 and issues fixes (#22) * updated vpc version and vpc config accordingly and updated to TF 0.14, both examples work * fixed some issues * removed line comment on examples/default/init/main.tf * terraform fmt on example/default/init/main.tf * set fmt recursive to true in taskfile --- .gitattributes | 1 + .github/workflows/main.yml | 7 +-- README.md | 14 ++--- Taskfile.yml | 2 +- examples/default/.terraform.lock.hcl | 57 +++++++++++++++++++ examples/default/init/.terraform.lock.hcl | 39 +++++++++++++ examples/default/init/main.tf | 6 +- examples/default/init/versions.tf | 12 ++++ examples/default/main.tf | 8 +-- examples/default/versions.tf | 9 +++ .../sonarqube-service/.terraform.lock.hcl | 39 +++++++++++++ examples/sonarqube-service/example.tf | 30 ++++++---- examples/sonarqube-service/versions.tf | 11 +++- main.tf | 23 +++++--- modules/init/outputs.tf | 4 ++ modules/init/versions.tf | 2 +- modules/sonarqube-service/main.tf | 19 ++++--- modules/sonarqube-service/versions.tf | 2 +- variables.tf | 4 -- versions.tf | 2 +- 20 files changed, 234 insertions(+), 57 deletions(-) create mode 100644 .gitattributes create mode 100644 examples/default/.terraform.lock.hcl create mode 100644 examples/default/init/.terraform.lock.hcl create mode 100644 examples/default/init/versions.tf create mode 100644 examples/default/versions.tf create mode 100644 examples/sonarqube-service/.terraform.lock.hcl diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..a52bd18 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +*.* text eol=lf \ No newline at end of file diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7c68566..03b155b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,6 +1,6 @@ name: workflow -on: [push] +on: [push, pull_request] jobs: test: @@ -11,9 +11,8 @@ jobs: uses: actions/setup-go@v1 with: { go-version: 1.13 } - name: Install Terraform - run: | - curl -sL https://releases.hashicorp.com/terraform/0.12.8/terraform_0.12.8_linux_amd64.zip -o terraform.zip - sudo unzip terraform.zip -d /usr/bin && rm -f terraform.zip + uses: hashicorp/setup-terraform@v1 + with: { terraform_version: 0.14.9 } - name: Install Taskfile run: curl -sL https://taskfile.dev/install.sh | sh - name: Run tests diff --git a/README.md b/README.md index 3b5a932..8477f61 100644 --- a/README.md +++ b/README.md @@ -22,14 +22,14 @@ To get a working Sonarqube installation up and running complete the following st replace the value for route53_zone with the name of your route53 hosted zone 4. create the following ssm parameters in your AWS account and encrypt them using the key create above. -| ssm parameter name| description | +| ssm parameter name| description of value | |--- |--- | -| \/github-auth-enabled |set to true| -| \/github-client-id | obtained from github| -| \/github-client-secret |obtained from github| -| \/github-organizations |github organisation for ouath| -| \/admin-username |may only contain url safe chars| -| \/admin-password |may only contain url safe chars| +| //github-auth-enabled |set to true| +| //github-client-id | obtained from github| +| //github-client-secret |obtained from github| +| //github-organizations |github organisation for ouath| +| //admin-username |may only contain url safe chars| +| //admin-password |may only contain url safe chars| 5. run terraform apply diff --git a/Taskfile.yml b/Taskfile.yml index a2c3d82..8f51492 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -32,7 +32,7 @@ tasks: cd $d echo "${BOLD}$PWD:${NORM}" - if ! terraform fmt -check=true -list=false -recursive=false; then + if ! terraform fmt -check=true -list=false -recursive=true; then echo " ✗ terraform fmt" && exit $? else echo " √ terraform fmt" diff --git a/examples/default/.terraform.lock.hcl b/examples/default/.terraform.lock.hcl new file mode 100644 index 0000000..e69c532 --- /dev/null +++ b/examples/default/.terraform.lock.hcl @@ -0,0 +1,57 @@ +# This file is maintained automatically by "terraform init". +# Manual edits may be lost in future updates. + +provider "registry.terraform.io/hashicorp/aws" { + version = "3.32.0" + constraints = ">= 2.17.0, ~> 3.0" + hashes = [ + "h1:l8jJYQ4bPEbNwZUoHYmeR1woajPzJSX5hPCLWuRVFwc=", + "zh:04e4f700c21b1f58e7603638160bd5ad3b85519c35dc75bada3e52b164d06d3e", + "zh:09f2338404d4b2d4dcb29781ac59a6955d935745e896d4ee661d83cac8d7c677", + "zh:16bdf96d8139268766921d5b891b865f67936190dc302283ba50b94e42510ec5", + "zh:1f0eb671390ee41ddf22faf22d00da636e57164214a37c77f7d3fb1f19ea9cce", + "zh:3703b0ba118887cb558085f4b7e732e4e374f455221fcf724bada6f71bd25d55", + "zh:a344b8b1d0c541abcfc3a5bd22aa28d1a07aff416db753d53219158a86e956cc", + "zh:a4798f3bf4ecbdfcd2ea72061e54053423a47f48812749b2cc7dc8dcf8a11eb4", + "zh:aeb5c18afe26388748289f2a3819c7c9210cb669efe01b3e28bf542c51c83bd7", + "zh:b0a3f5940f76dbd3ea9699f98f9cabc443c210c06f30caeb792e5843b7550cc1", + "zh:baa2854e3fbf3df9653a5e6a0f1093a018dad39312346426f4bcefc2ebfd74cc", + "zh:e305b3d227f2013ddd7cf22f2cfa4603a55187c8eddd07f980350a828b67ce49", + ] +} + +provider "registry.terraform.io/hashicorp/null" { + version = "3.1.0" + hashes = [ + "h1:vpC6bgUQoJ0znqIKVFevOdq+YQw42bRq0u+H3nto8nA=", + "zh:02a1675fd8de126a00460942aaae242e65ca3380b5bb192e8773ef3da9073fd2", + "zh:53e30545ff8926a8e30ad30648991ca8b93b6fa496272cd23b26763c8ee84515", + "zh:5f9200bf708913621d0f6514179d89700e9aa3097c77dac730e8ba6e5901d521", + "zh:9ebf4d9704faba06b3ec7242c773c0fbfe12d62db7d00356d4f55385fc69bfb2", + "zh:a6576c81adc70326e4e1c999c04ad9ca37113a6e925aefab4765e5a5198efa7e", + "zh:a8a42d13346347aff6c63a37cda9b2c6aa5cc384a55b2fe6d6adfa390e609c53", + "zh:c797744d08a5307d50210e0454f91ca4d1c7621c68740441cf4579390452321d", + "zh:cecb6a304046df34c11229f20a80b24b1603960b794d68361a67c5efe58e62b8", + "zh:e1371aa1e502000d9974cfaff5be4cfa02f47b17400005a16f14d2ef30dc2a70", + "zh:fc39cc1fe71234a0b0369d5c5c7f876c71b956d23d7d6f518289737a001ba69b", + "zh:fea4227271ebf7d9e2b61b89ce2328c7262acd9fd190e1fd6d15a591abfa848e", + ] +} + +provider "registry.terraform.io/hashicorp/random" { + version = "3.1.0" + hashes = [ + "h1:BZMEPucF+pbu9gsPk0G0BHx7YP04+tKdq2MrRDF1EDM=", + "zh:2bbb3339f0643b5daa07480ef4397bd23a79963cc364cdfbb4e86354cb7725bc", + "zh:3cd456047805bf639fbf2c761b1848880ea703a054f76db51852008b11008626", + "zh:4f251b0eda5bb5e3dc26ea4400dba200018213654b69b4a5f96abee815b4f5ff", + "zh:7011332745ea061e517fe1319bd6c75054a314155cb2c1199a5b01fe1889a7e2", + "zh:738ed82858317ccc246691c8b85995bc125ac3b4143043219bd0437adc56c992", + "zh:7dbe52fac7bb21227acd7529b487511c91f4107db9cc4414f50d04ffc3cab427", + "zh:a3a9251fb15f93e4cfc1789800fc2d7414bbc18944ad4c5c98f466e6477c42bc", + "zh:a543ec1a3a8c20635cf374110bd2f87c07374cf2c50617eee2c669b3ceeeaa9f", + "zh:d9ab41d556a48bd7059f0810cf020500635bfc696c9fc3adab5ea8915c1d886b", + "zh:d9e13427a7d011dbd654e591b0337e6074eef8c3b9bb11b2e39eaaf257044fd7", + "zh:f7605bd1437752114baf601bdf6931debe6dc6bfe3006eb7e9bb9080931dca8a", + ] +} diff --git a/examples/default/init/.terraform.lock.hcl b/examples/default/init/.terraform.lock.hcl new file mode 100644 index 0000000..b95adf5 --- /dev/null +++ b/examples/default/init/.terraform.lock.hcl @@ -0,0 +1,39 @@ +# This file is maintained automatically by "terraform init". +# Manual edits may be lost in future updates. + +provider "registry.terraform.io/hashicorp/aws" { + version = "3.34.0" + constraints = ">= 3.0.0" + hashes = [ + "h1:IL5Gksx/gN7oIDoKmh/t4S2qIb7qT8w1qXCRIGXyxUc=", + "zh:003272229bd19bb63d6e77bc3d684268c417a151dfaee01c40b40e21cdd8bb0f", + "zh:103cacc1f3d97dfb7e9dd1e1905b075f92d9bd8aed434f811e8111788b648a57", + "zh:63a43c6e5fb2e5ad59ea068bede5c6bb54358affd32163d72785473a15440427", + "zh:6648af39a318c85eb336e2fb3ec1a01c5ffe8d75cc51686c37e892dd6f6a8974", + "zh:71ac8f6d5d61e5dee90099fd4fc1bb5bcd8ccb674eb6e7cd58d20757f7cecd12", + "zh:73baae4aa5bc0af12917e3bb17e1086050d25cdf7ba604f7fc422653c99f884c", + "zh:7d920ac05c45e77c59c49e0dd0cb010d64202c5a2fdfde6d9efe3dc61e396c97", + "zh:8a495e49f8fcbe276a74911f9ca48381533686ff71a9d4f7027bb9109769b639", + "zh:8ab9769581dfc1675c645e33e7ab8fea6ad1acc9e232eeda823070447e5ecaf1", + "zh:a170ecc560d49c251f4bebb6d6a82ff3637ae16a0f779a53489d4a64ddd1ee6a", + "zh:d9178201057b62666691ec206d1fbe09965bcfea532085b4e31f46073bf5898f", + ] +} + +provider "registry.terraform.io/hashicorp/random" { + version = "3.1.0" + hashes = [ + "h1:BZMEPucF+pbu9gsPk0G0BHx7YP04+tKdq2MrRDF1EDM=", + "zh:2bbb3339f0643b5daa07480ef4397bd23a79963cc364cdfbb4e86354cb7725bc", + "zh:3cd456047805bf639fbf2c761b1848880ea703a054f76db51852008b11008626", + "zh:4f251b0eda5bb5e3dc26ea4400dba200018213654b69b4a5f96abee815b4f5ff", + "zh:7011332745ea061e517fe1319bd6c75054a314155cb2c1199a5b01fe1889a7e2", + "zh:738ed82858317ccc246691c8b85995bc125ac3b4143043219bd0437adc56c992", + "zh:7dbe52fac7bb21227acd7529b487511c91f4107db9cc4414f50d04ffc3cab427", + "zh:a3a9251fb15f93e4cfc1789800fc2d7414bbc18944ad4c5c98f466e6477c42bc", + "zh:a543ec1a3a8c20635cf374110bd2f87c07374cf2c50617eee2c669b3ceeeaa9f", + "zh:d9ab41d556a48bd7059f0810cf020500635bfc696c9fc3adab5ea8915c1d886b", + "zh:d9e13427a7d011dbd654e591b0337e6074eef8c3b9bb11b2e39eaaf257044fd7", + "zh:f7605bd1437752114baf601bdf6931debe6dc6bfe3006eb7e9bb9080931dca8a", + ] +} diff --git a/examples/default/init/main.tf b/examples/default/init/main.tf index 0df010b..c2faafc 100644 --- a/examples/default/init/main.tf +++ b/examples/default/init/main.tf @@ -1,5 +1,5 @@ terraform { - required_version = ">= 0.12" + required_version = ">= 0.14" backend "s3" { key = "terraform-modules/development/terraform-aws-sonarqube/default-init.tfstate" @@ -13,7 +13,6 @@ terraform { } provider "aws" { - version = ">= 2.17" region = "eu-west-1" allowed_account_ids = [""] } @@ -93,3 +92,6 @@ output "parameters_key_arn" { value = module.sonarqube-init.parameters_key_arn } +output "parameters_key_alias" { + value = module.sonarqube-init.parameters_key_alias +} diff --git a/examples/default/init/versions.tf b/examples/default/init/versions.tf new file mode 100644 index 0000000..3418ccd --- /dev/null +++ b/examples/default/init/versions.tf @@ -0,0 +1,12 @@ +terraform { + required_providers { + aws = { + source = "hashicorp/aws" + version = ">= 3.0" + } + random = { + source = "hashicorp/random" + } + } + required_version = ">= 0.14" +} diff --git a/examples/default/main.tf b/examples/default/main.tf index 749a569..78ccb64 100644 --- a/examples/default/main.tf +++ b/examples/default/main.tf @@ -1,5 +1,5 @@ terraform { - required_version = ">= 0.12" + required_version = ">= 0.14" backend "s3" { key = "terraform-modules/development/terraform-aws-sonarqube/default.tfstate" @@ -13,7 +13,6 @@ terraform { } provider "aws" { - version = ">= 2.17" region = "eu-west-1" allowed_account_ids = [""] } @@ -29,12 +28,11 @@ locals { module "sonarqube" { source = "../../" name_prefix = "sonarqube-default-test" - private_subnet_count = "2" cluster_instance_type = "t2.small" cluster_instance_count = "1" tags = local.tags - parameters_key_arn = "" - route53_zone_name = "" + parameters_key_arn = "" + route53_zone_name = "" } output "sonarqube_URL" { diff --git a/examples/default/versions.tf b/examples/default/versions.tf new file mode 100644 index 0000000..95371b6 --- /dev/null +++ b/examples/default/versions.tf @@ -0,0 +1,9 @@ +terraform { + required_providers { + aws = { + source = "hashicorp/aws" + version = ">= 3.0" + } + } + required_version = ">= 0.14" +} diff --git a/examples/sonarqube-service/.terraform.lock.hcl b/examples/sonarqube-service/.terraform.lock.hcl new file mode 100644 index 0000000..b95adf5 --- /dev/null +++ b/examples/sonarqube-service/.terraform.lock.hcl @@ -0,0 +1,39 @@ +# This file is maintained automatically by "terraform init". +# Manual edits may be lost in future updates. + +provider "registry.terraform.io/hashicorp/aws" { + version = "3.34.0" + constraints = ">= 3.0.0" + hashes = [ + "h1:IL5Gksx/gN7oIDoKmh/t4S2qIb7qT8w1qXCRIGXyxUc=", + "zh:003272229bd19bb63d6e77bc3d684268c417a151dfaee01c40b40e21cdd8bb0f", + "zh:103cacc1f3d97dfb7e9dd1e1905b075f92d9bd8aed434f811e8111788b648a57", + "zh:63a43c6e5fb2e5ad59ea068bede5c6bb54358affd32163d72785473a15440427", + "zh:6648af39a318c85eb336e2fb3ec1a01c5ffe8d75cc51686c37e892dd6f6a8974", + "zh:71ac8f6d5d61e5dee90099fd4fc1bb5bcd8ccb674eb6e7cd58d20757f7cecd12", + "zh:73baae4aa5bc0af12917e3bb17e1086050d25cdf7ba604f7fc422653c99f884c", + "zh:7d920ac05c45e77c59c49e0dd0cb010d64202c5a2fdfde6d9efe3dc61e396c97", + "zh:8a495e49f8fcbe276a74911f9ca48381533686ff71a9d4f7027bb9109769b639", + "zh:8ab9769581dfc1675c645e33e7ab8fea6ad1acc9e232eeda823070447e5ecaf1", + "zh:a170ecc560d49c251f4bebb6d6a82ff3637ae16a0f779a53489d4a64ddd1ee6a", + "zh:d9178201057b62666691ec206d1fbe09965bcfea532085b4e31f46073bf5898f", + ] +} + +provider "registry.terraform.io/hashicorp/random" { + version = "3.1.0" + hashes = [ + "h1:BZMEPucF+pbu9gsPk0G0BHx7YP04+tKdq2MrRDF1EDM=", + "zh:2bbb3339f0643b5daa07480ef4397bd23a79963cc364cdfbb4e86354cb7725bc", + "zh:3cd456047805bf639fbf2c761b1848880ea703a054f76db51852008b11008626", + "zh:4f251b0eda5bb5e3dc26ea4400dba200018213654b69b4a5f96abee815b4f5ff", + "zh:7011332745ea061e517fe1319bd6c75054a314155cb2c1199a5b01fe1889a7e2", + "zh:738ed82858317ccc246691c8b85995bc125ac3b4143043219bd0437adc56c992", + "zh:7dbe52fac7bb21227acd7529b487511c91f4107db9cc4414f50d04ffc3cab427", + "zh:a3a9251fb15f93e4cfc1789800fc2d7414bbc18944ad4c5c98f466e6477c42bc", + "zh:a543ec1a3a8c20635cf374110bd2f87c07374cf2c50617eee2c669b3ceeeaa9f", + "zh:d9ab41d556a48bd7059f0810cf020500635bfc696c9fc3adab5ea8915c1d886b", + "zh:d9e13427a7d011dbd654e591b0337e6074eef8c3b9bb11b2e39eaaf257044fd7", + "zh:f7605bd1437752114baf601bdf6931debe6dc6bfe3006eb7e9bb9080931dca8a", + ] +} diff --git a/examples/sonarqube-service/example.tf b/examples/sonarqube-service/example.tf index 4ab0dad..6d65bb5 100644 --- a/examples/sonarqube-service/example.tf +++ b/examples/sonarqube-service/example.tf @@ -1,6 +1,5 @@ provider "aws" { - version = ">= 2.17" - region = "eu-west-1" + region = "eu-west-1" } data "aws_vpc" "main" { @@ -13,8 +12,8 @@ data "aws_subnet_ids" "main" { locals { name_prefix = "sonarqube-example" - route53_zone = "example.com" - certificate_arn = "" + route53_zone = "" + certificate_arn = "" tags = { terraform = "true" @@ -25,13 +24,13 @@ locals { module "ecs_cluster" { source = "telia-oss/ecs/aws//modules/cluster" - version = "2.0.0" + version = "3.0.0-alpha.3" - instance_ami = "ami-0af844a965e5738db" + instance_ami = "ami-0ffea00000f287d30" instance_type = "t2.small" name_prefix = local.name_prefix vpc_id = data.aws_vpc.main.id - subnet_ids = [data.aws_subnet_ids.main.ids] + subnet_ids = data.aws_subnet_ids.main.ids tags = local.tags load_balancers = [module.loadbalancer.security_group_id] load_balancer_count = 1 @@ -39,12 +38,12 @@ module "ecs_cluster" { module "loadbalancer" { source = "telia-oss/loadbalancer/aws" - version = "3.0.0" + version = "4.0.0" name_prefix = local.name_prefix type = "application" vpc_id = data.aws_vpc.main.id - subnet_ids = [data.aws_subnet_ids.main.ids] + subnet_ids = data.aws_subnet_ids.main.ids tags = local.tags } @@ -60,6 +59,13 @@ module "sonarqube" { cluster_security_group_id = module.ecs_cluster.security_group_id loadbalancer_dns_name = module.loadbalancer.dns_name route53_zone_name = local.route53_zone + + ##This is added to force Terraform to create the parameters before deploying Sonarqube + ##This is for the example only don't do this in production + depends_on = [ + aws_ssm_parameter.sonarqube_rds_username, + aws_ssm_parameter.sonarqube_rds_password + ] } resource "aws_lb_listener" "main" { @@ -95,14 +101,14 @@ resource "aws_kms_alias" "key-alias" { } #Passwords set and storted in repo for example only (don't do it this way!) -resource "aws_ssm_parameter" "rds_username" { +resource "aws_ssm_parameter" "sonarqube_rds_username" { name = "/${local.name_prefix}/rds-username" type = "SecureString" value = "username" key_id = aws_kms_key.sonarqube-parameters.key_id } -resource "aws_ssm_parameter" "rds_password" { +resource "aws_ssm_parameter" "sonarqube_rds_password" { name = "/${local.name_prefix}/rds-password" type = "SecureString" value = "notsogoodpassword" @@ -117,7 +123,7 @@ resource "aws_ssm_parameter" "admin_username" { } resource "aws_ssm_parameter" "admin_password" { - name = "/${local.name_prefix}/admin-username" + name = "/${local.name_prefix}/admin-password" type = "SecureString" value = "anotherbadpassword" key_id = aws_kms_key.sonarqube-parameters.key_id diff --git a/examples/sonarqube-service/versions.tf b/examples/sonarqube-service/versions.tf index ac97c6a..74c15bd 100644 --- a/examples/sonarqube-service/versions.tf +++ b/examples/sonarqube-service/versions.tf @@ -1,4 +1,9 @@ - terraform { - required_version = ">= 0.12" -} + required_providers { + aws = { + source = "hashicorp/aws" + version = ">= 3.0" + } + } + required_version = ">= 0.14" +} \ No newline at end of file diff --git a/main.tf b/main.tf index ff04e73..674f242 100644 --- a/main.tf +++ b/main.tf @@ -1,17 +1,26 @@ module "vpc" { source = "telia-oss/vpc/aws" - version = "0.2.1" + version = "4.1.0" - name_prefix = var.name_prefix - cidr_block = "10.10.0.0/16" - private_subnet_count = var.private_subnet_count + name_prefix = var.name_prefix + cidr_block = "10.10.0.0/16" + public_subnet_cidrs = [ + "10.10.0.0/20", + "10.10.16.0/20", + "10.10.32.0/20", + ] + private_subnet_cidrs = [ + "10.10.48.0/20", + "10.10.64.0/20", + ] enable_dns_hostnames = true tags = var.tags } + module "loadbalancer" { source = "telia-oss/loadbalancer/aws" - version = "3.0.0" + version = "4.0.0" name_prefix = var.name_prefix type = "application" @@ -55,7 +64,7 @@ data "aws_ami" "ecs" { module "ecs_cluster" { source = "telia-oss/ecs/aws//modules/cluster" - version = "2.0.0" + version = "3.0.0-alpha.3" instance_ami = data.aws_ami.ecs.id instance_type = var.cluster_instance_type @@ -107,7 +116,7 @@ resource "aws_security_group_rule" "ingress_443" { module "cluster-agent-policy" { source = "telia-oss/ssm-agent-policy/aws" - version = "3.0.0" + version = "4.0.0" name_prefix = var.name_prefix role = module.ecs_cluster.role_name diff --git a/modules/init/outputs.tf b/modules/init/outputs.tf index da0281b..5d7cacd 100644 --- a/modules/init/outputs.tf +++ b/modules/init/outputs.tf @@ -3,3 +3,7 @@ output "parameters_key_arn" { value = aws_kms_key.sonarqube-parameters.arn } +output "parameters_key_alias" { + description = "The alias of the key used to encrypt the parameters" + value = aws_kms_alias.key-alias.name +} diff --git a/modules/init/versions.tf b/modules/init/versions.tf index ac97c6a..9d58500 100644 --- a/modules/init/versions.tf +++ b/modules/init/versions.tf @@ -1,4 +1,4 @@ terraform { - required_version = ">= 0.12" + required_version = ">= 0.14" } diff --git a/modules/sonarqube-service/main.tf b/modules/sonarqube-service/main.tf index 6c08c9c..9c70d0a 100644 --- a/modules/sonarqube-service/main.tf +++ b/modules/sonarqube-service/main.tf @@ -8,7 +8,8 @@ data "aws_caller_identity" "current" {} module "sonarqube-service" { source = "telia-oss/ecs/aws//modules/service" - version = "2.0.0" + version = "3.0.0-alpha.3" + name_prefix = var.name_prefix vpc_id = var.vpc_id @@ -16,7 +17,7 @@ module "sonarqube-service" { cluster_role_name = var.cluster_role_name task_container_image = "teliaoss/sonarqube-aws-env:v2.1.0" task_container_memory_reservation = 900 - task_container_environment_count = 11 + health_check = { port = "traffic-port" @@ -32,8 +33,8 @@ module "sonarqube-service" { task_container_environment = { "AWS_REGION" = data.aws_region.current.name - "SONARQUBE_JDBC_USERNAME" = "ssm://${data.aws_ssm_parameter.sonarqube-rds-username.name}" - "SONARQUBE_JDBC_PASSWORD" = "ssm://${data.aws_ssm_parameter.sonarqube-rds-password.name}" + "SONARQUBE_JDBC_USERNAME" = "ssm://${data.aws_ssm_parameter.sonarqube_rds_username.name}" + "SONARQUBE_JDBC_PASSWORD" = "ssm://${data.aws_ssm_parameter.sonarqube_rds_password.name}" "SONARQUBE_JDBC_URL" = "ssm://${aws_ssm_parameter.sonarqube-rds-url.name}" "SONARQUBE_BASE_URL" = "ssm://${aws_ssm_parameter.sonarqube-base-url.name}" "SONARQUBE_GITHUB_AUTH_ENABLED" = "ssm:///${var.name_prefix}/github-auth-enabled" @@ -49,12 +50,12 @@ module "sonarqube-service" { module "sonarqube-rds" { source = "telia-oss/rds-instance/aws" - version = "3.1.0" + version = "4.0.0" multi_az = false name_prefix = var.name_prefix - username = data.aws_ssm_parameter.sonarqube-rds-username.value - password = data.aws_ssm_parameter.sonarqube-rds-password.value + username = data.aws_ssm_parameter.sonarqube_rds_username.value + password = data.aws_ssm_parameter.sonarqube_rds_password.value port = 5432 engine = "postgres" instance_type = "db.t2.small" @@ -66,11 +67,11 @@ module "sonarqube-rds" { snapshot_identifier = var.snapshot_identifier } -data "aws_ssm_parameter" "sonarqube-rds-username" { +data "aws_ssm_parameter" "sonarqube_rds_username" { name = "/${var.name_prefix}/rds-username" } -data "aws_ssm_parameter" "sonarqube-rds-password" { +data "aws_ssm_parameter" "sonarqube_rds_password" { name = "/${var.name_prefix}/rds-password" } diff --git a/modules/sonarqube-service/versions.tf b/modules/sonarqube-service/versions.tf index ac97c6a..9d58500 100644 --- a/modules/sonarqube-service/versions.tf +++ b/modules/sonarqube-service/versions.tf @@ -1,4 +1,4 @@ terraform { - required_version = ">= 0.12" + required_version = ">= 0.14" } diff --git a/variables.tf b/variables.tf index 2e72e08..8a205a5 100644 --- a/variables.tf +++ b/variables.tf @@ -8,10 +8,6 @@ variable "tags" { type = map(string) } -variable "private_subnet_count" { - description = "The number of private subnets to be created in the VPC - typically this is set to the number of availability zones in the region selected" - type = number -} variable "cluster_instance_type" { description = "The instance type to use for the ECS cluster" diff --git a/versions.tf b/versions.tf index ac97c6a..9d58500 100644 --- a/versions.tf +++ b/versions.tf @@ -1,4 +1,4 @@ terraform { - required_version = ">= 0.12" + required_version = ">= 0.14" }