diff --git a/pms-cli b/pms-cli index a31c1ae..ce5d42e 100755 --- a/pms-cli +++ b/pms-cli @@ -1,7 +1,7 @@ #!/usr/bin/env bash # CONSTANTS -readonly PKGVER="0.0.4" +readonly PKGVER="0.1.0" readonly LICENSE="GNU AGPLv3" readonly ROOTPATH="$(dirname $(readlink -f $(which $0)))" readonly TEMPLATEDIR="${ROOTPATH}/.template" @@ -22,9 +22,11 @@ operations: $(basename ${0}) {-V --version} $(basename ${0}) {-v --verbose} $(basename ${0}) {--init} [servername] - $(basename ${0}) {--start} [servername] [port] + $(basename ${0}) {--datapack} [servername] [datapack dl url] + $(basename ${0}) {--start} [servername] [port] $(basename ${0}) {--stop} [servername] - $(basename ${0}) {--restart} [servername] [port]" + $(basename ${0}) {--restart} [servername] [port] + $(basename ${0}) {--attach} [servername]" } function version() { @@ -40,7 +42,7 @@ the terms of the ${LICENSE}" ### OPT_SHORT="hVv" -OPT_LONG="help,version,verbose,init:,start:,stop:,restart:" +OPT_LONG="help,version,verbose,init:,datapack:,start:,stop:,restart:,attach:" TEMP=$(getopt -o ${OPT_SHORT} --long ${OPT_LONG} -n $(basename ${0}) -- "$@") if [ "$?" != 0 ]; then @@ -53,40 +55,48 @@ eval set -- "$TEMP" while true; do case "$1" in -h|--help) - usage - exit 0 - ;; + usage + exit 0 + ;; -V|--version) - version - exit 0 - ;; + version + exit 0 + ;; -v|--verbose) - debuglevel=4 + debuglevel=4 ;; --init) - shift - init "$1" + shift + init "$1" + ;; + --datapack) + shift + datapack "$1" "$3" ;; --start) - shift - start "$1" "$3" + shift + start "$1" "$3" ;; --stop) - shift - stop "$1" + shift + stop "$1" ;; --restart) - shift - stop "$1" - start "$1" "$3" + shift + stop "$1" + start "$1" "$3" + ;; + --attach) + shift + attach "$1" ;; --) - shift - break - ;; + shift + break + ;; *) - log w "$1 is not a valid parameter. Please refer to '$(basename ${0}) -h' for help!" - break + log w "$1 is not a valid parameter. Please refer to '$(basename ${0}) -h' for help!" + break ;; esac shift diff --git a/utils/attach b/utils/attach new file mode 100644 index 0000000..945b76b --- /dev/null +++ b/utils/attach @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +function attach() { + if [[ -z $(podman container ps | grep "$1") ]]; then + log e "Container '$1' is not running!" + exit 1 + fi + log i "Attaching to container '$1'" + podman container attach "$1" +} diff --git a/utils/datapack b/utils/datapack new file mode 100644 index 0000000..8a98341 --- /dev/null +++ b/utils/datapack @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +function datapack() { + if [[ ! -d "$(getValueByKey 'PODMAN_DIRECTORY')/${1}" ]]; then + log e "Directory '${1}' does not exist" + exit 1 + fi + + local dir="$(getValueByKey 'PODMAN_DIRECTORY')/${1}" + + curl "${2}" -o "$dir" +}