#!/usr/bin/env python3 from aws_cdk import core import os from ec2_ialb_aga_custom_r53.network_stack import NetworkingStack from ec2_ialb_aga_custom_r53.aga_stack import AgaStack from ec2_ialb_aga_custom_r53.alb_stack import ALBStack from ec2_ialb_aga_custom_r53.certs_stack import CertsStack from ec2_ialb_aga_custom_r53.ec2_stack import EC2Stack deploy_env = core.Environment( account=os.environ["CDK_DEFAULT_ACCOUNT"], region=os.environ["CDK_DEFAULT_REGION"]) # These need to be injected at synth/deployment time CIDR = os.getenv("VPC_CIDR", "") DOMAIN = os.getenv("R53_DOMAIN", "") SUB_DOMAIN = "code-server" app = core.App() net = NetworkingStack(app, "GravitonBlog-NetworkingStack", CIDR, env=deploy_env) ec2 = EC2Stack(app, "GravitonBlog-EC2Stack", net.vpc, env=deploy_env) ec2.add_dependency(net) cert = CertsStack(app, "GravitonBlog-CertsStack", DOMAIN, SUB_DOMAIN, env=deploy_env) alb = ALBStack(app, "GravitonBlog-ALBStack", net.vpc, ec2.instance, cert.domain_cert, env=deploy_env) alb.add_dependency(net) alb.add_dependency(ec2) alb.add_dependency(cert) aga = AgaStack(app, "GravitonBlog-AGAStack", net.vpc, alb.alb, cert.blog_hosted_zone, SUB_DOMAIN, env=deploy_env) aga.add_dependency(net) aga.add_dependency(cert) aga.add_dependency(alb) app.synth()