46 lines
1.2 KiB
Python
46 lines
1.2 KiB
Python
#!/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()
|