diff --git a/.gitignore b/.gitignore index 7000fedd25..831a59295f 100644 --- a/.gitignore +++ b/.gitignore @@ -43,3 +43,5 @@ profile.cov .vscode tests/spec-tests/ +.terraform +terraform.tfstate* diff --git a/terraform/backend/.terraform.lock.hcl b/terraform/backend/.terraform.lock.hcl new file mode 100644 index 0000000000..b0f38952ea --- /dev/null +++ b/terraform/backend/.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.70.0, 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/backend/main.tf b/terraform/backend/main.tf new file mode 100644 index 0000000000..b7a5be1eaa --- /dev/null +++ b/terraform/backend/main.tf @@ -0,0 +1,27 @@ +module "s3_bucket" { + source = "terraform-aws-modules/s3-bucket/aws" + version = "4.4.0" + + bucket = "limechain-devops-task-tf-state" + acl = "private" + + control_object_ownership = true + object_ownership = "ObjectWriter" + + versioning = { + enabled = true + } +} + +resource "aws_dynamodb_table" "terraform_lock_table" { + name = "terraform-lock-table" + billing_mode = "PAY_PER_REQUEST" + + hash_key = "LockID" + deletion_protection_enabled = true + + attribute { + name = "LockID" + type = "S" + } +} diff --git a/terraform/backend/versions.tf b/terraform/backend/versions.tf new file mode 100644 index 0000000000..878a16ad9c --- /dev/null +++ b/terraform/backend/versions.tf @@ -0,0 +1,22 @@ +terraform { + # backend "s3" { + # bucket = "limechain-devops-task-tf-state" + # key = "backend/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" +}