#!/usr/bin/env bash

[[ " help ansible-deploy:help " == *" $1 "* ]] || exit "$DOKKU_NOT_IMPLEMENTED_EXIT"

set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x

case "$1" in

  help | ansible-deploy:help)
    help_content_func() {
      # shellcheck disable=SC2034
      declare desc="return ansible-deploy plugin help content"
      cat<<help_content
    ansible-deploy:vault-pass appname, Add new app vault password for decrypting secrets
    ansible-deploy:sudo-pass, Add system Dokku user sudo password for sudo escalation
help_content
    }

    if [[ $1 = "ansible-deploy:help" ]]; then
      echo -e 'Usage: dokku ansible-deploy:COMMAND'
      echo ''
      echo 'Deploy applications on Dokku using Ansible'
      echo ''
      echo 'Commands:'
      help_content_func | sort | column -c2 -t -s,
    elif [[ $(ps -o command= $PPID) == *"--all"* ]]; then
      help_content_func
    else
      cat<<help_desc
    ansible-deploy, Deploy applications on Dokku using Ansible.
help_desc
    fi
    ;;

  vault-pass)
    dokku-ansible-deploy-vault-pass-cmd "$@"
    ;;

  sudo-pass)
    dokku-ansible-deploy-sudo-pass-cmd
    ;;

  *)
    exit "$DOKKU_NOT_IMPLEMENTED_EXIT"
    ;;

esac