Skip to content

Commit 428d65c

Browse files
committed
Configure Terraform remote state
1 parent b6312c2 commit 428d65c

File tree

4 files changed

+51
-0
lines changed

4 files changed

+51
-0
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,3 +132,4 @@ dmypy.json
132132

133133
.terraform
134134
*terraform.tfstate*
135+
*terraform.lock*

terraform/remote_state/main.tf

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
provider "aws" {
2+
region = "eu-west-1"
3+
}
4+
5+
resource "aws_s3_bucket" "terraform_state" {
6+
bucket = "devops-urjc-state"
7+
8+
# Prevent accidental deletion of this S3 bucket
9+
lifecycle {
10+
prevent_destroy = true
11+
}
12+
13+
versioning {
14+
enabled = true
15+
}
16+
17+
server_side_encryption_configuration {
18+
rule {
19+
apply_server_side_encryption_by_default {
20+
sse_algorithm = "AES256"
21+
}
22+
}
23+
}
24+
}
25+
26+
resource "aws_dynamodb_table" "terraform_locks" {
27+
name = "devops-urjc-locks"
28+
hash_key = "LockID"
29+
billing_mode = "PAY_PER_REQUEST"
30+
31+
attribute {
32+
name = "LockID"
33+
type = "S"
34+
}
35+
}

terraform/remote_state/outputs.tf

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
output "s3_bucket_arn" {
2+
value = aws_s3_bucket.terraform_state.arn
3+
description = "The ARN of the S3 bucket"
4+
}

terraform/terraform_aws/main.tf

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,17 @@ provider "aws" {
22
region = "eu-west-1"
33
}
44

5+
terraform {
6+
backend "s3" {
7+
bucket = "devops-urjc-state"
8+
key = "terraform/devops-swarm-state/terraform.tfstate"
9+
region = "eu-west-1"
10+
11+
dynamodb_table = "devops-urjc-locks"
12+
encrypt = true
13+
}
14+
}
15+
516
resource "aws_instance" "swarm_node" {
617
count=var.cluster_size
718
# Ubuntu Server 20.04 LTS (HVM), SSD Volume Type

0 commit comments

Comments
 (0)