summaryrefslogtreecommitdiff
path: root/roles/nextcloud
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2019-11-15 00:13:02 +0100
committerChristian Pointner <equinox@spreadspace.org>2019-11-15 00:13:02 +0100
commit38474186f0848d69dbd212ca0fe523bf1064ead3 (patch)
tree689615da21a139e6e42ab7a63415229c117e4580 /roles/nextcloud
parentupgrade nextcloud instances (diff)
added nextcloud upgrade script
Diffstat (limited to 'roles/nextcloud')
-rwxr-xr-xroles/nextcloud/files/nextcloud-upgrade42
-rw-r--r--roles/nextcloud/tasks/main.yml7
2 files changed, 49 insertions, 0 deletions
diff --git a/roles/nextcloud/files/nextcloud-upgrade b/roles/nextcloud/files/nextcloud-upgrade
new file mode 100755
index 00000000..aac5001f
--- /dev/null
+++ b/roles/nextcloud/files/nextcloud-upgrade
@@ -0,0 +1,42 @@
+#!/bin/bash
+
+INST_NAME="$1"
+VERSION="$2"
+if [ -z "$INST_NAME" ] || [ -z "$VERSION" ]; then
+ echo "Usage: $0 <instance> <version>"
+ exit 1
+fi
+
+set -eu
+
+K8S_MANIFEST_D="/etc/kubernetes/manifests/"
+K8S_MANIFEST_FILE="$K8S_MANIFEST_D/nextcloud-$INST_NAME.yml"
+if [ ! -e "$K8S_MANIFEST_FILE" ]; then
+ echo "could not find manifest file: $K8S_MANIFEST_FILE"
+ exit 2
+fi
+
+TMP_D=$(mktemp -d -t nextcloud-upgrade.XXXXXXX)
+function cleanup {
+ rm -rf "$TMP_D"
+}
+trap cleanup EXIT
+
+echo "*** Pre-Pulling the image"
+echo ""
+ctr -n k8s.io image pull "docker.io/library/nextcloud:$VERSION"
+echo ""
+
+echo "*** Patching manifest file"
+echo ""
+sed "s#image: \"nextcloud:.*\"#image: \"nextcloud:$VERSION\"#" "$K8S_MANIFEST_FILE" > "$TMP_D/upgraded.yml"
+set +e
+diff -u "$K8S_MANIFEST_FILE" "$TMP_D/upgraded.yml"
+if [ $? -eq 0 ]; then
+ echo "patching file failed?"
+ exit 2
+fi
+cat "$TMP_D/upgraded.yml" > "$K8S_MANIFEST_FILE"
+echo ""
+
+exit 0
diff --git a/roles/nextcloud/tasks/main.yml b/roles/nextcloud/tasks/main.yml
index 1b863ec7..8a816c2e 100644
--- a/roles/nextcloud/tasks/main.yml
+++ b/roles/nextcloud/tasks/main.yml
@@ -151,3 +151,10 @@
replacement: "https://$host/"
- redirect: "http://$host:8080/"
replacement: "https://$host/"
+
+
+- name: install upgrade script
+ copy:
+ src: nextcloud-upgrade
+ dest: /usr/local/bin/nextcloud-upgrade
+ mode: 0755