diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e04f227 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +.terraform.lock.hcl +terraform.tfstate +terraform.tfstate.backup +.terraform/terraform.tfstate +.terraform/modules/modules.json +.terraform/providers/registry.terraform.io/hashicorp/aws/5.37.0/linux_amd64/terraform-provider-aws_v5.37.0_x5 diff --git a/.terraform/modules/aws_s3_bucket b/.terraform/modules/aws_s3_bucket new file mode 160000 index 0000000..3a1c80b --- /dev/null +++ b/.terraform/modules/aws_s3_bucket @@ -0,0 +1 @@ +Subproject commit 3a1c80b29fdf8fc682d2749456ec36ecbaf4ce14 diff --git a/main.tf b/main.tf index 80291b4..88517c2 100644 --- a/main.tf +++ b/main.tf @@ -4,7 +4,7 @@ provider "aws" { terraform { backend "s3" { - bucket = "nr-tfstate" + bucket = "ronnic-tfstate" key = "global/state/terraform.tfstate" region = "us-west-1" dynamodb_table = "nr_tfstate_lock" @@ -12,6 +12,31 @@ terraform { } } -module "terraform_tfstate" { - source = "http://192.168.1.27:3003/ronnic/tf-modules.git?ref=main//state" - } \ No newline at end of file +module "aws_s3_bucket" { + source = "terraform-aws-modules/s3-bucket/aws" + + bucket = "ronnic-tfstate" + versioning = { + enabled = true + } + + server_side_encryption_configuration = { + rule = { + apply_server_side_encryption_by_default = { + sse_algorithm = "AES256" + } + } + } +} + +resource "aws_dynamodb_table" "terraform_locks" { + name = "nr_tfstate_lock" + billing_mode = "PAY_PER_REQUEST" + hash_key = "LockID" + + attribute { + name = "LockID" + type = "S" + } +} +