From a3e9023890b4b4182c197733f3c8f1dd7f9dc20d Mon Sep 17 00:00:00 2001 From: velotioaastha Date: Wed, 4 Sep 2024 15:20:17 +0530 Subject: [PATCH] fix terraform lint and terraform fmt issues --- .github/workflows/tf-lint.yaml | 36 +++++++++++++++++++++++++++++ .tflint.hcl | 9 -------- main.tf | 15 ++++++------ modules/app_eks/add-ons.tf | 38 +++++++++++++++---------------- modules/app_lb/outputs.tf | 4 ++-- modules/endpoint/main.tf | 10 ++++---- modules/endpoint/variables.tf | 10 ++++---- modules/iam_role/variables.tf | 2 +- modules/private_link/main.tf | 10 ++++---- modules/private_link/variables.tf | 4 ++-- outputs.tf | 2 +- variables.tf | 18 --------------- 12 files changed, 84 insertions(+), 74 deletions(-) create mode 100644 .github/workflows/tf-lint.yaml delete mode 100644 .tflint.hcl diff --git a/.github/workflows/tf-lint.yaml b/.github/workflows/tf-lint.yaml new file mode 100644 index 000000000..93e4e181b --- /dev/null +++ b/.github/workflows/tf-lint.yaml @@ -0,0 +1,36 @@ +name: Terraform Lint and Format Check + +on: + push: + branches: + - main + pull_request: + branches: + - main + +jobs: + terraform_checks: + name: Run Terraform Lint and Format Check + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Setup Terraform + uses: hashicorp/setup-terraform@v1 + with: + terraform_version: "~1" + + - name: Install tflint + run: | + curl -s https://raw.githubusercontent.com/terraform-linters/tflint/master/install_linux.sh | bash + + - name: Initialize TFLint + run: tflint --init + + - name: Run tflint + run: tflint + + - name: Check Terraform formatting + run: terraform fmt -check -recursive diff --git a/.tflint.hcl b/.tflint.hcl deleted file mode 100644 index 22c4bb2eb..000000000 --- a/.tflint.hcl +++ /dev/null @@ -1,9 +0,0 @@ -config { - module = true -} - -plugin "aws" { - enabled = true - version = "0.7.2" - source = "github.com/terraform-linters/tflint-ruleset-aws" -} \ No newline at end of file diff --git a/main.tf b/main.tf index eadef75d1..a4d77bd3e 100644 --- a/main.tf +++ b/main.tf @@ -32,8 +32,8 @@ module "file_storage" { } locals { - bucket_name = local.use_external_bucket ? var.bucket_name : module.file_storage.0.bucket_name - bucket_queue_name = local.use_internal_queue ? null : module.file_storage.0.bucket_queue_name + bucket_name = local.use_external_bucket ? var.bucket_name : module.file_storage[0].bucket_name + bucket_queue_name = local.use_internal_queue ? null : module.file_storage[0].bucket_queue_name } module "networking" { @@ -57,7 +57,8 @@ locals { network_private_subnets = var.create_vpc ? module.networking.private_subnets : var.network_private_subnets network_private_subnet_cidrs = var.create_vpc ? module.networking.private_subnet_cidrs : var.network_private_subnet_cidrs - network_database_subnets = var.create_vpc ? module.networking.database_subnets : var.network_database_subnets + network_database_subnets = var.create_vpc ? module.networking.database_subnets : var.network_database_subnets + # tflint-ignore: terraform_unused_declarations network_database_subnet_cidrs = var.create_vpc ? module.networking.database_subnet_cidrs : var.network_database_subnet_cidrs network_database_create_subnet_group = !var.create_vpc network_database_subnet_group_name = var.create_vpc ? module.networking.database_subnet_group_name : "${var.namespace}-database-subnet" @@ -146,7 +147,7 @@ module "app_eks" { ]) bucket_arn = data.aws_s3_bucket.file_storage.arn - bucket_sqs_queue_arn = local.use_internal_queue ? null : data.aws_sqs_queue.file_storage.0.arn + bucket_sqs_queue_arn = local.use_internal_queue ? null : data.aws_sqs_queue.file_storage[0].arn network_id = local.network_id network_private_subnets = local.network_private_subnets @@ -155,7 +156,7 @@ module "app_eks" { database_security_group_id = module.database.security_group_id create_elasticache_security_group = var.create_elasticache - elasticache_security_group_id = var.create_elasticache ? module.redis.0.security_group_id : null + elasticache_security_group_id = var.create_elasticache ? module.redis[0].security_group_id : null cluster_version = var.eks_cluster_version cluster_endpoint_public_access = var.kubernetes_public_access @@ -292,8 +293,8 @@ module "wandb" { } redis = { - host = module.redis.0.host - port = "${module.redis.0.port}?tls=true&ttlInSeconds=604800" + host = module.redis[0].host + port = "${module.redis[0].port}?tls=true&ttlInSeconds=604800" } } diff --git a/modules/app_eks/add-ons.tf b/modules/app_eks/add-ons.tf index 3db67c0f7..36bc01424 100644 --- a/modules/app_eks/add-ons.tf +++ b/modules/app_eks/add-ons.tf @@ -32,43 +32,43 @@ resource "aws_iam_role" "oidc" { ### add-ons for eks version 1.28 resource "aws_eks_addon" "aws_efs_csi_driver" { - depends_on = [ - aws_eks_addon.vpc_cni - ] - cluster_name = var.namespace - addon_name = "aws-efs-csi-driver" - addon_version = "v2.0.4-eksbuild.1" - resolve_conflicts = "OVERWRITE" + depends_on = [ + aws_eks_addon.vpc_cni + ] + cluster_name = var.namespace + addon_name = "aws-efs-csi-driver" + addon_version = "v2.0.4-eksbuild.1" + resolve_conflicts = "OVERWRITE" } resource "aws_eks_addon" "aws_ebs_csi_driver" { depends_on = [ aws_eks_addon.vpc_cni ] - cluster_name = var.namespace - addon_name = "aws-ebs-csi-driver" - addon_version = "v1.31.0-eksbuild.1" - resolve_conflicts = "OVERWRITE" + cluster_name = var.namespace + addon_name = "aws-ebs-csi-driver" + addon_version = "v1.31.0-eksbuild.1" + resolve_conflicts = "OVERWRITE" } resource "aws_eks_addon" "coredns" { depends_on = [ aws_eks_addon.vpc_cni ] - cluster_name = var.namespace - addon_name = "coredns" - addon_version = "v1.10.1-eksbuild.11" - resolve_conflicts = "OVERWRITE" + cluster_name = var.namespace + addon_name = "coredns" + addon_version = "v1.10.1-eksbuild.11" + resolve_conflicts = "OVERWRITE" } resource "aws_eks_addon" "kube_proxy" { depends_on = [ aws_eks_addon.vpc_cni ] - cluster_name = var.namespace - addon_name = "kube-proxy" - addon_version = "v1.28.8-eksbuild.5" - resolve_conflicts = "OVERWRITE" + cluster_name = var.namespace + addon_name = "kube-proxy" + addon_version = "v1.28.8-eksbuild.5" + resolve_conflicts = "OVERWRITE" } resource "aws_eks_addon" "vpc_cni" { diff --git a/modules/app_lb/outputs.tf b/modules/app_lb/outputs.tf index 20724c32c..6f8fa61fa 100644 --- a/modules/app_lb/outputs.tf +++ b/modules/app_lb/outputs.tf @@ -15,9 +15,9 @@ output "tg_app_arn" { } output "alb_name" { -value = aws_lb.alb.arn + value = aws_lb.alb.arn } output "nlb_security_group" { - value = var.enable_private_only_traffic? aws_security_group.inbound_private[0].id : null + value = var.enable_private_only_traffic ? aws_security_group.inbound_private[0].id : null } \ No newline at end of file diff --git a/modules/endpoint/main.tf b/modules/endpoint/main.tf index dc64c71cf..2c8ebe6b1 100644 --- a/modules/endpoint/main.tf +++ b/modules/endpoint/main.tf @@ -1,9 +1,9 @@ resource "aws_vpc_endpoint" "default" { - vpc_id = var.network_id - service_name = var.service_name - vpc_endpoint_type = "Gateway" - auto_accept = true - route_table_ids = var.private_route_table_id + vpc_id = var.network_id + service_name = var.service_name + vpc_endpoint_type = "Gateway" + auto_accept = true + route_table_ids = var.private_route_table_id policy = <