-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.py
64 lines (50 loc) · 1.57 KB
/
app.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#!/usr/bin/env python3
import aws_cdk as cdk
from portfolio.route53_stack import Route53Stack
from portfolio.build_pipeline_stack import BuildPipelineStack
from portfolio.github_connection_stack import GitHubConnectionStack
from portfolio.region_stack.region_parent_stack import RegionParentStack
from portfolio.region_stack.persistent_parent_stack import PersistentParentStack
from portfolio.utils import construct_name
from config import config
app = cdk.App()
main_env = cdk.Environment(
account=config['account.id'],
region=config['account.main_region']
)
github_connection_stack = GitHubConnectionStack(
app,
"GitHubConnection",
env=main_env
)
persistent_parent_stack = PersistentParentStack(
app,
"PersistentParentStack",
env=main_env
)
pipeline = BuildPipelineStack(
app,
"PipelineStack",
connection_arn=github_connection_stack.connection_arn,
region_persistent_stacks=persistent_parent_stack.region_persistent_stacks,
env=main_env
)
if config['route53.zone_name'] in ['None', None]:
hosted_zone_id = None
else:
route53_stack = Route53Stack(
app,
"Route53Stack",
env=main_env,
)
hosted_zone_id = route53_stack.hosted_zone.hosted_zone_id
for region, persistent_stack in persistent_parent_stack.region_persistent_stacks.items():
RegionParentStack(
app,
construct_name("ParentStack", region),
persistent_stack=persistent_stack,
ecr_repository=pipeline.repository,
hosted_zone_id=hosted_zone_id,
region=region
)
app.synth()