Moved ssh public key to an environment variable
All checks were successful
AWS Deploy on Push / build (push) Successful in 4m14s
All checks were successful
AWS Deploy on Push / build (push) Successful in 4m14s
This commit is contained in:
@@ -1,3 +1,4 @@
|
|||||||
FREEDNS_User=MyFreeDNSUsername
|
FREEDNS_User=MyFreeDNSUsername
|
||||||
FREEDNS_Password=MyFreeDNSPassword
|
FREEDNS_Password=MyFreeDNSPassword
|
||||||
DOMAIN_NAME=mydomain.com
|
DOMAIN_NAME=mydomain.com
|
||||||
|
SSH_PUBLIC_KEY="ssh-rsa AAAAB3NzaC1yc2EMYPUBLICKEY7+"
|
||||||
@@ -43,6 +43,7 @@ jobs:
|
|||||||
FREEDNS_User: ${{ secrets.FREEDNS_USER }}
|
FREEDNS_User: ${{ secrets.FREEDNS_USER }}
|
||||||
FREEDNS_Password: ${{ secrets.FREEDNS_PASSWORD }}
|
FREEDNS_Password: ${{ secrets.FREEDNS_PASSWORD }}
|
||||||
DOMAIN_NAME: ${{ secrets.DOMAIN_NAME }}
|
DOMAIN_NAME: ${{ secrets.DOMAIN_NAME }}
|
||||||
|
SSH_PUBLIC_KEY: ${{ secrets.SSH_PUBLIC_KEY }}
|
||||||
|
|
||||||
- name: Install AWS CLI
|
- name: Install AWS CLI
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
5
app.py
5
app.py
@@ -9,6 +9,7 @@ app = cdk.App()
|
|||||||
freedns_user = os.environ.get("FREEDNS_User")
|
freedns_user = os.environ.get("FREEDNS_User")
|
||||||
freedns_password = os.environ.get("FREEDNS_Password")
|
freedns_password = os.environ.get("FREEDNS_Password")
|
||||||
domain_name = os.environ.get("DOMAIN_NAME")
|
domain_name = os.environ.get("DOMAIN_NAME")
|
||||||
|
ssh_public_key = os.environ.get("SSH_PUBLIC_KEY")
|
||||||
|
|
||||||
if not freedns_user or not freedns_password:
|
if not freedns_user or not freedns_password:
|
||||||
raise ValueError("FREEDNS_User and FREEDNS_Password environment variables must be set.")
|
raise ValueError("FREEDNS_User and FREEDNS_Password environment variables must be set.")
|
||||||
@@ -16,10 +17,14 @@ if not freedns_user or not freedns_password:
|
|||||||
if not domain_name:
|
if not domain_name:
|
||||||
raise ValueError("DOMAIN_NAME environment variable must be set.")
|
raise ValueError("DOMAIN_NAME environment variable must be set.")
|
||||||
|
|
||||||
|
if not ssh_public_key: # Check if SSH public key is set
|
||||||
|
raise ValueError("SSH_PUBLIC_KEY environment variable must be set.")
|
||||||
|
|
||||||
IptvUpdaterStack(app, "IptvUpdaterStack",
|
IptvUpdaterStack(app, "IptvUpdaterStack",
|
||||||
freedns_user=freedns_user,
|
freedns_user=freedns_user,
|
||||||
freedns_password=freedns_password,
|
freedns_password=freedns_password,
|
||||||
domain_name=domain_name,
|
domain_name=domain_name,
|
||||||
|
ssh_public_key=ssh_public_key,
|
||||||
# If you don't specify 'env', the stack will be deployed to the account and region that are
|
# If you don't specify 'env', the stack will be deployed to the account and region that are
|
||||||
# configured in your AWS CLI profile. Defaulting to the environment where the CLI is configured.
|
# configured in your AWS CLI profile. Defaulting to the environment where the CLI is configured.
|
||||||
# env=cdk.Environment(account=os.getenv('CDK_DEFAULT_ACCOUNT'), region=os.getenv('CDK_DEFAULT_REGION')),
|
# env=cdk.Environment(account=os.getenv('CDK_DEFAULT_ACCOUNT'), region=os.getenv('CDK_DEFAULT_REGION')),
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ class IptvUpdaterStack(Stack):
|
|||||||
freedns_user: str,
|
freedns_user: str,
|
||||||
freedns_password: str,
|
freedns_password: str,
|
||||||
domain_name: str,
|
domain_name: str,
|
||||||
|
ssh_public_key: str,
|
||||||
**kwargs
|
**kwargs
|
||||||
) -> None:
|
) -> None:
|
||||||
super().__init__(scope, construct_id, **kwargs)
|
super().__init__(scope, construct_id, **kwargs)
|
||||||
@@ -65,7 +66,7 @@ class IptvUpdaterStack(Stack):
|
|||||||
self,
|
self,
|
||||||
"IptvUpdaterKeyPair",
|
"IptvUpdaterKeyPair",
|
||||||
key_pair_name="iptv-updater-key",
|
key_pair_name="iptv-updater-key",
|
||||||
public_key_material="ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDZcD20mfOQ/al6VMXWWUcUILYIHyIy5gY9RmC6koicaMYTJ078yMUnYw9DONEIfvxZwceTrtdUWv7vOXjknh1bberF78Pi3vwwFKazdgjbyZnkM9r2N40+PqfOFYf03B53VIA8jdae6gaD3VvYdlwV5dqqW3N+JE/+7sXHLeENnqxeS5jNLoRKDIxHgV4MBnewWNdp77ZEHZFrG3Fj/0lnqq2EfDh+5E/Vhkc/mzkuXu2l5Z1szw2rcjJz4IYUjgnClorBVlmWwwiICrHbyVCYivaaVvpVmZoBy7WW1P8KFAiot4G6C0Klyn4sy2AwCQ7u65TyDtbCR89VuuwW0zLgERAfWMdhn/5HdIudcTScXEsUsADTqxb2x0IXVbs3uhxHCUcc7BVg0S7dpAbmpK+80NlDCH38LFcyrYASRD6/Le2skVePIFt0Tw1OnwPH/QqPG0Y9vLZJl8779pg+kpk+o1MaRnczPq9Sk9zr3dR4Sv82CObnjTeY5LCTvs06JBCtcey/vLk7RQYs43uXZgg746aWIcM0lgHPivh2JpUOAd/Kj1v4aEXTRgHyPPLQ4KKwnALcd4s6+ytXwf4gxumRmPf/7P6HYJQvY8pfVda8jEvu08rvSVMXb09Jq4tzS/JTX2flfEdF0qIyTNHnK/lum27fgP0yq6Pq24IWYXha9w== stefano@MSI"
|
public_key_material=ssh_public_key
|
||||||
)
|
)
|
||||||
|
|
||||||
# Create IAM role for EC2
|
# Create IAM role for EC2
|
||||||
|
|||||||
@@ -1,13 +1,16 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Load environment variables from .env file if it exists
|
# Load environment variables from .env file if it exists
|
||||||
if [ -f .env ]; then
|
if [ -f ${PWD}/.env ]; then
|
||||||
export $(cat .env | xargs)
|
# Use set -a to automatically export all variables
|
||||||
|
set -a
|
||||||
|
source ${PWD}/.env
|
||||||
|
set +a
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check if required environment variables are set
|
# Check if required environment variables are set
|
||||||
if [ -z "$FREEDNS_User" ] || [ -z "$FREEDNS_Password" ] || [ -z "$DOMAIN_NAME" ]; then
|
if [ -z "$FREEDNS_User" ] || [ -z "$FREEDNS_Password" ] || [ -z "$DOMAIN_NAME" ] || [ -z "$SSH_PUBLIC_KEY" ]; then
|
||||||
echo "Error: FREEDNS_User, FREEDNS_Password, and DOMAIN_NAME must be set as environment variables or in a .env file."
|
echo "Error: FREEDNS_User, FREEDNS_Password, DOMAIN_NAME, and SSH_PUBLIC_KEY must be set as environment variables or in a .env file."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
@@ -2,18 +2,17 @@
|
|||||||
|
|
||||||
# Load environment variables from .env file if it exists
|
# Load environment variables from .env file if it exists
|
||||||
if [ -f ${PWD}/.env ]; then
|
if [ -f ${PWD}/.env ]; then
|
||||||
export $(cat ${PWD}/.env | xargs)
|
# Use set -a to automatically export all variables
|
||||||
|
set -a
|
||||||
|
source ${PWD}/.env
|
||||||
|
set +a
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check if required environment variables are set
|
# Check if required environment variables are set
|
||||||
if [ -z "$FREEDNS_User" ] || [ -z "$FREEDNS_Password" ] || [ -z "$DOMAIN_NAME" ]; then
|
if [ -z "$FREEDNS_User" ] || [ -z "$FREEDNS_Password" ] || [ -z "$DOMAIN_NAME" ] || [ -z "$SSH_PUBLIC_KEY" ]; then
|
||||||
echo "Error: FREEDNS_User, FREEDNS_Password, and DOMAIN_NAME must be set as environment variables or in a .env file."
|
echo "Error: FREEDNS_User, FREEDNS_Password, DOMAIN_NAME, and SSH_PUBLIC_KEY must be set as environment variables or in a .env file."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Optional: Print the variables being used (for verification)
|
|
||||||
echo "Using DOMAIN_NAME: $DOMAIN_NAME"
|
|
||||||
echo "Using FREEDNS_User: $FREEDNS_User" # Be cautious printing passwords
|
|
||||||
|
|
||||||
# Destroy infrastructure
|
# Destroy infrastructure
|
||||||
cdk destroy --app="python3 ${PWD}/app.py" --force
|
cdk destroy --app="python3 ${PWD}/app.py" --force
|
||||||
Reference in New Issue
Block a user