cdk/cdk-domainless-mode/app.py (60 lines of code) (raw):
#!/usr/bin/env python3
import os
import aws_cdk as cdk
from cdk.cdk_stack import CdkStack
import aws_cdk.aws_ec2 as ec2
import aws_cdk as cdk
import aws_cdk.aws_secretsmanager as secretsmanager
import json
# Open the input file
with open('data.json', 'r') as file:
# Load the JSON data
data = json.load(file)
def get_value(key):
return os.environ.get(key, data.get(key.lower()))
tag = cdk.Tag("Name", "Test Credentials-fetcher in Domainless mode")
aws_region = get_value("AWS_REGION")
prefix_list = get_value("PREFIX_LIST")
domain_admin_password = data["domain_admin_password"]
directory_name = data["directory_name"]
windows_instance_tag = data["windows_instance_tag"]
linux_instance_tag = data["linux_instance_tag"]
key_name = get_value("KEY_PAIR_NAME")
number_of_gmsa_accounts = data["number_of_gmsa_accounts"]
s3_bucket = get_value("S3_PREFIX") + data["s3_bucket_suffix"]
app_name = data["stack_name"]
username = data["username"]
password = data["password"]
secret_name = data["secret_name"]
task_definition_template_name = data["task_definition_template_name"]
cluster_name = data["cluster_name"]
docker_image_tag = data["docker_image_tag"]
dockerfile_path = data["dockerfile_path"]
ecr_repo_name = data["ecr_repo_name"]
rpm_file = data["rpm_file"]
app = cdk.App()
cdk_stack = CdkStack(app, app_name)
cdk_stack.init_vpc(prefix_list = prefix_list, key_pair_name=key_name, stack_name=app_name)
cfn_microsoft_AD = cdk_stack.init_DirectoryService(directory_name=directory_name, domain_admin_password=domain_admin_password)
directory_id = cfn_microsoft_AD.ref
cdk_stack.init_route53_endpoint(domain_name = directory_name,
vpc = cdk_stack.vpc)
windows_instance = cdk_stack.launch_windows_instance(instance_tag = windows_instance_tag,
password = domain_admin_password,
domain_name = directory_name,
key_name = key_name,
number_of_gmsa_accounts = number_of_gmsa_accounts,
s3_bucket_name = s3_bucket
)
windows_instance.node.add_dependency(cfn_microsoft_AD)
ecs_cluster = cdk_stack.create_ecs_cluster( cluster_name,
instance_tag=linux_instance_tag,
password = domain_admin_password,
domain_name = directory_name,
key_pair=cdk_stack.key_pair,
number_of_gmsa_accounts=number_of_gmsa_accounts,
vpc = cdk_stack.vpc,
security_group=cdk_stack.security_group,
rpm_file=rpm_file,
s3_bucket=s3_bucket)
ecs_cluster.node.add_dependency(windows_instance)
task_definition = cdk_stack.create_task_definition(task_definition_template_name=task_definition_template_name)
docker_image_uri = cdk_stack.build_push_dockerfile_to_ecr(dockerfile_path, ecr_repo_name, aws_region, docker_image_tag)
app.synth()