#!/usr/bin/env bash

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

source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"

function validate_dependencies() {
  if ! command -v "ansible-playbook" &>/dev/null; then
    log-fail "Missing ansible-playbook, run dokku plugin:install-dependencies"
  fi
}

function run_playbook() {
  local app="$1"
  local play_path="$2"
  local requirements="$3"

  validate_dependencies

  if [[ ! -f "$play_path" ]]; then
    dokku_col_log_info1_quiet "$play_path not found or executable bit not set"
    exit 0
  fi

  if [[ -f "$requirements" ]]; then
    dokku_col_log_info1_quiet "$requirements file found"
    ansible-galaxy install --force --role-file "$requirements"
  fi

  dokku_col_log_info1_quiet "Copying library modules into place"
  mkdir -p "$DOKKU_ROOT/.ansible/plugins/modules"
  cp -R "$DOKKU_ROOT/.ansible/*/library/*" "$DOKKU_ROOT/.ansible/plugins/modules"

  dokku_col_log_info1_quiet "$play_path file found"
  ansible-playbook --inventory "$(hostname)", --connection local "$play_path"
}