import os import aws_cdk as cdk from src.commands.utils import load_config from src.infra.stack import QCStack app = cdk.App() config_path = app.node.try_get_context("config") or "config.yaml" account_id = app.node.try_get_context("account_id") or os.getenv("CDK_DEFAULT_ACCOUNT") delete_bucket_data = str(app.node.try_get_context("delete_bucket_data") or "false").lower() == "true" cfg = load_config(config_path) stack_name = app.node.try_get_context("stack_name") or cfg.infra.stack_name bootstrap_qualifier = app.node.try_get_context("bootstrap_qualifier") or cfg.infra.effective_bootstrap_qualifier QCStack( app, stack_name, config=cfg, delete_bucket_data=delete_bucket_data, synthesizer=cdk.DefaultStackSynthesizer(qualifier=bootstrap_qualifier), env=cdk.Environment( account=account_id, region=cfg.aws.region, ), ) app.synth()