Skip to content

Commit

Permalink
🔄 synced local 'terraform' with remote 'terraform'
Browse files Browse the repository at this point in the history
systemadmin-asm committed May 18, 2023
1 parent 50710b9 commit 73d4900
Showing 32 changed files with 603 additions and 57 deletions.
88 changes: 45 additions & 43 deletions terraform/dev/us-west-2/stack/.terraform.lock.hcl

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions terraform/dev/us-west-2/stack/generate-env.tf
Original file line number Diff line number Diff line change
@@ -5,8 +5,8 @@ resource "null_resource" "env_file" {

provisioner "local-exec" {
command = <<-EOT
echo "\nVITE_API_ENDPOINT=${module.acp_demo_gql-server.api_endpoint}/graphql" >> ../../../../packages/web-app/.env
echo "VITE_REPLAY_ENDPOINT=https://${module.acp_demo_im.im_results_domain_name}/" >> ../../../../packages/web-app/.env
echo "VITE_API_ENDPOINT=${module.acp_demo_gql-server.api_endpoint}/graphql" >> ../../../../packages/web-app/.env.${local.environment}
echo "VITE_REPLAY_ENDPOINT=https://${module.acp_demo_im.im_results_domain_name}/" >> ../../../../packages/web-app/.env.${local.environment}
EOT
}
}
12 changes: 10 additions & 2 deletions terraform/dev/us-west-2/stack/main.tf
Original file line number Diff line number Diff line change
@@ -19,13 +19,16 @@ module "acp_demo_gql-server" {
module "acp_demo_web_app" {
source = "../../../modules/web-app"

# domain_name = module.acp_demo_app_domain.app_domain_name
domain_name = module.networking.domain_name
environment = local.environment
# domain_acm_cert_arn = module.acp_demo_app_domain.domain_acm_cert_arn

providers = {
aws.global = aws.global
}

depends_on = [
module.networking
]
}

module "acp_demo_im" {
@@ -61,3 +64,8 @@ module "acp_demo_event_handlers" {
}
im_events_sqs_arn = module.acp_demo_im.im_events_sqs_arn
}

module "networking" {
source = "../../../modules/networking"
domain_name = "paddi-dev.al8st.me"
}
3 changes: 3 additions & 0 deletions terraform/dev/us-west-2/stack/outputs.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
output "domain_ns" {
value = module.networking.domain_ns
}
6 changes: 3 additions & 3 deletions terraform/modules/gql-server/lambda.tf
Original file line number Diff line number Diff line change
@@ -2,7 +2,7 @@ locals {
lambda_package_path = "../../../../packages/gql-api/dist/graphql-handler.js.zip"
}

resource "aws_s3_bucket_object" "lambda-package" {
resource "aws_s3_object" "lambda-package" {
bucket = module.lambda_s3_bucket.s3_bucket_id
key = "acp-demo-gql-server-${filemd5(local.lambda_package_path)}.zip"
source = local.lambda_package_path
@@ -21,8 +21,8 @@ module "gql_server_handler_lambda" {

create_package = false
s3_existing_package = {
bucket = aws_s3_bucket_object.lambda-package.bucket
key = aws_s3_bucket_object.lambda-package.id
bucket = aws_s3_object.lambda-package.bucket
key = aws_s3_object.lambda-package.id
}

environment_variables = {
3 changes: 3 additions & 0 deletions terraform/modules/gql-server/s3.tf
Original file line number Diff line number Diff line change
@@ -4,6 +4,9 @@ module "lambda_s3_bucket" {
bucket = "acp-demo-${var.environment}-lambda-artifacts"
acl = "private"

control_object_ownership = true
object_ownership = "ObjectWriter"

versioning = {
enabled = true
}
2 changes: 1 addition & 1 deletion terraform/modules/intelligence-mining/s3.tf
Original file line number Diff line number Diff line change
@@ -52,7 +52,7 @@ resource "aws_s3_bucket" "results-bucket" {


# upload training models
resource "aws_s3_bucket_object" "training-models" {
resource "aws_s3_object" "training-models" {
# iterate over the training models
for_each = local.training_models

3 changes: 3 additions & 0 deletions terraform/modules/networking/dns.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
resource "aws_route53_zone" "domain" {
name = var.domain_name
}
7 changes: 7 additions & 0 deletions terraform/modules/networking/outputs.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
output "domain_ns" {
value = resource.aws_route53_zone.domain.name_servers
}

output "domain_name" {
value = resource.aws_route53_zone.domain.name
}
1 change: 1 addition & 0 deletions terraform/modules/networking/variables.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
variable domain_name {}
8 changes: 4 additions & 4 deletions terraform/modules/web-app/cloudfront.tf
Original file line number Diff line number Diff line change
@@ -43,7 +43,7 @@ resource "aws_cloudfront_distribution" "s3_distribution" {
is_ipv6_enabled = true
default_root_object = "index.html"

# aliases = [var.domain_name]
aliases = [var.domain_name]

default_cache_behavior {
allowed_methods = [
@@ -71,9 +71,9 @@ resource "aws_cloudfront_distribution" "s3_distribution" {

viewer_certificate {
cloudfront_default_certificate = true
# acm_certificate_arn = var.domain_acm_cert_arn
ssl_support_method = "sni-only"
minimum_protocol_version = "TLSv1"
acm_certificate_arn = aws_acm_certificate.acm_cert.arn
ssl_support_method = "sni-only"
minimum_protocol_version = "TLSv1"
}

custom_error_response {
50 changes: 50 additions & 0 deletions terraform/modules/web-app/dns.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
data "aws_route53_zone" "domain" {
name = var.domain_name
}

resource "aws_acm_certificate" "acm_cert" {
provider = aws.global
domain_name = data.aws_route53_zone.domain.name
validation_method = "DNS"

lifecycle {
create_before_destroy = true
}
}

resource "aws_route53_record" "cert_validation" {
for_each = {
for dvo in aws_acm_certificate.acm_cert.domain_validation_options : dvo.domain_name => {
name = dvo.resource_record_name
record = dvo.resource_record_value
type = dvo.resource_record_type
}
}

allow_overwrite = true
name = each.value.name
records = [each.value.record]
ttl = 60
type = each.value.type
zone_id = data.aws_route53_zone.domain.zone_id
}

resource "aws_acm_certificate_validation" "validation" {
provider = aws.global
certificate_arn = aws_acm_certificate.acm_cert.arn
validation_record_fqdns = [for record in aws_route53_record.cert_validation : record.fqdn]
}

resource "aws_route53_record" "route53_record" {
zone_id = data.aws_route53_zone.domain.zone_id
name = data.aws_route53_zone.domain.name
type = "A"

alias {
name = aws_cloudfront_distribution.s3_distribution.domain_name
zone_id = "Z2FDTNDATAQYW2"

//HardCoded value for CloudFront
evaluate_target_health = false
}
}
8 changes: 8 additions & 0 deletions terraform/modules/web-app/provider.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
configuration_aliases = [aws.global]
}
}
}
3 changes: 1 addition & 2 deletions terraform/modules/web-app/variables.tf
Original file line number Diff line number Diff line change
@@ -2,6 +2,5 @@ variable "environment" {
description = "dev / staging / prod"
}

# variable "domain_acm_cert_arn" {}
variable "domain_name" {}

# variable "domain_name" {}
85 changes: 85 additions & 0 deletions terraform/prod/us-west-2/stack/.terraform.lock.hcl

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions terraform/prod/us-west-2/stack/data.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
data "aws_caller_identity" "current" {}

data "aws_ecr_authorization_token" "token" {
registry_id = data.aws_caller_identity.current.account_id
}
Loading
Oops, something went wrong.

0 comments on commit 73d4900

Please sign in to comment.