Skip to content

TransformCore/zekia-terraform

Repository files navigation

zekia-terraform

The Terraform for the zekia.io infrastructure. This deploys the following to AWS:

  • An S3 bucket for static website files
  • An Athena database to query CUR data
  • A CloudFront distribution, pointed at the static website files bucket
  • An ECS service to run container(s)
  • An ECR repository for the container images
  • A VPC including security groups
  • An ACM certificate and Route53 configuration for a supplied domain

Requirements

Name Version
terraform >= 1.1.7
aws 4.15.1

Providers

Name Version
aws 4.15.1
aws.cloudfront 4.15.1

Modules

Name Source Version
athena_kms git@github.com:TransformCore/internal-terraform-aws-kms.git v0.0.1
ecr_kms git@github.com:TransformCore/internal-terraform-aws-kms.git v0.0.1
paramstore_kms git@github.com:TransformCore/internal-terraform-aws-kms.git v0.0.1
vpc terraform-aws-modules/vpc/aws 3.14.0

Resources

Name Type
aws_acm_certificate.root resource
aws_acm_certificate.wildcard resource
aws_acm_certificate_validation.root resource
aws_acm_certificate_validation.wildcard resource
aws_athena_database.main resource
aws_cloudfront_distribution.s3_distribution resource
aws_cloudfront_origin_access_identity.main resource
aws_ecr_lifecycle_policy.main resource
aws_ecr_repository.main resource
aws_ecs_cluster.main resource
aws_ecs_cluster_capacity_providers.main resource
aws_ecs_service.main resource
aws_ecs_task_definition.main resource
aws_iam_policy.athena resource
aws_iam_policy.ce resource
aws_iam_policy.ecr_policy resource
aws_iam_policy.glue resource
aws_iam_policy.kms resource
aws_iam_policy.s3_policy resource
aws_iam_policy.ssm resource
aws_iam_role.assume_role resource
aws_iam_role.ecs_task_execution_role resource
aws_iam_role_policy_attachment.assume_role_policy_attachment resource
aws_iam_role_policy_attachment.athena resource
aws_iam_role_policy_attachment.ce resource
aws_iam_role_policy_attachment.ecs_task_execution_role resource
aws_iam_role_policy_attachment.glue resource
aws_iam_role_policy_attachment.kms resource
aws_iam_role_policy_attachment.s3 resource
aws_iam_role_policy_attachment.ssm resource
aws_iam_user.main resource
aws_lb.main resource
aws_lb_listener.http resource
aws_lb_listener.https resource
aws_lb_target_group.main resource
aws_route.internet_access resource
aws_route53_record.api resource
aws_route53_record.main resource
aws_route53_record.root_validation resource
aws_route53_record.wildcard_validation resource
aws_route53domains_registered_domain.main resource
aws_route_table.private resource
aws_s3_bucket.athena resource
aws_s3_bucket.client resource
aws_s3_bucket_acl.athena resource
aws_s3_bucket_acl.client resource
aws_s3_bucket_policy.client resource
aws_s3_bucket_public_access_block.athena resource
aws_s3_bucket_server_side_encryption_configuration.athena resource
aws_s3_bucket_server_side_encryption_configuration.client resource
aws_s3_bucket_versioning.athena resource
aws_s3_bucket_versioning.client resource
aws_s3_bucket_website_configuration.client resource
aws_security_group.alb resource
aws_security_group.ecs_tasks resource
aws_availability_zones.available data source
aws_caller_identity.current data source
aws_iam_account_alias.current data source
aws_iam_policy_document.assume_role_policy data source
aws_iam_policy_document.athena data source
aws_iam_policy_document.ce data source
aws_iam_policy_document.client data source
aws_iam_policy_document.ecr data source
aws_iam_policy_document.ecs_task_execution_role data source
aws_iam_policy_document.glue data source
aws_iam_policy_document.kms data source
aws_iam_policy_document.s3 data source
aws_iam_policy_document.ssm data source
aws_route53_zone.main data source
aws_s3_bucket.billing_data data source
aws_s3_bucket.state data source

Inputs

Name Description Type Default Required
aws_region Region of the AWS account. string "eu-west-2" no
container_cpu Number of CPU units used by the task. number 1024 no
container_memory Amount (MiB) of memory used by the task. number 2048 no
container_port Port the container should run on. number 80 no
desired_count Desired number of ECS tasks to run. number 1 no
environment Project environment (dev, stage, prod). string "dev" no

Outputs

Name Description
alb_hostname URL of the ALB.
athena_results_bucket Name of the Athena bucket.
aws_ecr_repository_url URL of the ECR repository.
cloudfront_domain_name URL of the CloudFront distribution.
static_files_bucket Name of the bucket for the static site files.

About

Infrastructure for Zekia on AWS.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published