diff --git a/.gitignore b/.gitignore index 831a59295f..fd953ecb05 100644 --- a/.gitignore +++ b/.gitignore @@ -43,5 +43,7 @@ profile.cov .vscode tests/spec-tests/ + .terraform terraform.tfstate* +.terraform.tfstate.lock.info diff --git a/terraform/infra/dev/.terraform.lock.hcl b/terraform/infra/dev/.terraform.lock.hcl new file mode 100644 index 0000000000..d9f78a49d4 --- /dev/null +++ b/terraform/infra/dev/.terraform.lock.hcl @@ -0,0 +1,29 @@ +# This file is maintained automatically by "terraform init". +# Manual edits may be lost in future updates. + +provider "registry.terraform.io/hashicorp/aws" { + version = "5.83.1" + constraints = "5.83.1" + hashes = [ + "h1:8KI8wFWW2iPYVMyNGI75bxgmwy8MjZk4G6Quut5H7x8=", + "h1:YEZLk+HoD/Oz9VC0M7UoMTAFEvoqAwfXLgPc+9ndpVU=", + "h1:Yy3K7R7881H72rQDzG6qjZVkrWA6DGJzfE21TionY7w=", + "h1:jEKbxB3GtA9ak4XXkaIXTMbnu/SDiiqNKDeF/78XrHc=", + "h1:vInFMDq9oMs53/i+7IU8hZgmTLhFfng8L8kbuALZxSI=", + "zh:0313253c78f195973752c4d1f62bfdd345a9c99c1bc7a612a8c1f1e27d51e49e", + "zh:108523f3e9ebc93f7d900c51681f6edbd3f3a56b8a62b0afc31d8214892f91e0", + "zh:175b9bf2a00bea6ac1c73796ad77b0e00dcbbde166235017c49377d7763861d8", + "zh:1c8bf55b8548bbad683cd6d7bdb03e8840a00b2422dc1529ffb9892820657130", + "zh:22338f09bae62d5ff646de00182417f992548da534fee7d98c5d0136d4bd5d7a", + "zh:92de1107ec43de60612be5f6255616f16a9cf82d88df1af1c0471b81f3a82c16", + "zh:9b12af85486a96aedd8d7984b0ff811a4b42e3d88dad1a3fb4c0b580d04fa425", + "zh:9c7bfb7afea330e6d90e1466125a8cba3db1ed4043c5da52f737459c89290a6e", + "zh:ba59b374d477e5610674b70f5abfe0408e8f809390347372751384151440d3d0", + "zh:bd1c433966002f586d63cb1e3e16326991f238bc6beeb2352be36ec651917b0b", + "zh:ca2b4d1d02651c15261fffa4b142e45def9a22c6069353f0f663fd2046e268f8", + "zh:d8ed98c748f7a3f1a72277cfee9afe346aca39ab319d17402277852551d8f14a", + "zh:ed3d8bc89de5f35f3c5f4802ff7c749fda2e2be267f9af4a850694f099960a72", + "zh:f698732a4391c3f4d7079b4aaa52389da2a460cac5eed438ed688f147d603689", + "zh:f9f51b17f2978394954e9f6ab9ef293b8e11f1443117294ccf87f7f8212b3439", + ] +} diff --git a/terraform/infra/dev/dev.auto.tfvars b/terraform/infra/dev/dev.auto.tfvars new file mode 100644 index 0000000000..c919090d02 --- /dev/null +++ b/terraform/infra/dev/dev.auto.tfvars @@ -0,0 +1 @@ +env = "dev" \ No newline at end of file diff --git a/terraform/infra/dev/variables.tf b/terraform/infra/dev/variables.tf new file mode 100644 index 0000000000..93956193dc --- /dev/null +++ b/terraform/infra/dev/variables.tf @@ -0,0 +1,4 @@ +variable "env" { + description = "The environment for the deployment" + type = string +} diff --git a/terraform/infra/dev/versions.tf b/terraform/infra/dev/versions.tf new file mode 100644 index 0000000000..b295f831c5 --- /dev/null +++ b/terraform/infra/dev/versions.tf @@ -0,0 +1,22 @@ +terraform { + backend "s3" { + bucket = "limechain-devops-task-tf-state" + key = "dev/terraform.tfstate" + region = "eu-central-1" + dynamodb_table = "terraform-lock-table" + encrypt = true + } + + required_providers { + aws = { + source = "hashicorp/aws" + version = "5.83.1" + } + } + + required_version = ">= 1.9.8" +} + +provider "aws" { + region = "eu-central-1" +} diff --git a/terraform/infra/prod/.terraform.lock.hcl b/terraform/infra/prod/.terraform.lock.hcl new file mode 100644 index 0000000000..d9f78a49d4 --- /dev/null +++ b/terraform/infra/prod/.terraform.lock.hcl @@ -0,0 +1,29 @@ +# This file is maintained automatically by "terraform init". +# Manual edits may be lost in future updates. + +provider "registry.terraform.io/hashicorp/aws" { + version = "5.83.1" + constraints = "5.83.1" + hashes = [ + "h1:8KI8wFWW2iPYVMyNGI75bxgmwy8MjZk4G6Quut5H7x8=", + "h1:YEZLk+HoD/Oz9VC0M7UoMTAFEvoqAwfXLgPc+9ndpVU=", + "h1:Yy3K7R7881H72rQDzG6qjZVkrWA6DGJzfE21TionY7w=", + "h1:jEKbxB3GtA9ak4XXkaIXTMbnu/SDiiqNKDeF/78XrHc=", + "h1:vInFMDq9oMs53/i+7IU8hZgmTLhFfng8L8kbuALZxSI=", + "zh:0313253c78f195973752c4d1f62bfdd345a9c99c1bc7a612a8c1f1e27d51e49e", + "zh:108523f3e9ebc93f7d900c51681f6edbd3f3a56b8a62b0afc31d8214892f91e0", + "zh:175b9bf2a00bea6ac1c73796ad77b0e00dcbbde166235017c49377d7763861d8", + "zh:1c8bf55b8548bbad683cd6d7bdb03e8840a00b2422dc1529ffb9892820657130", + "zh:22338f09bae62d5ff646de00182417f992548da534fee7d98c5d0136d4bd5d7a", + "zh:92de1107ec43de60612be5f6255616f16a9cf82d88df1af1c0471b81f3a82c16", + "zh:9b12af85486a96aedd8d7984b0ff811a4b42e3d88dad1a3fb4c0b580d04fa425", + "zh:9c7bfb7afea330e6d90e1466125a8cba3db1ed4043c5da52f737459c89290a6e", + "zh:ba59b374d477e5610674b70f5abfe0408e8f809390347372751384151440d3d0", + "zh:bd1c433966002f586d63cb1e3e16326991f238bc6beeb2352be36ec651917b0b", + "zh:ca2b4d1d02651c15261fffa4b142e45def9a22c6069353f0f663fd2046e268f8", + "zh:d8ed98c748f7a3f1a72277cfee9afe346aca39ab319d17402277852551d8f14a", + "zh:ed3d8bc89de5f35f3c5f4802ff7c749fda2e2be267f9af4a850694f099960a72", + "zh:f698732a4391c3f4d7079b4aaa52389da2a460cac5eed438ed688f147d603689", + "zh:f9f51b17f2978394954e9f6ab9ef293b8e11f1443117294ccf87f7f8212b3439", + ] +} diff --git a/terraform/infra/prod/prod.auto.tfvars b/terraform/infra/prod/prod.auto.tfvars new file mode 100644 index 0000000000..fe82db5bd8 --- /dev/null +++ b/terraform/infra/prod/prod.auto.tfvars @@ -0,0 +1 @@ +env = "prod" \ No newline at end of file diff --git a/terraform/infra/prod/variables.tf b/terraform/infra/prod/variables.tf new file mode 100644 index 0000000000..93956193dc --- /dev/null +++ b/terraform/infra/prod/variables.tf @@ -0,0 +1,4 @@ +variable "env" { + description = "The environment for the deployment" + type = string +} diff --git a/terraform/infra/prod/versions.tf b/terraform/infra/prod/versions.tf new file mode 100644 index 0000000000..f2c1d4b749 --- /dev/null +++ b/terraform/infra/prod/versions.tf @@ -0,0 +1,22 @@ +terraform { + backend "s3" { + bucket = "limechain-devops-task-tf-state" + key = "prod/terraform.tfstate" + region = "eu-central-1" + dynamodb_table = "terraform-lock-table" + encrypt = true + } + + required_providers { + aws = { + source = "hashicorp/aws" + version = "5.83.1" + } + } + + required_version = ">= 1.9.8" +} + +provider "aws" { + region = "eu-central-1" +} diff --git a/terraform/infra/stage/.terraform.lock.hcl b/terraform/infra/stage/.terraform.lock.hcl new file mode 100644 index 0000000000..d9f78a49d4 --- /dev/null +++ b/terraform/infra/stage/.terraform.lock.hcl @@ -0,0 +1,29 @@ +# This file is maintained automatically by "terraform init". +# Manual edits may be lost in future updates. + +provider "registry.terraform.io/hashicorp/aws" { + version = "5.83.1" + constraints = "5.83.1" + hashes = [ + "h1:8KI8wFWW2iPYVMyNGI75bxgmwy8MjZk4G6Quut5H7x8=", + "h1:YEZLk+HoD/Oz9VC0M7UoMTAFEvoqAwfXLgPc+9ndpVU=", + "h1:Yy3K7R7881H72rQDzG6qjZVkrWA6DGJzfE21TionY7w=", + "h1:jEKbxB3GtA9ak4XXkaIXTMbnu/SDiiqNKDeF/78XrHc=", + "h1:vInFMDq9oMs53/i+7IU8hZgmTLhFfng8L8kbuALZxSI=", + "zh:0313253c78f195973752c4d1f62bfdd345a9c99c1bc7a612a8c1f1e27d51e49e", + "zh:108523f3e9ebc93f7d900c51681f6edbd3f3a56b8a62b0afc31d8214892f91e0", + "zh:175b9bf2a00bea6ac1c73796ad77b0e00dcbbde166235017c49377d7763861d8", + "zh:1c8bf55b8548bbad683cd6d7bdb03e8840a00b2422dc1529ffb9892820657130", + "zh:22338f09bae62d5ff646de00182417f992548da534fee7d98c5d0136d4bd5d7a", + "zh:92de1107ec43de60612be5f6255616f16a9cf82d88df1af1c0471b81f3a82c16", + "zh:9b12af85486a96aedd8d7984b0ff811a4b42e3d88dad1a3fb4c0b580d04fa425", + "zh:9c7bfb7afea330e6d90e1466125a8cba3db1ed4043c5da52f737459c89290a6e", + "zh:ba59b374d477e5610674b70f5abfe0408e8f809390347372751384151440d3d0", + "zh:bd1c433966002f586d63cb1e3e16326991f238bc6beeb2352be36ec651917b0b", + "zh:ca2b4d1d02651c15261fffa4b142e45def9a22c6069353f0f663fd2046e268f8", + "zh:d8ed98c748f7a3f1a72277cfee9afe346aca39ab319d17402277852551d8f14a", + "zh:ed3d8bc89de5f35f3c5f4802ff7c749fda2e2be267f9af4a850694f099960a72", + "zh:f698732a4391c3f4d7079b4aaa52389da2a460cac5eed438ed688f147d603689", + "zh:f9f51b17f2978394954e9f6ab9ef293b8e11f1443117294ccf87f7f8212b3439", + ] +} diff --git a/terraform/infra/stage/stage.auto.tfvars b/terraform/infra/stage/stage.auto.tfvars new file mode 100644 index 0000000000..4e4f7897f8 --- /dev/null +++ b/terraform/infra/stage/stage.auto.tfvars @@ -0,0 +1 @@ +env = "stage" \ No newline at end of file diff --git a/terraform/infra/stage/variables.tf b/terraform/infra/stage/variables.tf new file mode 100644 index 0000000000..93956193dc --- /dev/null +++ b/terraform/infra/stage/variables.tf @@ -0,0 +1,4 @@ +variable "env" { + description = "The environment for the deployment" + type = string +} diff --git a/terraform/infra/stage/versions.tf b/terraform/infra/stage/versions.tf new file mode 100644 index 0000000000..a3728f8507 --- /dev/null +++ b/terraform/infra/stage/versions.tf @@ -0,0 +1,22 @@ +terraform { + backend "s3" { + bucket = "limechain-devops-task-tf-state" + key = "stage/terraform.tfstate" + region = "eu-central-1" + dynamodb_table = "terraform-lock-table" + encrypt = true + } + + required_providers { + aws = { + source = "hashicorp/aws" + version = "5.83.1" + } + } + + required_version = ">= 1.9.8" +} + +provider "aws" { + region = "eu-central-1" +}