You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
103 lines
2.5 KiB
Bash
103 lines
2.5 KiB
Bash
#=======================================
|
|
# SETUP CHECKS
|
|
#=======================================
|
|
|
|
# $1 lib name
|
|
# $2 package name
|
|
add_if_not_ok() {
|
|
local RESULT=$?
|
|
if [ "$RESULT" -eq 0 ]; then
|
|
msgcheck "$1 installed"
|
|
else
|
|
packages+=("$2")
|
|
fi
|
|
}
|
|
|
|
add_if_not_ok_cmd() {
|
|
local RESULT=$?
|
|
if [ "$RESULT" -eq 0 ]; then
|
|
msgcheck "$1 installed"
|
|
else
|
|
ohai "Installing $1..."
|
|
eval "$2" >>"$LOGTO" 2>&1 && msgcheck "Installing $1 successfull"
|
|
fi
|
|
}
|
|
|
|
add_if_not_ok_compose() {
|
|
local RESULT=$?
|
|
if [ "$RESULT" -eq 0 ]; then
|
|
msgcheck "$1 installed"
|
|
else
|
|
ohai "Installing $1..."
|
|
mkdir -p "~/.docker/cli-plugins" >> "$LOGTO" 2>&1
|
|
curl -SL "https://github.com/docker/compose/releases/download/v2.29.7/docker-compose-linux-x86_64" -o "~/.docker/cli-plugins/docker-compose" >> "$LOGTO" 2>&1
|
|
chmod +x "~/.docker/cli-plugins/docker-compose" >> "$LOGTO" 2>&1
|
|
msgcheck "Installing $1 successfull"
|
|
fi
|
|
}
|
|
|
|
test_node() {
|
|
local node_version_output
|
|
node_version_output="$(node -v 2>/dev/null)"
|
|
version_ge "$(major_minor "${node_version_output/v/}")" "$(major_minor "${REQUIRED_NODE_VERSION}")"
|
|
}
|
|
|
|
check_git() {
|
|
git --version >/dev/null 2>&1
|
|
add_if_not_ok "GIT" "git"
|
|
}
|
|
|
|
check_docker() {
|
|
docker -v >/dev/null 2>&1
|
|
add_if_not_ok "Docker" "docker.io"
|
|
}
|
|
|
|
check_docker_compose() {
|
|
docker compose version >/dev/null 2>&1
|
|
add_if_not_ok_compose "Docker compose"
|
|
}
|
|
|
|
check_jq() {
|
|
jq --help >/dev/null 2>&1
|
|
add_if_not_ok "JSON parser" "jq"
|
|
}
|
|
|
|
check_dotenv() {
|
|
if dotenv-tool -v >/dev/null 2>&1; then
|
|
local dotEnvVersion="$(dotenv-tool -v 2>/dev/null)"
|
|
if version_ge "$(major_minor "${dotEnvVersion}")" \
|
|
"$(major_minor "${REQUIRED_DOTENV_VERSION}")"; then
|
|
msgcheck "dotenv-tool installed (${dotEnvVersion})"
|
|
else
|
|
ohai "Updating dotenv-tool (from: ${dotEnvVersion})"
|
|
eval "npm install -g dotenv-tool --registry https://npm.dzienia.pl" >>"$LOGTO" 2>&1 && msgcheck "Updating dotenv-tool successfull"
|
|
fi
|
|
else
|
|
ohai "Installing dotenv-tool..."
|
|
eval "npm install -g dotenv-tool --registry https://npm.dzienia.pl" >>"$LOGTO" 2>&1 && msgcheck "Installing dotenv-tool successfull"
|
|
fi
|
|
}
|
|
|
|
check_ufw() {
|
|
ufw --version >/dev/null 2>&1
|
|
add_if_not_ok "Firewall" "ufw"
|
|
}
|
|
|
|
check_nano() {
|
|
nano --version >/dev/null 2>&1
|
|
add_if_not_ok "Text Editor" "nano"
|
|
}
|
|
|
|
check_dateutils() {
|
|
dateutils.ddiff --version >/dev/null 2>&1
|
|
add_if_not_ok "Date Utils" "dateutils"
|
|
}
|
|
|
|
test_diceware() {
|
|
diceware --version >/dev/null 2>&1
|
|
}
|
|
|
|
check_diceware() {
|
|
test_diceware
|
|
add_if_not_ok "Secure Password Generator" "diceware"
|
|
} |