Files
Project_Velocity/infrastructure/desineuron_ingress/install_linux_ingress_ip_sync.sh
2026-04-12 02:02:58 +05:30

41 lines
1.6 KiB
Bash

#!/usr/bin/env bash
set -euo pipefail
if [[ $# -ne 2 ]]; then
echo "Usage: $0 <aws_access_key_id> <aws_secret_access_key>" >&2
exit 1
fi
AWS_ACCESS_KEY_ID="$1"
AWS_SECRET_ACCESS_KEY="$2"
INSTALL_ROOT="/opt/desineuron-ingress-ip-sync"
VENV_PATH="${INSTALL_ROOT}/.venv"
sudo apt-get update
sudo apt-get install -y python3-venv
sudo mkdir -p "${INSTALL_ROOT}"
sudo python3 -m venv "${VENV_PATH}"
sudo "${VENV_PATH}/bin/pip" install --upgrade pip boto3
sudo install -m 0755 /tmp/sync_ingress_home_ip.py /usr/local/bin/sync_ingress_home_ip.py
sudo install -m 0644 /tmp/desineuron-ingress-home-ip-sync.service /etc/systemd/system/desineuron-ingress-home-ip-sync.service
sudo install -m 0644 /tmp/desineuron-ingress-home-ip-sync.timer /etc/systemd/system/desineuron-ingress-home-ip-sync.timer
sudo mkdir -p /var/lib/desineuron-ingress-ip-sync
sudo tee /etc/desineuron-ingress-home-ip-sync.env >/dev/null <<EOF
AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
AWS_REGION=us-east-1
INGRESS_SECURITY_GROUP_ID=sg-0721b8b48e12c531d
INGRESS_SSH_PORT=22
INGRESS_SSH_RULE_DESCRIPTION=SSH fallback from origin network
INGRESS_IP_STATE_FILE=/var/lib/desineuron-ingress-ip-sync/current_ip.txt
EOF
sudo chmod 600 /etc/desineuron-ingress-home-ip-sync.env
sudo systemctl daemon-reload
sudo systemctl enable --now desineuron-ingress-home-ip-sync.timer
sudo systemctl start desineuron-ingress-home-ip-sync.service
sudo systemctl --no-pager --full status desineuron-ingress-home-ip-sync.service
sudo systemctl --no-pager --full status desineuron-ingress-home-ip-sync.timer