forked from 0k/0k-charms
Browse Source
new: doc: [rocketchat] added some update docs.
new: doc: [rocketchat] added some update docs.
Signed-off-by: Valentin Lab <valentin.lab@kalysto.org>dev
Valentin Lab
4 years ago
1 changed files with 81 additions and 0 deletions
@ -0,0 +1,81 @@ |
|||
# -*- ispell-local-dictionary: "english" -*- |
|||
#+SETUPFILE: ~/.emacs.d/etc/setup/latex.setup |
|||
#+SETUPFILE: ~/.emacs.d/etc/setup/html-readtheorg-local.setup |
|||
|
|||
#+TITLE: Rocket.Chat |
|||
|
|||
* Updating the charm to a new version |
|||
|
|||
We are using official image. Latest tags usually. You can |
|||
double-check available candidate for official images like this: |
|||
|
|||
#+begin_src sh |
|||
docker search rocket.chat |
|||
#+end_src |
|||
|
|||
So we usually pull and test images like this : |
|||
|
|||
#+begin_src sh |
|||
docker pull rocket.chat:X.Y.Z |
|||
#+end_src |
|||
|
|||
This worked on 3.6.3, but changed before 3.8.0 to: |
|||
|
|||
#+begin_src sh |
|||
docker pull rocketchat/rocket.chat:X.Y.Z |
|||
#+end_src |
|||
|
|||
from: https://hub.docker.com/r/rocketchat/rocket.chat |
|||
|
|||
Get the available tags: |
|||
|
|||
#+begin_src sh |
|||
IMAGE_BASE_NAME=rocket.chat |
|||
|
|||
## lookup on docker hub only. Could think doing it for any docker |
|||
## image identifier available on `pull`. This would mean querying |
|||
## other registries, probably with a different api. |
|||
docker:lookup_available_tags() { |
|||
local image="$1" limit="${2:-10}" filter="$3" eor p |
|||
|
|||
## remove any tags on image name |
|||
image="${image%%:*}" |
|||
|
|||
if [[ "$image" == *"/"* ]]; then |
|||
username="${image%%/*}" |
|||
image="${image##*/}" |
|||
else |
|||
username="library" |
|||
fi |
|||
|
|||
p=0 |
|||
eor= |
|||
while [ -z "$eor" ]; do |
|||
((p++)) |
|||
out=$(curl -s "https://registry.hub.docker.com/v2/repositories/$username/$image/tags/?page=$p" | |
|||
jq -r '."results"[]["name"]') || break |
|||
[ -z "$out" ] && break |
|||
## 10 results are expected per request, otherwise |
|||
## this means we are hitting End of Records. |
|||
nb_result=$(printf "%s\n" "$out" | wc -l) |
|||
[ "$nb_result" -lt 10 ] && eor=true |
|||
## filter records |
|||
[ "$filter" ] && out=$(printf "%s\n" "$out" | egrep "$filter") |
|||
[ -z "$out" ] && continue |
|||
nb_result=$(printf "%s\n" "$out" | wc -l) |
|||
if [ "$limit" -le "$nb_result" ]; then |
|||
printf "%s\n" "$out" | head -n "$limit" |
|||
break |
|||
fi |
|||
printf "%s\n" "$out" |
|||
limit=$((limit - nb_result)) |
|||
done |
|||
|
|||
} |
|||
|
|||
docker:lookup_available_tags rocketchat/rocket.chat 15 "^[0-9]+(\.[0-9]+)*$" |
|||
|
|||
#+end_src |
|||
|
|||
Rocket.chat has a powerfull and working update database that will |
|||
take care of migrating database on startup. |
Write
Preview
Loading…
Cancel
Save
Reference in new issue