47 lines
1.3 KiB
HCL
47 lines
1.3 KiB
HCL
provider "aws" {
|
|
region = var.aws_region
|
|
}
|
|
|
|
resource "aws_s3_bucket" "personal_measure" {
|
|
bucket = var.app_root_url
|
|
acl = "log-delivery-write"
|
|
}
|
|
|
|
|
|
resource "aws_ecr_repository" "personal_measure_api" {
|
|
name = "personal_measure_api"
|
|
image_tag_mutability = "IMMUTABLE"
|
|
|
|
image_scanning_configuration {
|
|
scan_on_push = true
|
|
}
|
|
}
|
|
|
|
module "dev_env" {
|
|
source = "./deployed_env"
|
|
|
|
environment = "dev"
|
|
artifact_bucket = aws_s3_bucket.personal_measure
|
|
route53_zone = data.terraform_remote_state.jdbsoft.outputs.aws_route53_zone_jdbsoft
|
|
domain_cert = data.terraform_remote_state.jdbsoft.outputs.aws_acm_certificate_jdbsoft_us_east_1
|
|
}
|
|
|
|
module "prod_env" {
|
|
source = "./deployed_env"
|
|
|
|
environment = "prod"
|
|
artifact_bucket = aws_s3_bucket.personal_measure
|
|
route53_zone = data.terraform_remote_state.jdbsoft.outputs.aws_route53_zone_jdbsoft
|
|
domain_cert = data.terraform_remote_state.jdbsoft.outputs.aws_acm_certificate_jdbsoft_us_east_1
|
|
}
|
|
|
|
data "aws_iam_policy_document" "cloudfront_access_policy" {
|
|
source_json = "${module.dev_env.oai_access_policy.json}"
|
|
override_json = "${module.prod_env.oai_access_policy.json}"
|
|
}
|
|
|
|
resource "aws_s3_bucket_policy" "personal_measure" {
|
|
bucket = aws_s3_bucket.personal_measure.id
|
|
policy = data.aws_iam_policy_document.cloudfront_access_policy.json
|
|
}
|