Archived
1
This repository has been archived on 2025-08-09. You can view files and clone it, but cannot push or open issues or pull requests.
Files
playbookctl/scripts/scripts.d/10-install.sh
Voomra c584648913 import code
сохранён для истории
2024-04-23 07:41:00 +03:00

77 lines
2.4 KiB
Bash
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# vi: set tabstop=2 shiftwidth=2 noexpandtab :
MAP_COMMAND["install"]=fn_command_install
MAP_COMMAND_DESC["install"]="запуск установки."
MAP_COMMAND_HELP["install"]=fn_command_install_help
function fn_command_install() {
local __parts=($@)
if [[ "list" == "${__parts[0]}" ]]; then
echo "Части playbook'а:"
for __ansible_part in "${ANSIBLE_PARTS[@]}"; do
echo -e " - ${CY}${__ansible_part}${NC}"
done
exit 0
fi
if [[ ${#__parts[@]} -gt 0 ]]; then
# Проверяем указанные части
for __part in "${__parts[@]}"; do
if [[ ! "${ANSIBLE_PARTS[*]}" =~ "${__part}" ]]; then
LogError "Unknown part: ${CY}${__part}${NC}"
exit 1
fi
done
fi
run ${__parts[*]}
}
function run() {
local __parts=($@)
local __ansible_extra_vars
__ansible_extra_vars="--extra-vars \"dd_vars=$ANSIBLE_TARGET_HOST\""
if [[ ${#__parts[@]} -eq 0 ]]; then
__ansible_extra_vars="$__ansible_extra_vars --extra-vars \"dd_install=true\""
else
for __part in "${__parts[@]}"; do
__ansible_extra_vars="$__ansible_extra_vars --extra-vars \"dd_install_${__part}=true\""
done
fi
local __ansible_become=""
if [[ $ANSIBLE_BECOME == 1 ]]; then
__ansible_become="--become --become-user=$ANSIBLE_BECOME_USER"
fi
local __ansible_vvv=""
if [[ $DD_DEBUG -gt 1 ]]; then
__ansible_vvv="-vvv"
fi
local __ansible_eval="ansible-playbook \
$__ansible_vvv \
$__ansible_become \
-i "$BASE_DIR"/hosts.yml \
-l "$ANSIBLE_TARGET_HOST" \
"$BASE_DIR"/"$ANSIBLE_PLAYBOOK" \
$__ansible_extra_vars"
Title "Start Annsible Playbook"
LogDebug $__ansible_eval
eval $__ansible_eval
}
function fn_command_install_help() {
echo "Использование:"
echo -e " ${CW}$(basename $0) ${CY}install ${CC}[list|<PARTS>]${NC}"
echo -e "\nКоманды:"
echo -e " ${CY}list${NC} - показать список известных частей playbook'а."
echo -e " ${CY}<PARTS>${NC} - (опционально) установить только часть playbook'а. Можно указать несколько частей, разделяя их запятой(,)."
echo -e " * - Полная установка."
}