Add envvar management
This commit is contained in:
parent
82e1ec69f4
commit
53697da305
6 changed files with 91 additions and 79 deletions
2
poddoc
2
poddoc
|
@ -1,7 +1,7 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# CONSTANTS
|
||||
readonly PKGVER="0.0.1"
|
||||
readonly PKGVER="0.1.0"
|
||||
readonly LICENSE="GNU AGPLv3"
|
||||
readonly ROOTPATH="$(dirname $(readlink -f $0))"
|
||||
readonly CONFIG="/usr/local/noveria/etc/poddoc/poddoc.json"
|
||||
|
|
13
utils/inspect
Normal file
13
utils/inspect
Normal file
|
@ -0,0 +1,13 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
function inspectpod() {
|
||||
if [[ ! -d "$(getValueByKey 'PODMAN_DIRECTORY')/${1}" ]]; then
|
||||
log e "Podman-directory of ${1} does not exist!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo -e "Container-Name: $(getLocalConfValue $(getValueByKey 'PODMAN_DIRECTORY')/${1} container.name)
|
||||
Network: $(getLocalConfValue $(getValueByKey 'PODMAN_DIRECTORY')/${1} network.name)
|
||||
Status: $([[ -n $(podman container ls | grep $(getLocalConfValue $(getValueByKey 'PODMAN_DIRECTORY')/${1} container.name)) ]] && echo -e ${GREEN}Running${RESET} || echo -e ${RED}Stopped${RESET})
|
||||
Uptime: ${GREEN}$(podman container ls | grep ${1} | awk '{$1=$1};1' | cut -d' ' -f 7-8)${RESET}"
|
||||
}
|
78
utils/podman
78
utils/podman
|
@ -1,78 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
##
|
||||
# description: pulls the specified docker-compose.yml from the defined git-repo
|
||||
# usage: pullpod <pod-name>
|
||||
##
|
||||
function pullpod() {
|
||||
if [[ ! "$(curl -A "poddoc/$PKGVER" -so /dev/null -w %{http_code} $(getValueByKey 'GIT_REPOSITORY')/${1})" =~ 2[0-9]{2} ]]; then
|
||||
log e "$1 does not exist in remote repository"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ ! -d "$(getValueByKey 'PODMAN_DIRECTORY')/${1}" ]]; then
|
||||
git clone "$(getValueByKey 'GIT_REPOSITORY')/${1}.git" "$(getValueByKey 'PODMAN_DIRECTORY')/${1}"
|
||||
exit 0
|
||||
fi
|
||||
cd "$(getValueByKey 'PODMAN_DIRECTORY')/${1}"
|
||||
git pull
|
||||
}
|
||||
|
||||
function inspectpod() {
|
||||
if [[ ! -d "$(getValueByKey 'PODMAN_DIRECTORY')/${1}" ]]; then
|
||||
log e "Podman-directory of ${1} does not exist!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo -e "Container-Name: $(getLocalConfValue $(getValueByKey 'PODMAN_DIRECTORY')/${1} container.name)
|
||||
Network: $(getLocalConfValue $(getValueByKey 'PODMAN_DIRECTORY')/${1} network.name)
|
||||
Status: $([[ -n $(podman container ls | grep $(getLocalConfValue $(getValueByKey 'PODMAN_DIRECTORY')/${1} container.name)) ]] && echo -e ${GREEN}Running${RESET} || echo -e ${RED}Stopped${RESET})
|
||||
Uptime: ${GREEN}$(podman container ls | grep ${1} | awk '{$1=$1};1' | cut -d' ' -f 7-8)${RESET}"
|
||||
}
|
||||
|
||||
##
|
||||
# description: starts the defined podman container
|
||||
# usage: startpod <pod-name>
|
||||
##
|
||||
function startpod() {
|
||||
if [[ ! -d "$(getValueByKey 'PODMAN_DIRECTORY')/${1}" ]]; then
|
||||
log e "Podman-directory of ${1} does not exist!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd "$(getValueByKey 'PODMAN_DIRECTORY')/${1}"
|
||||
|
||||
# check if network is needed
|
||||
if [[ -n $(getLocalConfValue $(getValueByKey 'PODMAN_DIRECTORY')/${1} network.name) ]]; then
|
||||
local network="$(getLocalConfValue $(getValueByKey 'PODMAN_DIRECTORY')/${1} network.name)"
|
||||
if [[ -z $(podman network ls | grep "$network") ]]; then
|
||||
podman network create "$network"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -n $(podman container ls | grep $(getLocalConfValue $(getValueByKey 'PODMAN_DIRECTORY')/${1} container.name)) ]]; then
|
||||
log e "Container $(getLocalConfValue $(getValueByKey 'PODMAN_DIRECTORY')/${1} container.name) is already running"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
podman-compose up -d
|
||||
}
|
||||
|
||||
##
|
||||
# description: stops and deletes the specified podman container
|
||||
# usage: stoppod <pod-name>
|
||||
##
|
||||
function stoppod() {
|
||||
if [[ ! -d "$(getValueByKey 'PODMAN_DIRECTORY')/${1}" ]]; then
|
||||
log e "Podman-directory of ${1} does not exist!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -z $(podman container ls | grep $(getLocalConfValue $(getValueByKey 'PODMAN_DIRECTORY')/${1} container.name)) ]]; then
|
||||
log e "Container $(getLocalConfValue $(getValueByKey 'PODMAN_DIRECTORY')/${1} container.name) does not exist!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd "$(getValueByKey 'PODMAN_DIRECTORY')/${1}"
|
||||
podman-compose down
|
||||
}
|
28
utils/pull
Normal file
28
utils/pull
Normal file
|
@ -0,0 +1,28 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
##
|
||||
# description: pulls the specified docker-compose.yml from the defined git-repo
|
||||
# usage: pullpod <pod-name>
|
||||
##
|
||||
function pullpod() {
|
||||
if [[ ! "$(curl -A "poddoc/$PKGVER" -so /dev/null -w %{http_code} $(getValueByKey 'GIT_REPOSITORY')/${1})" =~ 2[0-9]{2} ]]; then
|
||||
log e "$1 does not exist in remote repository"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ ! -d "$(getValueByKey 'PODMAN_DIRECTORY')/${1}" ]]; then
|
||||
git clone "$(getValueByKey 'GIT_REPOSITORY')/${1}.git" "$(getValueByKey 'PODMAN_DIRECTORY')/${1}"
|
||||
|
||||
if [[ $(getLocalConfValue 'hasEnvVars' ) == true ]]; then
|
||||
for i in $(getLocalConfValue '.container.envVars[]'); do
|
||||
read -p "Please enter a value for '$i': " $(echo $i)
|
||||
export $(echo $i)
|
||||
sed "s/$(echo $i)/$(echo $i): $(printenv | grep $i | cut -d= -f2)/g"
|
||||
done
|
||||
fi
|
||||
|
||||
exit 0
|
||||
fi
|
||||
cd "$(getValueByKey 'PODMAN_DIRECTORY')/${1}"
|
||||
git pull
|
||||
}
|
29
utils/start
Normal file
29
utils/start
Normal file
|
@ -0,0 +1,29 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
##
|
||||
# description: starts the defined podman container
|
||||
# usage: startpod <pod-name>
|
||||
##
|
||||
function startpod() {
|
||||
if [[ ! -d "$(getValueByKey 'PODMAN_DIRECTORY')/${1}" ]]; then
|
||||
log e "Podman-directory of ${1} does not exist!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd "$(getValueByKey 'PODMAN_DIRECTORY')/${1}"
|
||||
|
||||
# check if network is needed
|
||||
if [[ -n $(getLocalConfValue $(getValueByKey 'PODMAN_DIRECTORY')/${1} network.name) ]]; then
|
||||
local network="$(getLocalConfValue $(getValueByKey 'PODMAN_DIRECTORY')/${1} network.name)"
|
||||
if [[ -z $(podman network ls | grep "$network") ]]; then
|
||||
podman network create "$network"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -n $(podman container ls | grep $(getLocalConfValue $(getValueByKey 'PODMAN_DIRECTORY')/${1} container.name)) ]]; then
|
||||
log e "Container $(getLocalConfValue $(getValueByKey 'PODMAN_DIRECTORY')/${1} container.name) is already running"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
podman-compose up -d
|
||||
}
|
20
utils/stop
Normal file
20
utils/stop
Normal file
|
@ -0,0 +1,20 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
##
|
||||
# description: stops and deletes the specified podman container
|
||||
# usage: stoppod <pod-name>
|
||||
##
|
||||
function stoppod() {
|
||||
if [[ ! -d "$(getValueByKey 'PODMAN_DIRECTORY')/${1}" ]]; then
|
||||
log e "Podman-directory of ${1} does not exist!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -z $(podman container ls | grep $(getLocalConfValue $(getValueByKey 'PODMAN_DIRECTORY')/${1} container.name)) ]]; then
|
||||
log e "Container $(getLocalConfValue $(getValueByKey 'PODMAN_DIRECTORY')/${1} container.name) does not exist!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd "$(getValueByKey 'PODMAN_DIRECTORY')/${1}"
|
||||
podman-compose down
|
||||
}
|
Loading…
Reference in a new issue