#!/bin/bash set -e # Source the virtual environment source ${FTS_VENV}/bin/activate # Set up environment variables export CODENAME=jammy export INSTALL_TYPE=${INSTALL_TYPE:-latest} export FTS_VERSION=${STABLE_FTS_VERSION} export PY3_VER=${PY3_VER} export CFG_RPATH=${CFG_RPATH} export FTS_VENV=${FTS_VENV} # Determine FTS version based on install type case ${INSTALL_TYPE} in latest) export FTS_VERSION=$(curl -s https://pypi.org/pypi/FreeTAKServer/json | python3 -c "import sys, json; print(json.load(sys.stdin)[\"info\"][\"version\"])" 2>/dev/null || echo "${STABLE_FTS_VERSION}") ;; stable) export FTS_VERSION=${STABLE_FTS_VERSION} ;; legacy) export FTS_VERSION=${LEGACY_FTS_VERSION} export PY3_VER=3.8 export CFG_RPATH=controllers/configuration ;; esac # Set up Ansible variables env_vars="python3_version=${PY3_VER} codename=${CODENAME} itype=${INSTALL_TYPE}" env_vars="${env_vars} fts_version=${FTS_VERSION} cfg_rpath=${CFG_RPATH} fts_venv=${FTS_VENV}" env_vars="${env_vars} webmap_force_install=true" # Run Ansible playbook cd /opt/FreeTAKHub-Installation echo "Installing FreeTAKServer with the following settings:" echo " Version: ${FTS_VERSION}" echo " Python: ${PY3_VER}" echo " Install Type: ${INSTALL_TYPE}" echo " Virtual Environment: ${FTS_VENV}" ansible-playbook -u root install_all.yml \ --connection=local \ --inventory localhost, \ --extra-vars "${env_vars}" \ -v deactivate