#!/usr/bin/env python3 import os import aws_cdk as cdk from infrastructure.stack import IptvManagerStack app = cdk.App() # Read environment variables for FreeDNS credentials freedns_user = os.environ.get("FREEDNS_User") freedns_password = os.environ.get("FREEDNS_Password") domain_name = os.environ.get("DOMAIN_NAME") ssh_public_key = os.environ.get("SSH_PUBLIC_KEY") repo_url = os.environ.get("REPO_URL") letsencrypt_email = os.environ.get("LETSENCRYPT_EMAIL") required_vars = { "FREEDNS_User": freedns_user, "FREEDNS_Password": freedns_password, "DOMAIN_NAME": domain_name, "SSH_PUBLIC_KEY": ssh_public_key, "REPO_URL": repo_url, "LETSENCRYPT_EMAIL": letsencrypt_email, } # Check for missing required variables missing_vars = [k for k, v in required_vars.items() if not v] if missing_vars: raise ValueError( f"Missing required environment variables: {', '.join(missing_vars)}" ) IptvManagerStack( app, "IptvManagerStack", freedns_user=freedns_user, freedns_password=freedns_password, domain_name=domain_name, ssh_public_key=ssh_public_key, repo_url=repo_url, letsencrypt_email=letsencrypt_email, ) app.synth()