Artifactory version 6.x to 7.x upgrade with Helm

JFrog Installation & Setup Documentation

Content Type
Installation & Setup

Before you proceed, see System Requirements for information on supported platforms, supported browsers, and other requirements.

In addition, review the Helm Chart requirements.

Artifactory Upgrade from 6.x to 7.x

Upgrading from 6.x to 7.x requires a one time migration process. You have to enable the migration in the values.yaml file:

artifactory:
  migration:
    enabled: true

It is possible to configure the migration timeout with the following configuration in extreme cases. The default provided should be more than enough for completion of the migration.

artifactory:
  migration:
    enabled: true
    timeoutSeconds: 3600
Migrating the Master Key from Version 6.x to 7.x

Version 6.x only supports a masterKey with 16 hex (32 characters) and if you have set a masterKey using openssl rand -hex 32 (64 characters) in 6.x, only the first 32 characters are used and rest are ignored. When migrating from 6.x to 7.x, we trim the first 32 characters and set the masterkey, which implies that 7.x still uses the trimmed masterkey of 6.x. Therefore, the artifactory.masterKey should not be passed during migration from 6.x to 7.x.

Upgrading from 8.x to 11.x and Above Chart Versions

If you are upgrading from 8.x to 11.x and above chart versions, remember to delete the existing PostgreSQL statefulset before upgrading the chart due to breaking changes in PostgreSQL subchart.

Run the following command.

kubectl delete statefulsets <OLD_RELEASE_NAME>-postgresql

Once you have a new chart version, you can upgrade your deployment.

Single Node Upgrade
  1. Use the following command to upgrade.

    helm upgrade artifactory --namespace artifactory jfrog/artifactory
  2. If Artifactory was installed without providing a value to postgresql.postgresqlPassword (if the password was auto-generated), run the following command to get the current password.

    POSTGRES_PASSWORD=$(kubectl get secret -n <namespace> <myrelease>-postgresql -o jsonpath="{.data.postgresql-password}" | base64 --decode)
  3. Upgrade the release by passing the previously auto-generated secret.

    helm upgrade <myrelease> jfrog/artifactory --set postgresql.postgresqlPassword=${POSTGRES_PASSWORD} --namespace <namespace>

    This applies any configuration changes on your existing deployment.

HA Upgrade with the artifactory-ha chart
  1. Use the following command to upgrade.

    helm upgrade artifactory-ha --namespace artifactory-ha jfrog/artifactory-ha
  2. If Artifactory was installed without providing a value to postgresql.postgresqlPassword (if the password was auto-generated), run the following command to get the current password.

    POSTGRES_PASSWORD=$(kubectl get secret -n <namespace> <myrelease>-postgresql -o jsonpath="{.data.postgresql-password}" | base64 --decode)
  3. Upgrade the release by passing the previously auto-generated secret.

    helm upgrade <myrelease> --namespace artifactory-ha jfrog/artifactory-ha --set postgresql.postgresqlPassword=${POSTGRES_PASSWORD}

    This applies any configuration changes on your existing deployment.

Artifactory version 7.25.5 onwards includes OpenJDK version 11.0.11 and later. TLS 1.0 and TLS 1.1 are disabled by default from OpenJDK 11.0.11 onwards. If your database version does not support TLS 1.2, the Artifactory startup fails.

If you are unable to upgrade your database to a version that supports TLS 1.2 or later, perform the following steps to run Artifactory:

  1. Create the following local directory.

  2. Download the java.security file that has TLS 1.0 and 1.1 enabled.

  3. Copy the java.security file to java/configmap.

  4. Run the following command to create a custom config map. For more information, refer to Using Config Maps.

  5. Pass the following custom config map to your Helm install. For more information, refer to Using Config Maps.