The following upgrade methods are supported:
Interactive Script (Recommended)
Manual RPM / Debian
Linux Archive
Helm
Note
When you upgrade a Insight high availability cluster, ensure that you trigger the upgrade process on all the nodes simultaneously.
Insight Interactive Script Upgrade
This supports all install types, including Docker Compose, RPM, and Debian.
Stop the service.
systemctl stop insight //For systemd OS service insight stop //For systemv OS cd jfrog-insight-<version>-compose // For Docker Compose docker-compose -p insight down
For HA Installation
Stop all the Insight nodes in the cluster first followed by the primary node.
Extract the contents of the compressed archive and go to the extracted folder.
Note
Make sure to merge your customizations in your current docker-compose.yaml file to the new extracted version of the docker-compose.yaml file.
tar -xvf jfrog-insight-<version>-<compose|rpm|deb>.tar.gz cd jfrog-insight-<version>-<compose|rpm|deb>
Note
Copy the contents of the .env file in the previous installation to the newly created .env file in this archive without copying the versions, as this will affect the upgrade.
If you are upgrading to Insight 1.17.x or later with Deb or RPM-based OS, run the following commands to remove the Search Guard plugin.
cd /usr/share/elasticsearch/bin/elasticsearch-plugin remove search-guard-7
Since Insight 1.17.x and later uses Elasticsearch 8, Search Guard is no longer required.
For HA Installation
You need to run the commands in each node in the cluster to remove Search Guard.
Run the installer script.
Note
If needed, the script will prompt you with a series of mandatory inputs, including the jfrogURL (custom base URL) and joinKey.
./config.sh //For Docker Compose ./install.sh //For RPM and Debian
For HA Installation
Create a
certs
. folder in the install directory and copy the Elasticsearch Certificate file/etc/elasticsearch/certs/elastic-certificates.p12
from primary to the certs folder. The installation script will copy the certificate to the right location.Start and manage the Insight service.
systemctl start|stop insight //For systemd OS service insight start|stop //For systemv OS cd jfrog-insight-<version>-compose //For Docker Compose docker-compose -p insight up -d docker-compose -p insight ps docker-compose -p insight down
Access Insight from your browser at: http://<jfrogUrl>/ui/, go to the Dashboard tab in the Application module in the UI.
Check the Insight log.
tail -f $JFROG_HOME/insight/var/log/console.log
Update the Filebeat configurations of any Artifactory or Xray node which have Filebeat enabled:
shared: metrics: enabled: true filebeat: enabled: true elasticsearch: url: https://[ELASTICSEARCH_URL]:9200 username: admin password: password ssl: verification_mode: none
Insight HA Helm Upgrade
When you upgrade Insight HA from Insight 1.17.x and later, the upgrade process depends on the Elastic persistence storage setting because of Elasticsearch upgrade.
If Elasticsearch Persistence Storage is Enabled (Default)
If the value of elasticsearch.persistence.enabled
is set as true, run the following commands to upgrade.
Run the following commands from inside the primary Elasticsearch container.
Note
Change the default username and password (admin:admin) if you have updated it manually.
List all the available nodes.
curl -uadmin:admin -k "localhost:9200/_cat/nodes?format=json&filter_path=name&pretty"
Remove all the nodes other than primary from voting configuration.
curl -uadmin:admin -k -XPOST "localhost:9200/_cluster/voting_config_exclusions?node_names=<node-name>&pretty”
Remove all nodes other than the primary from the cluster routing allocation list.
curl -uadmin:admin -XPUT "localhost:9200/_cluster/settings?pretty" -H 'Content-Type: application/json' -d' { "transient" : { "cluster.routing.allocation.exclude._name" : "<node-name>" } } '
Bring down Insight HA cluster with ReplicaCount set to 1.
kubectl scale sts <insight-sts> –replicas=1
Run the following commands from inside the primary Elasticsearch container.
Delete the voting configuration.
curl -uadmin:admin -k -XDELETE "localhost:9200/_cluster/voting_config_exclusions?wait_for_removal=false"
Restore allocation settings to default.
curl -uadmin:admin -k -XPUT "http://localhost:9200/_cluster/settings?pretty" -H 'Content-Type: application/json' -d' { "transient" : { "cluster.routing.allocation.exclude._name" : null } } '
Update the repository and run
helm upgrade
with replicaCount set to 1.helm repo update helm upgrade --install insight --set replicaCount=1 --namespace insight jfrog/insight
Verify the upgrade completed.
helm status insight
Bring up Insight HA cluster with the desired ReplicaCount.
helm upgrade --install insight --set replicaCount=3 --namespace insight jfrog/insight
Update the Filebeat configurations of any Artifactory or Xray node which have Filebeat enabled:
shared: metrics: enabled: true filebeat: enabled: true elasticsearch: url: https://[ELASTICSEARCH_URL]:9200 username: admin password: password ssl: verification_mode: none
If Elasticsearch Persistence Storage is Disabled
If the value of elasticsearch.persistence.enabled
is set as false, run the following commands to upgrade.
Add the https://charts.jfrog.io to your Helm client.
helm repo add jfrog https://charts.jfrog.io
Update the repository.
helm repo update
Uninstall existing release.
helm uninstall insight --namespace insight
The Insight PVCs are not touched by the uninstallation.
Initiate installation by providing a join key and JFrog url as a parameter to the Insight chart installation.
helm upgrade --install insight --set replicaCount=3 --set insight.joinKey=<YOUR_PREVIOUSLY_RETIREVED_JOIN_KEY> \ --set insightServer.jfrogUrl=<YOUR_PREVIOUSLY_RETIREVED_BASE_URL> --namespace insight jfrog/insight
Alternatively, you can manually create a secret containing the join key and then pass it to the template during install/upgrade. the key must be named join-key.
# Create a secret containing the key: kubectl create secret generic my-secret --from-literal=join-key=<YOUR_PREVIOUSLY_RETIREVED_JOIN_KEY> # Pass the created secret to helm helm upgrade --install insight --set insight.joinKeySecretName=my-secret --namespace insight jfrog/insight
Note
In either case, make sure to pass the same join key on all future calls to
helm install
andhelm upgrade
! This means always passing--set insight.joinKey=<YOUR_PREVIOUSLY_RETIREVED_JOIN_KEY>
. In the second, this means always passing--set missionControl.joinKeySecretName=my-secret
and ensuring the contents of the secret remain unchanged.Ensure that you provide the same namespace that you had before this upgrade process in the installation command .
Access Insight from your browser at:
http://<jfrogUrl>/ui/
and go to the Dashboard tab in the Application module in the UI.Check the status of your deployed Helm releases.
helm status insight
Update the Filebeat configurations of any Artifactory or Xray node which have Filebeat enabled:
shared: metrics: enabled: true filebeat: enabled: true elasticsearch: url: https://[ELASTICSEARCH_URL]:9200 username: admin password: password ssl: verification_mode: none