diff options
Diffstat (limited to 'yy')
-rwxr-xr-x | yy | 670 |
1 files changed, 670 insertions, 0 deletions
@@ -0,0 +1,670 @@ +#!/usr/bin/env bash +# This script was generated by bashly 0.7.9 (https://bashly.dannyb.co) +# Modifying it manually is not recommended + +# :wrapper.bash3_bouncer +if [[ "${BASH_VERSINFO:-0}" -lt 4 ]]; then + printf "bash version 4 or higher is required\n" + exit 1 +fi + +# :command.master_script + +# :command.version_command +version_command() { + echo "$version" +} + +# :command.usage +yy_usage() { + if [[ -n $long_usage ]]; then + printf "yy - Yarmo's helper CLI\n" + echo + + else + printf "yy - Yarmo's helper CLI\n" + echo + + fi + + printf "Usage:\n" + printf " yy [command]\n" + printf " yy [command] --help | -h\n" + printf " yy --version | -v\n" + echo + # :command.usage_commands + printf "Commands:\n" + echo " dc docker-compose commands" + echo " caddy caddy commands" + echo + + if [[ -n $long_usage ]]; then + printf "Options:\n" + # :command.usage_fixed_flags + echo " --help, -h" + printf " Show this help\n" + echo + echo " --version, -v" + printf " Show version number\n" + echo + + fi +} + +# :command.usage +yy_dc_usage() { + if [[ -n $long_usage ]]; then + printf "yy dc - docker-compose commands\n" + echo + + else + printf "yy dc - docker-compose commands\n" + echo + + fi + + printf "Usage:\n" + printf " yy dc [command]\n" + printf " yy dc [command] --help | -h\n" + echo + # :command.usage_commands + printf "Commands:\n" + echo " update Pull and upgrade containers" + echo + + if [[ -n $long_usage ]]; then + printf "Options:\n" + # :command.usage_fixed_flags + echo " --help, -h" + printf " Show this help\n" + echo + + fi +} + +# :command.usage +yy_dc_update_usage() { + if [[ -n $long_usage ]]; then + printf "yy dc update - Pull and upgrade containers\n" + echo + + else + printf "yy dc update - Pull and upgrade containers\n" + echo + + fi + + printf "Usage:\n" + printf " yy dc update\n" + printf " yy dc update --help | -h\n" + echo + + if [[ -n $long_usage ]]; then + printf "Options:\n" + # :command.usage_fixed_flags + echo " --help, -h" + printf " Show this help\n" + echo + + # :command.usage_examples + printf "Examples:\n" + + printf " yy dc update\n" + echo + + fi +} + +# :command.usage +yy_caddy_usage() { + if [[ -n $long_usage ]]; then + printf "yy caddy - caddy commands\n" + echo + + else + printf "yy caddy - caddy commands\n" + echo + + fi + + printf "Usage:\n" + printf " yy caddy [command]\n" + printf " yy caddy [command] --help | -h\n" + echo + # :command.usage_commands + printf "Commands:\n" + echo " gen file caddyfile" + echo " pw Generate caddy passwords" + echo + + if [[ -n $long_usage ]]; then + printf "Options:\n" + # :command.usage_fixed_flags + echo " --help, -h" + printf " Show this help\n" + echo + + fi +} + +# :command.usage +yy_caddy_gen_usage() { + if [[ -n $long_usage ]]; then + printf "yy caddy gen - file caddyfile\n" + echo + + else + printf "yy caddy gen - file caddyfile\n" + echo + + fi + + printf "Usage:\n" + printf " yy caddy gen\n" + printf " yy caddy gen --help | -h\n" + echo + + if [[ -n $long_usage ]]; then + printf "Options:\n" + # :command.usage_fixed_flags + echo " --help, -h" + printf " Show this help\n" + echo + + # :command.usage_examples + printf "Examples:\n" + + printf " yy caddy file\n" + echo + + fi +} + +# :command.usage +yy_caddy_pw_usage() { + if [[ -n $long_usage ]]; then + printf "yy caddy pw - Generate caddy passwords\n" + echo + + else + printf "yy caddy pw - Generate caddy passwords\n" + echo + + fi + + printf "Usage:\n" + printf " yy caddy pw\n" + printf " yy caddy pw --help | -h\n" + echo + + if [[ -n $long_usage ]]; then + printf "Options:\n" + # :command.usage_fixed_flags + echo " --help, -h" + printf " Show this help\n" + echo + + # :command.usage_examples + printf "Examples:\n" + + printf " yy caddy pw\n" + echo + + fi +} + +# :command.normalize_input +normalize_input() { + local arg flags + + while [[ $# -gt 0 ]]; do + arg="$1" + if [[ $arg =~ ^(--[a-zA-Z0-9_\-]+)=(.+)$ ]]; then + input+=("${BASH_REMATCH[1]}") + input+=("${BASH_REMATCH[2]}") + elif [[ $arg =~ ^(-[a-zA-Z0-9])=(.+)$ ]]; then + input+=("${BASH_REMATCH[1]}") + input+=("${BASH_REMATCH[2]}") + elif [[ $arg =~ ^-([a-zA-Z0-9][a-zA-Z0-9]+)$ ]]; then + flags="${BASH_REMATCH[1]}" + for (( i=0 ; i < ${#flags} ; i++ )); do + input+=("-${flags:i:1}") + done + else + input+=("$arg") + fi + + shift + done +} +# :command.inspect_args +inspect_args() { + readarray -t sorted_keys < <(printf '%s\n' "${!args[@]}" | sort) + if (( ${#args[@]} )); then + echo args: + for k in "${sorted_keys[@]}"; do echo "- \${args[$k]} = ${args[$k]}"; done + else + echo args: none + fi + + if (( ${#other_args[@]} )); then + echo + echo other_args: + echo "- \${other_args[*]} = ${other_args[*]}" + for i in "${!other_args[@]}"; do + echo "- \${other_args[$i]} = ${other_args[$i]}" + done + fi +} + +# :command.command_functions + +# :command.function +yy_dc_update_command() { + # src/dc_update_command.sh + echo -e "\e[1;32mPull docker containers\e[0m" + docker-compose pull + + echo -e "\e[1;32mStart docker containers\e[0m" + docker-compose up -d +} + +# :command.function +yy_caddy_gen_command() { + # src/caddy_gen_command.sh + echo -e "\e[1;32mGenerating Caddyfile…\e[0m" + cat ./data/caddy/config/*.txt > ./data/caddy/Caddyfile +} + +# :command.function +yy_caddy_pw_command() { + # src/caddy_pw_command.sh + docker run -it --rm caddy caddy hash-password +} + +# :command.parse_requirements +parse_requirements() { + # :command.fixed_flags_filter + case "${1:-}" in + --version | -v ) + version_command + exit + ;; + + --help | -h ) + long_usage=yes + yy_usage + exit + ;; + + esac + # :command.environment_variables_filter + # :command.dependencies_filter + # :command.command_filter + action=${1:-} + + case $action in + -* ) + ;; + + dc ) + action="dc" + shift + yy_dc_parse_requirements "$@" + shift $# + ;; + + caddy ) + action="caddy" + shift + yy_caddy_parse_requirements "$@" + shift $# + ;; + + # :command.command_fallback + * ) + yy_usage + exit 1 + ;; + + esac + # :command.parse_requirements_while + while [[ $# -gt 0 ]]; do + key="$1" + case "$key" in + + -?* ) + printf "invalid option: %s\n" "$key" + exit 1 + ;; + + * ) + # :command.parse_requirements_case + printf "invalid argument: %s\n" "$key" + exit 1 + ;; + + esac + done + # :command.required_args_filter + # :command.required_flags_filter + # :command.catch_all_filter + # :command.default_assignments + # :command.whitelist_filter + # :command.user_filter +} + +# :command.parse_requirements +yy_dc_parse_requirements() { + # :command.fixed_flags_filter + case "${1:-}" in + --help | -h ) + long_usage=yes + yy_dc_usage + exit + ;; + + esac + # :command.environment_variables_filter + # :command.dependencies_filter + # :command.command_filter + action=${1:-} + + case $action in + -* ) + ;; + + update ) + action="update" + shift + yy_dc_update_parse_requirements "$@" + shift $# + ;; + + # :command.command_fallback + * ) + yy_dc_usage + exit 1 + ;; + + esac + # :command.parse_requirements_while + while [[ $# -gt 0 ]]; do + key="$1" + case "$key" in + + -?* ) + printf "invalid option: %s\n" "$key" + exit 1 + ;; + + * ) + # :command.parse_requirements_case + printf "invalid argument: %s\n" "$key" + exit 1 + ;; + + esac + done + # :command.required_args_filter + # :command.required_flags_filter + # :command.catch_all_filter + # :command.default_assignments + # :command.whitelist_filter + # :command.user_filter +} + +# :command.parse_requirements +yy_dc_update_parse_requirements() { + # :command.fixed_flags_filter + case "${1:-}" in + --help | -h ) + long_usage=yes + yy_dc_update_usage + exit + ;; + + esac + # :command.environment_variables_filter + # :command.dependencies_filter + # :command.command_filter + action="dc update" + # :command.parse_requirements_while + while [[ $# -gt 0 ]]; do + key="$1" + case "$key" in + + -?* ) + printf "invalid option: %s\n" "$key" + exit 1 + ;; + + * ) + # :command.parse_requirements_case + printf "invalid argument: %s\n" "$key" + exit 1 + ;; + + esac + done + # :command.required_args_filter + # :command.required_flags_filter + # :command.catch_all_filter + # :command.default_assignments + # :command.whitelist_filter + # :command.user_filter +} + +# :command.parse_requirements +yy_caddy_parse_requirements() { + # :command.fixed_flags_filter + case "${1:-}" in + --help | -h ) + long_usage=yes + yy_caddy_usage + exit + ;; + + esac + # :command.environment_variables_filter + # :command.dependencies_filter + # :command.command_filter + action=${1:-} + + case $action in + -* ) + ;; + + gen ) + action="gen" + shift + yy_caddy_gen_parse_requirements "$@" + shift $# + ;; + + pw ) + action="pw" + shift + yy_caddy_pw_parse_requirements "$@" + shift $# + ;; + + # :command.command_fallback + * ) + yy_caddy_usage + exit 1 + ;; + + esac + # :command.parse_requirements_while + while [[ $# -gt 0 ]]; do + key="$1" + case "$key" in + + -?* ) + printf "invalid option: %s\n" "$key" + exit 1 + ;; + + * ) + # :command.parse_requirements_case + printf "invalid argument: %s\n" "$key" + exit 1 + ;; + + esac + done + # :command.required_args_filter + # :command.required_flags_filter + # :command.catch_all_filter + # :command.default_assignments + # :command.whitelist_filter + # :command.user_filter +} + +# :command.parse_requirements +yy_caddy_gen_parse_requirements() { + # :command.fixed_flags_filter + case "${1:-}" in + --help | -h ) + long_usage=yes + yy_caddy_gen_usage + exit + ;; + + esac + # :command.environment_variables_filter + # :command.dependencies_filter + # :command.command_filter + action="caddy gen" + # :command.parse_requirements_while + while [[ $# -gt 0 ]]; do + key="$1" + case "$key" in + + -?* ) + printf "invalid option: %s\n" "$key" + exit 1 + ;; + + * ) + # :command.parse_requirements_case + printf "invalid argument: %s\n" "$key" + exit 1 + ;; + + esac + done + # :command.required_args_filter + # :command.required_flags_filter + # :command.catch_all_filter + # :command.default_assignments + # :command.whitelist_filter + # :command.user_filter +} + +# :command.parse_requirements +yy_caddy_pw_parse_requirements() { + # :command.fixed_flags_filter + case "${1:-}" in + --help | -h ) + long_usage=yes + yy_caddy_pw_usage + exit + ;; + + esac + # :command.environment_variables_filter + # :command.dependencies_filter + # :command.command_filter + action="caddy pw" + # :command.parse_requirements_while + while [[ $# -gt 0 ]]; do + key="$1" + case "$key" in + + -?* ) + printf "invalid option: %s\n" "$key" + exit 1 + ;; + + * ) + # :command.parse_requirements_case + printf "invalid argument: %s\n" "$key" + exit 1 + ;; + + esac + done + # :command.required_args_filter + # :command.required_flags_filter + # :command.catch_all_filter + # :command.default_assignments + # :command.whitelist_filter + # :command.user_filter +} + +# :command.initialize +initialize() { + version="0.1.0" + long_usage='' + set -e + + # src/initialize.sh +} + +# :command.run +run() { + declare -A args=() + declare -a other_args=() + declare -a input=() + normalize_input "$@" + parse_requirements "${input[@]}" + + if [[ $action == "dc" ]]; then + if [[ ${args[--help]:-} ]]; then + long_usage=yes + yy_dc_usage + else + yy_dc_command + fi + + elif [[ $action == "dc update" ]]; then + if [[ ${args[--help]:-} ]]; then + long_usage=yes + yy_dc_update_usage + else + yy_dc_update_command + fi + + elif [[ $action == "caddy" ]]; then + if [[ ${args[--help]:-} ]]; then + long_usage=yes + yy_caddy_usage + else + yy_caddy_command + fi + + elif [[ $action == "caddy gen" ]]; then + if [[ ${args[--help]:-} ]]; then + long_usage=yes + yy_caddy_gen_usage + else + yy_caddy_gen_command + fi + + elif [[ $action == "caddy pw" ]]; then + if [[ ${args[--help]:-} ]]; then + long_usage=yes + yy_caddy_pw_usage + else + yy_caddy_pw_command + fi + + elif [[ $action == "root" ]]; then + root_command + fi +} + +initialize +run "$@" |