#!/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 "$@"