import pulumi import pulumi_aws as aws import conf as config # 🔐 Security Group ingress_rules = [{"protocol": "tcp", "from_port": port, "to_port": port, "cidr_blocks": ["3.14.44.224/32"]} for port in config.ec2_config["allowed_ports"]] sg = aws.ec2.SecurityGroup(config.ec2_config["sg_name"], vpc_id=config.network["vpc_id"], description="Allow defined ports", ingress=ingress_rules, egress=[{"protocol": "-1", "from_port": 0, "to_port": 0, "cidr_blocks": ["0.0.0.0/0"]}], ) # 🐳 Script user_data com Docker, Langfuse e montagem do volume EBS user_data = f"""#!/bin/bash set -e sudo apt-get update -y sudo apt-get install -y ca-certificates curl gnupg git sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update -y sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin sudo groupadd docker || true sudo usermod -aG docker ubuntu sudo chmod 666 /var/run/docker.sock sudo systemctl enable docker sudo systemctl restart docker cd /opt git clone {config.langfuse_config["repo_url"]} cd langfuse NEXTAUTH_SECRET=$(openssl rand -hex 32) PUBLIC_IP=$(curl -s http://169.254.169.254/latest/meta-data/public-ipv4) SALT=$(openssl rand -hex 16) ENCRYPTION_KEY=$(openssl rand -hex 32) cat > .env <