/ main.tf
main.tf
 1  /* DERIVED --------------------------------------*/
 2  
 3  provider "aws" {
 4    region     = "us-east-1"
 5    access_key = data.pass_password.aws_access_key.password
 6    secret_key = data.pass_password.aws_secret_key.password
 7  }
 8  
 9  /* DATA -----------------------------------------*/
10  
11  terraform {
12    backend "s3" {
13      bucket  = "dapps-terraform-state"
14      key     = "infra-dapps"
15      region  = "us-east-1"
16      encrypt = true
17    }
18  }
19  
20  /* INVENTORY ------------------------------------*/
21  
22  resource "aws_s3_bucket" "tf-state" {
23    bucket = "dapps-terraform-state"
24    acl    = "private"
25  
26    tags = {
27      Name = "Terraform State Store"
28    }
29  
30    policy = file("files/s3-policy.json")
31  
32    versioning {
33      enabled = true
34    }
35  
36    lifecycle {
37      prevent_destroy = true
38    }
39  }
40  
41  /* ACCESS ---------------------------------------*/
42  
43  resource "aws_key_pair" "admin" {
44    key_name   = "admin-key"
45    public_key = file("files/jakub.pub")
46  }
47  
48  data "aws_caller_identity" "current" {}