Updating Gremlin
Privilege |
Description |
CLIENTS_WRITE | Allows editing all client information within the team |
It's important to keep Gremlin up to date, in order to take advantage of new features and important bug fixes. Review Gremlin's release notes for a full list of releases and associated changes.
Staying informed on the latest Gremlin updates
Gremlin releases new agent versions regularly. If you're installing pinned versions of Gremlin, you'll want to update your version pins when we release a new version. Stay up to date on the most recent version by subscribing to our RSS feeds:
Linux packages
YUM
To upgrade to the latest gremlin packages:
# You can also use specific versions (e.g. `gremlin-2.16.4 gremlind-2.16.4`).
sudo yum update gremlin gremlind
APT
To upgrade to the latest gremlin packages:
# You can also use specific versions (e.g. `gremlin@2.16.4 gremlind@2.16.4`).
sudo apt update && sudo apt upgrade gremlin gremlind
Container images
Gremlin hosts its gremlin/gremlin and gremlin/chao images on Docker Hub. They are tagged according to their release version.
Kubernetes
# VERSION=2.17.3
# CHAO_VERSION=0.3.0
kubectl set image daemonset/gremlin gremlin=gremlin/gremlin:$VERSION
kubectl set image deployment/chao chao=gremlin/chao:$CHAO_VERSION
Helm
In addition to updating Gremlin agents, you'll also want to check for updates to the Gremlin Helm Chart.
Upgrading Gremlin Helm Chart
Upgrading Gremlin Agents
# VERSION=2.17.3
# CHAO_VERSION=0.3.0
helm upgrade -n gremlin gremlin gremlin/gremlin \
--set image.tag=$VERSION \
--set chaoimage.tag=$CHAO_VERSION \
# NOTE: make sure you supply all helm values relevant to your installation
Other considerations for updating Gremlin
Downloading deb packages
# To download the latest version
apt download gremlin gremlind
# To download a specific version
apt download gremlin=2.18.5-1 gremlind=2.18.5-1
Downloading rpm packages
If you are supplying Gremlin packages to Linux machines outside of Gremlin's yum repository, you can download versions of the packages without installing them. Gremlin recommends using YUM's download-only functionality. YUM stores packages in <span class="code-class-custom">/var/cache/</span> (see yumdownloader(1))
# To download the latest version
yum install --downloadonly gremlin gremlind
# To download a specific version
yum install --downloadonly gremlin-2.18.5 gremlind-2.18.5
Without Yum Downloader
While Gremlin recommends downloading packages with YUM. You can download any Gremlin version with a BASH script like the one below:
#!/bin/bash
## Download a Gremlin RPM without using yum
##
## requires: curl, xpath, gzip
##
VERSION=$(curl https://rpm.gremlin.com/noarch/latest | cut -d- -f1)
## Or optionally set a specific version
# VERSION=2.16.3
curl -fsSL https://rpm.gremlin.com/noarch/$(\
curl -fsSL https://rpm.gremlin.com/noarch/$(\
curl -fsSL https://rpm.gremlin.com/noarch/repodata/repomd.xml \
| xpath -e "string(/repomd/data[@type=\"primary\"]/location/@href)" 2>/dev/null) \
| gunzip \
| xpath -e "string(/metadata/package[version/@ver=\"${VERSION}\" and name=\"gremlin\"][last()]/location/@href)" 2>/dev/null) \
-o gremlin-${VERSION}.x86_64.rpm
curl -fsSL https://rpm.gremlin.com/noarch/$(\
curl -fsSL https://rpm.gremlin.com/noarch/$(\
curl -fsSL https://rpm.gremlin.com/noarch/repodata/repomd.xml \
| xpath -e "string(/repomd/data[@type=\"primary\"]/location/@href)" 2>/dev/null) \
| gunzip \
| xpath -e "string(/metadata/package[version/@ver=\"${VERSION}\" and name=\"gremlind\"][last()]/location/@href)" 2>/dev/null) \
-o gremlind-${VERSION}.x86_64.rpm