mirror of
https://github.com/trailofbits/algo
synced 2024-11-04 06:00:21 +00:00
8bdd99c05d
* bump ansible to 2.8.3 * DigitalOcean: move to the latest modules * Add Hetzner Cloud * Scaleway and Lightsail fixes * lint missing roles * Update roles/cloud-hetzner/tasks/main.yml Add api_token Co-Authored-By: phaer <phaer@phaer.org> * Update roles/cloud-hetzner/tasks/main.yml Add api_token Co-Authored-By: phaer <phaer@phaer.org> * Try to run apt until succeeded * Scaleway modules upgrade * GCP: Refactoring, remove deprecated modules * Doc updates (#1552) * Update README.md Adding links and mentions of Exoscale aka CloudStack and Hetzner Cloud. * Update index.md Add the Hetzner Cloud to the docs index * Remove link to Win 10 IPsec instructions * Delete client-windows.md Unnecessary since the deprecation of IPsec for Win10. * Update deploy-from-ansible.md Added sections and required variables for CloudStack and Hetzner Cloud. * Update deploy-from-ansible.md Added sections for CloudStack and Hetzner, added req variables and examples, mentioned environment variables, and added links to the provider role section. * Update deploy-from-ansible.md Cosmetic changes to links, fix typo. * Update GCE variables * Update deploy-from-script-or-cloud-init-to-localhost.md Fix a finer point, and make variables list more readable. * update azure requirements * Python3 draft * set LANG=c to the p12 password generation task * Update README * Install cloud requirements to the existing venv * FreeBSD fix * env->.env fixes * lightsail_region_facts fix * yaml syntax fix * Update README for Python 3 (#1564) * Update README for Python 3 * Remove tabs and tweak instructions * Remove cosmetic command indentation * Update README.md * Update README for Python 3 (#1565) * DO fix for "found unpermitted parameters: id" * Verify Python version * Remove ubuntu 16.04 from readme * Revert back DigitalOcean module * Update deploy-from-script-or-cloud-init-to-localhost.md * env to .env
87 lines
2.4 KiB
Bash
Executable File
87 lines
2.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
#
|
|
# Print information about Algo's invocation environment to aid in debugging.
|
|
# This is normally called from Ansible right before a deployment gets underway.
|
|
|
|
# Skip printing this header if we're just testing with no arguments.
|
|
if [[ $# -gt 0 ]]; then
|
|
echo ""
|
|
echo "--> Please include the following block of text when reporting issues:"
|
|
echo ""
|
|
fi
|
|
|
|
if [[ ! -f ./algo ]]; then
|
|
echo "This should be run from the top level Algo directory"
|
|
fi
|
|
|
|
# Determine the operating system.
|
|
case "$(uname -s)" in
|
|
Linux)
|
|
OS="Linux ($(uname -r) $(uname -v))"
|
|
if [[ -f /etc/os-release ]]; then
|
|
# shellcheck disable=SC1091
|
|
# I hope this isn't dangerous.
|
|
. /etc/os-release
|
|
if [[ ${PRETTY_NAME} ]]; then
|
|
OS="${PRETTY_NAME}"
|
|
elif [[ ${NAME} ]]; then
|
|
OS="${NAME} ${VERSION}"
|
|
fi
|
|
fi
|
|
STAT="stat -c %y"
|
|
;;
|
|
Darwin)
|
|
OS="$(sw_vers -productName) $(sw_vers -productVersion)"
|
|
STAT="stat -f %Sm"
|
|
;;
|
|
*)
|
|
OS="Unknown"
|
|
;;
|
|
esac
|
|
|
|
# Determine if virtualization is being used with Linux.
|
|
VIRTUALIZED=""
|
|
if [[ -x $(command -v systemd-detect-virt) ]]; then
|
|
DETECT_VIRT="$(systemd-detect-virt)"
|
|
if [[ ${DETECT_VIRT} != "none" ]]; then
|
|
VIRTUALIZED=" (Virtualized: ${DETECT_VIRT})"
|
|
fi
|
|
elif [[ -f /.dockerenv ]]; then
|
|
VIRTUALIZED=" (Virtualized: docker)"
|
|
fi
|
|
|
|
echo "Algo running on: ${OS}${VIRTUALIZED}"
|
|
|
|
# Determine the currentness of the Algo software.
|
|
if [[ -d .git && -x $(command -v git) ]]; then
|
|
ORIGIN="$(git remote get-url origin)"
|
|
COMMIT="$(git log --max-count=1 --oneline --no-decorate --no-color)"
|
|
if [[ ${ORIGIN} == "https://github.com/trailofbits/algo.git" ]]; then
|
|
SOURCE="clone"
|
|
else
|
|
SOURCE="fork"
|
|
fi
|
|
echo "Created from git ${SOURCE}. Last commit: ${COMMIT}"
|
|
elif [[ -f LICENSE && ${STAT} ]]; then
|
|
CREATED="$(${STAT} LICENSE)"
|
|
echo "ZIP file created: ${CREATED}"
|
|
fi
|
|
|
|
# The Python version might be useful to know.
|
|
if [[ -x ./.env/bin/python3 ]]; then
|
|
./.env/bin/python3 --version 2>&1
|
|
elif [[ -f ./algo ]]; then
|
|
echo ".env/bin/python3 not found: has 'python3 -m virtualenv ...' been run?"
|
|
fi
|
|
|
|
# Just print out all command line arguments, which are expected
|
|
# to be Ansible variables.
|
|
if [[ $# -gt 0 ]]; then
|
|
echo "Runtime variables:"
|
|
for VALUE in "$@"; do
|
|
echo " ${VALUE}"
|
|
done
|
|
fi
|
|
|
|
exit 0
|