@@ -93,14 +93,29 @@ const low_cost_EMEA_stack_config: cdk.StackProps = {
9393//Note: 'lower-envs-vpc' is both the VPC name and the CloudFormation Stack Name
9494
9595const lower_envs_vpc = new Opinionated_VPC ( cdk_state , 'lower-envs-vpc' , low_co2_AMER_stack_config ) ;
96- //Note: About the below lower_envs_vpc.apply_*_config() functions
97- // The order in which you call these functions matters, because some functions set
98- // values in a way that's intended to be overridable. This is why it's
99- // recommended to follow the below order of application (global -> my_org -> env)
100- lower_envs_vpc . apply_global_baseline_vpc_config ( ) ;
101- lower_envs_vpc . apply_my_orgs_baseline_vpc_config ( ) ;
102- lower_envs_vpc . apply_lower_envs_vpc_config ( ) ;
103- lower_envs_vpc . deploy_vpc_construct_into_this_objects_stack ( ) ;
96+ lower_envs_vpc . stage_deployment_of_opinionated_vpc_for_lower_envs ( ) ;
97+ // ^-- This applys global_baseline_vpc_config, then my_orgs_baseline_vpc_config, then lower_envs_vpc_config
98+ // Then stages deployment of vpc construct into lower_envs_vpc.stack
99+ // Actual Deployment happens when user runs `cdk deploy lower-envs-vpc`
100+
101+ // const higher_envs_vpc = new Opinionated_VPC(cdk_state, 'higher-envs-vpc', low_cost_AMER_stack_config);
102+ // higher_envs_vpc.stage_deployment_of_opinionated_vpc_for_higher_envs();
103+ /* ^-- This is commented out by default for 2 reasons:
104+ 1. Every uncommented staged deployment makes `cdk list` take longer to finish
105+ (Things run faster if you wait to uncomment deployable stacks until needed.)
106+ 2. It won't work until cdk bootstrap is run in the configured stack's region.
107+ (us-east-2 is associated with low_cost_AMER_stack_config)
108+
109+ Commands to bootstrap:
110+ Note: It's recommended to copy paste each command one at a time, & read output between runs.
111+ ```bash
112+ export AWS_REGION=us-east-2
113+ export AWS_ACCOUNT=$(aws sts get-caller-identity | jq .Account | tr -d '"')
114+ echo $AWS_REGION
115+ echo $AWS_ACCOUNT
116+ cdk bootstrap aws://$AWS_ACCOUNT/$AWS_REGION
117+ ```
118+ */
104119///////////////////////////////////////////////////////////////////////////////////////////
105120
106121
@@ -113,32 +128,46 @@ dev1_eks.apply_global_baseline_eks_config();
113128dev1_eks . apply_my_orgs_baseline_eks_config ( ) ;
114129dev1_eks . apply_lower_envs_eks_config ( ) ;
115130dev1_eks . apply_dev_eks_config ( ) ;
116- dev1_eks . deploy_eks_construct_into_this_objects_stack ( ) ;
117- dev1_eks . deploy_global_baseline_eks_dependencies ( ) ;
118- dev1_eks . deploy_my_orgs_baseline_eks_dependencies ( ) ;
119- dev1_eks . deploy_lower_envs_eks_dependencies ( ) ;
120- dev1_eks . deploy_dev_eks_dependencies ( ) ;
121- dev1_eks . deploy_global_baseline_eks_workload_dependencies ( ) ;
122- dev1_eks . deploy_my_orgs_baseline_eks_workload_dependencies ( ) ;
123- dev1_eks . deploy_lower_envs_eks_workload_dependencies ( ) ;
124- dev1_eks . deploy_dev_eks_workload_dependencies ( ) ;
125- dev1_eks . deploy_global_baseline_eks_workloads ( ) ;
126- dev1_eks . deploy_my_orgs_baseline_eks_workloads ( ) ;
127- dev1_eks . deploy_lower_envs_eks_workloads ( ) ;
128- dev1_eks . deploy_dev_eks_workloads ( ) ;
131+ dev1_eks . stage_deployment_of_eks_construct_into_this_objects_stack ( ) ;
132+ dev1_eks . stage_deployment_of_global_baseline_eks_dependencies ( ) ;
133+ dev1_eks . stage_deployment_of_my_orgs_baseline_eks_dependencies ( ) ;
134+ dev1_eks . stage_deployment_of_lower_envs_eks_dependencies ( ) ;
135+ dev1_eks . stage_deployment_of_dev_eks_dependencies ( ) ;
136+ dev1_eks . stage_deployment_of_global_baseline_eks_workload_dependencies ( ) ;
137+ dev1_eks . stage_deployment_of_my_orgs_baseline_eks_workload_dependencies ( ) ;
138+ dev1_eks . stage_deployment_of_lower_envs_eks_workload_dependencies ( ) ;
139+ dev1_eks . stage_deployment_of_dev_eks_workload_dependencies ( ) ;
140+ dev1_eks . stage_deployment_of_global_baseline_eks_workloads ( ) ;
141+ dev1_eks . stage_deployment_of_my_orgs_baseline_eks_workloads ( ) ;
142+ dev1_eks . stage_deployment_of_lower_envs_eks_workloads ( ) ;
143+ dev1_eks . stage_deployment_of_dev_eks_workloads ( ) ;
129144//^-- deployment time of ~18.6mins (~15-20mins)
130145
131146//Example 2: Equivalent to Example 1, just with convenience methods as short hand
132147//(This format balances usability and debugability)
133148const dev2_eks = new Easy_EKS ( cdk_state , 'dev2-eks' , low_co2_AMER_stack_config ) ;
134149dev2_eks . apply_dev_baseline_config ( ) ; //<-- convenience method #1
135- dev2_eks . deploy_eks_construct_into_this_objects_stack ( ) ; //<-- creates eks cluster
136- dev2_eks . deploy_dev_baseline_dependencies ( ) ; //<-- convenience method #2
137- dev2_eks . deploy_dev_baseline_workload_dependencies ( ) ; //<-- convenience method #3
138- dev2_eks . deploy_dev_baseline_workloads ( ) ; //<-- convenience method #4
150+ dev2_eks . stage_deployment_of_eks_construct_into_this_objects_stack ( ) ;
151+ dev2_eks . stage_deployment_of_dev_baseline_dependencies ( ) ; //<-- convenience method #2
152+ dev2_eks . stage_deployment_of_dev_baseline_workload_dependencies ( ) ; //<-- convenience method #3
153+ dev2_eks . stage_deployment_of_dev_baseline_workloads ( ) ; //<-- convenience method #4
139154
140155//Example 3: Equivalent to Examples 1 & 2, just shorter
141156//(This format optimizes usability, but can make debugability slightly harder)
142157const dev3_eks = new Easy_EKS ( cdk_state , 'dev3-eks' , low_co2_AMER_stack_config ) ;
143- dev3_eks . deploy_opinionated_dev ( ) ; //<-- convenience method #5
158+ dev3_eks . stage_deployment_of_opinionated_eks_cluster_for_dev_envs ( ) ; //<-- convenience method #5
159+
160+ ///////////////////////////////////////////////////////////////////////////////////////////
161+ // const test1_eks = new Easy_EKS(cdk_state, 'test1-eks', low_co2_AMER_stack_config);
162+ // test1_eks.stage_deployment_of_opinionated_eks_cluster_for_test_envs();
163+ // ^-- This is commented out, because:
164+ // Every uncommented staged deployment makes `cdk list` take longer to finish
165+ // (Things run faster if you wait to uncomment deployable stacks until you need them.)
166+ ///////////////////////////////////////////////////////////////////////////////////////////
167+ // const stage1_eks = new Easy_EKS(cdk_state, 'stage1-eks', low_cost_AMER_stack_config);
168+ // stage1_eks.stage_deployment_of_opinionated_eks_cluster_for_stage_envs();
169+ // const prod1_eks = new Easy_EKS(cdk_state, 'prod1-eks', low_cost_AMER_stack_config);
170+ // prod1_eks.stage_deployment_of_opinionated_eks_cluster_for_prod_envs();
171+ // ^-- These are commented out, because:
172+ // In addition to the above reason, they also depend on higher-envs-vpc being deployed
144173///////////////////////////////////////////////////////////////////////////////////////////
0 commit comments