69 lines
2.1 KiB
Bash
69 lines
2.1 KiB
Bash
#!/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
|
|
}
|
|
|
|
##
|
|
# 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
|
|
}
|
|
|
|
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
|
|
}
|