From 34c446bcfa6a3cbbba3f75269ad3f93eb6177550 Mon Sep 17 00:00:00 2001 From: Stefano Date: Thu, 29 May 2025 17:52:53 -0500 Subject: [PATCH] Make sure DB credentials are available when running userdata (fix-2) --- infrastructure/stack.py | 40 ++++++++-------------------------------- 1 file changed, 8 insertions(+), 32 deletions(-) diff --git a/infrastructure/stack.py b/infrastructure/stack.py index 21e56ec..9a076ff 100644 --- a/infrastructure/stack.py +++ b/infrastructure/stack.py @@ -226,25 +226,25 @@ class IptvManagerStack(Stack): ) # Store DB connection info in SSM Parameter Store - ssm.StringParameter( + db_host_param = ssm.StringParameter( self, "DBHostParam", parameter_name="/iptv-manager/DB_HOST", string_value=db.db_instance_endpoint_address, ) - ssm.StringParameter( + db_name_param = ssm.StringParameter( self, "DBNameParam", parameter_name="/iptv-manager/DB_NAME", string_value="iptv_manager", ) - ssm.StringParameter( + db_user_param = ssm.StringParameter( self, "DBUserParam", parameter_name="/iptv-manager/DB_USER", string_value=db.secret.secret_value_from_json("username").to_string(), ) - ssm.StringParameter( + db_pass_param = ssm.StringParameter( self, "DBPassParam", parameter_name="/iptv-manager/DB_PASSWORD", @@ -277,34 +277,10 @@ class IptvManagerStack(Stack): # Ensure instance depends on SSM parameters being created instance.node.add_dependency(db) - instance.node.add_dependency( - ssm.StringParameter.from_parameter_arn( - self, - "DBHostParamRef", - f"arn:aws:ssm:{self.region}:{self.account}:parameter/iptv-manager/DB_HOST", - ) - ) - instance.node.add_dependency( - ssm.StringParameter.from_parameter_arn( - self, - "DBNameParamRef", - f"arn:aws:ssm:{self.region}:{self.account}:parameter/iptv-manager/DB_NAME", - ) - ) - instance.node.add_dependency( - ssm.StringParameter.from_parameter_arn( - self, - "DBUserParamRef", - f"arn:aws:ssm:{self.region}:{self.account}:parameter/iptv-manager/DB_USER", - ) - ) - instance.node.add_dependency( - ssm.StringParameter.from_parameter_arn( - self, - "DBPassParamRef", - f"arn:aws:ssm:{self.region}:{self.account}:parameter/iptv-manager/DB_PASSWORD", - ) - ) + instance.node.add_dependency(db_host_param) + instance.node.add_dependency(db_name_param) + instance.node.add_dependency(db_user_param) + instance.node.add_dependency(db_pass_param) # Option: 2: Create Elastic IP (not free tier compatible) # eip = ec2.CfnEIP(