Skip to content
Snippets Groups Projects
Commit 34f70169 authored by Pierre Ozoux's avatar Pierre Ozoux
Browse files

Add libre bash script

parent 9bca5eae
No related branches found
No related tags found
No related merge requests found
libre 0 → 100755
#!/bin/bash
export NS=`pwd | rev | cut -d'/' -f 2 | rev | sed 's/\./-/'`
export DOMAIN=`pwd | rev | cut -d'/' -f 2 | rev`
export SUBDOMAIN=`pwd | rev | cut -d'/' -f 1 | rev`
export FQDN=${SUBDOMAIN}-${NS}
export FQDN_DOTS=${SUBDOMAIN}.`echo $DOMAIN | sed 's/\(.*\)-/\1./'`
export PG_DOMAIN=$NS
export EPOCH=`date "+%s"`
export NUAGE_URL=`kubectl -n $NS get ing -o custom-columns=HOST:spec.rules[*].host --selector=app.kubernetes.io/name=nextcloud --no-headers=true`
export BUCKET=${FQDN}
export S3_SECRET=${NS}-dumps
for key in `kubectl -n ${NS} get secrets ${S3_SECRET} -o json | jq -r '.data | keys | .[]'`; do
#echo "loading $key into env..."
export $key=`kubectl -n ${NS} get secrets ${S3_SECRET} -o json | jq -r ".data.$key" | base64 -d`
#echo "done."
done
function show_usage {
echo "Usage:"
echo " - apply"
echo " - diff"
echo " - update"
echo " - changens"
exit 1
}
if [ $# -eq 0 ]; then
show_usage
fi
export VERSION=stable
source ./.env
if [ "${APP}" = "nextcloud" ]; then
if [ "${VERSION}" = "alpha" ]; then
#cat ./version.php | grep 'array(' | cut -d\( -f2 | cut -d\) -f1 | sed 's/,/\./g'
export NC_VERSION=21.0.2.1
export NC_IMAGE_TAG=21.0.2-2021-07-06
export NC_WEB_IMAGE_TAG=21.0.2-web-2021-07-06
else
export NC_VERSION=20.0.11.1
export NC_IMAGE_TAG=20.0.11-2021-08-03
export NC_WEB_IMAGE_TAG=20.0.11-web-2021-08-03
fi
fi
create_update_job_nc () {
if [ "${APP}" = "nextcloud" ]; then
kubectl -n $NS delete job update-nc
libre apply ../../common/nextcloud/other-manifests/update-job.yml
fi
}
case "$1" in
apply|diff)
if [ -z "$2" ]; then
manifest="../../common/$APP/manifests/app.yml"
if [ -f "$manifest" ]; then
cat "${manifest}" | envsubst '$BUCKET $NC_VERSION $NC_IMAGE_TAG $NC_WEB_IMAGE_TAG $ALLOWED_HOSTS $NS $EPOCH $NUAGE_URL $PG_DOMAIN $DOMAIN $SUBDOMAIN $FQDN $FQDN_DOTS $AWS_ACCESS_KEY_ID $AWS_SECRET_ACCESS_KEY'| /home/deploy/libre-cli -t - | kubectl -n ${NS} $1 -f -
else
echo "Manifest $manifest not found"
exit
fi
else
cat "${@:2}" | envsubst '$BUCKET $NC_VERSION $NC_IMAGE_TAG $NC_WEB_IMAGE_TAG $ALLOWED_HOSTS $NS $EPOCH $NUAGE_URL $PG_DOMAIN $DOMAIN $SUBDOMAIN $FQDN $FQDN_DOTS $AWS_ACCESS_KEY_ID $AWS_SECRET_ACCESS_KEY'| /home/deploy/libre-cli -t - | kubectl -n ${NS} $1 -f -
fi;;
update)
echo $FQDN_DOTS
libre diff > /tmp/diff
retVal=$? # returns 1 if diff
if [ $retVal -ne 0 ]; then # if diff
if [ "$2" = "--batch" ]; then
cat /tmp/diff | grep -v "value:\|image\|generation\|+++\|---\|@@\|diff" | grep "^+\|^-"
retVal=$? # returns 1 if grep
if [ $retVal -ne 1 ]; then
read -p "Ctrl-c to not apply the diff"
fi
else
cat /tmp/diff
read -p "Ctrl-c to not apply the diff"
fi
libre apply
create_update_job_nc
else
echo "Nothing to update, good job!"
fi;;
changens)
kubens $NS;;
*)
show_usage
esac
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment