|
11 | 11 | cdk_app = cdk.App() |
12 | 12 | env_name = cdk_app.node.try_get_context("env") or "dev" |
13 | 13 | config = load_context_config(env_name=env_name) |
14 | | -stack_name_prefix = f"app-{env_name}" |
15 | | -fully_qualified_domain_name = config["FQDN"] |
16 | | -environment_tags = config["TAGS"] |
17 | | -app_version = "latest" |
| 14 | +STACK_NAME_PREFIX = f"app-{env_name}" |
| 15 | +FQDN = config["FQDN"] |
| 16 | +TAGS = config["TAGS"] |
| 17 | +APP_VERSION = "latest" |
18 | 18 |
|
19 | 19 | # recursively apply tags to all stack resources |
20 | | -if environment_tags: |
21 | | - for key, value in environment_tags.items(): |
| 20 | +if TAGS: |
| 21 | + for key, value in TAGS.items(): |
22 | 22 | cdk.Tags.of(cdk_app).add(key, value) |
23 | 23 |
|
24 | 24 | network_stack = NetworkStack( |
25 | 25 | scope=cdk_app, |
26 | | - construct_id=f"{stack_name_prefix}-network", |
| 26 | + construct_id=f"{STACK_NAME_PREFIX}-network", |
27 | 27 | vpc_cidr=config["VPC_CIDR"], |
28 | 28 | ) |
29 | 29 |
|
30 | 30 | ecs_stack = EcsStack( |
31 | 31 | scope=cdk_app, |
32 | | - construct_id=f"{stack_name_prefix}-ecs", |
| 32 | + construct_id=f"{STACK_NAME_PREFIX}-ecs", |
33 | 33 | vpc=network_stack.vpc, |
34 | | - namespace=fully_qualified_domain_name, |
| 34 | + namespace=FQDN, |
35 | 35 | ) |
36 | 36 |
|
37 | 37 | # From AWS docs https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect-concepts-deploy.html |
|
40 | 40 | # client service is running and available the public, but a backend isn't. |
41 | 41 | load_balancer_stack = LoadBalancerStack( |
42 | 42 | scope=cdk_app, |
43 | | - construct_id=f"{stack_name_prefix}-load-balancer", |
| 43 | + construct_id=f"{STACK_NAME_PREFIX}-load-balancer", |
44 | 44 | vpc=network_stack.vpc, |
45 | 45 | ) |
46 | 46 | load_balancer_stack.add_dependency(ecs_stack) |
|
49 | 49 | ecs_task_cpu=256, |
50 | 50 | ecs_task_memory=512, |
51 | 51 | container_name="my-app", |
52 | | - # can also reference github with 'ghcr.io/sage-bionetworks/my-app:{app_version}' |
53 | | - container_location=f"nginx:{app_version}", |
| 52 | + # can also reference github with 'ghcr.io/sage-bionetworks/my-app:{APP_VERSION}' |
| 53 | + container_location=f"nginx:{APP_VERSION}", |
54 | 54 | container_port=80, |
55 | 55 | container_env_vars={ |
56 | | - "APP_VERSION": f"{app_version}", |
| 56 | + "APP_VERSION": f"{APP_VERSION}", |
57 | 57 | }, |
58 | 58 | ) |
59 | 59 | app_stack = LoadBalancedServiceStack( |
60 | 60 | scope=cdk_app, |
61 | | - construct_id=f"{stack_name_prefix}-app", |
| 61 | + construct_id=f"{STACK_NAME_PREFIX}-app", |
62 | 62 | vpc=network_stack.vpc, |
63 | 63 | cluster=ecs_stack.cluster, |
64 | 64 | props=app_props, |
|
0 commit comments