Install JFrog Catalog with Helm and OpenShift

JFrog Installation & Setup Documentation

Content Type
Installation & Setup
ft:sourceType
Paligo

Installation Type:

Helm (Kubernetes)

Install

Note

In our documentation, we use oc commands for code snippets related to OpenShift installation, but kubectl commands will also work.

  1. Add the charts.jfrog.io to your Helm client.

    helm repo add jfrog https://charts.jfrog.io
  2. Update the repository.

    helm repo update
  3. Installation requires a JFrog url, join key and a master key. You can pass the join key along with the Helm install/upgrade command or pass it in a values.yaml file. The following sample shows how to provide a join key in the values.yaml file.

    jfrogUrl: http://art-artifactory.art:8082
    joinKey: EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
    masterKey: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    

    Alternatively, you can manually create secrets containing the join key and master key, and then pass them to the template during install/upgrade. The keys must be named join-key and master-key.

    oc create secret generic joinkey-secret
    --from-literal=join-key=<YOUR_PREVIOUSLY_RETRIEVED_JOIN_KEY>
    oc create secret generic masterkey-secret
    --from-literal=master-key=<YOUR_PREVIOUSLY_RETRIEVED_MASTER_KEY>

    The following example shows the values.yaml file with the join key and master key secret.

    joinKeySecretName: joinkey-secret
    masterKeySecretName: masterkey-secret
    
  4. Installation requires configurations for an external PostgreSQL database. Below is an example configuration.

    database:
      url: postgres://my-postgresql:5432/catalogdb?sslmode=disable
      user: catalog
      password: catalog
    
  5. The introduction of extraSystemYaml enables users to modify components of the system.yaml configuration post-template evaluation. It allows users to seamlessly customize specific aspects of the system.yaml without duplicating the entire configuration file.

    extraSystemYaml:
      shared:
        application:
          level: debug
    
  6. Run the Helm install command to proceed with the installation. The following command shows how to pass the required values through a values.yaml file.

    helm upgrade --install catalog jfrog/catalog --namespace catalog -f values.yaml
  7. To access the logs, find the name of the pod using the following command:

    oc --namespace <your namespace> get pods
  8. To get the container logs, run the following command:

    oc --namespace <your namespace> logs -f <name of the pod>

Upgrade

Modify the custom values file, then use the following command:

helm upgrade --install catalog jfrog/catalog --namespace catalog -f values.yaml
Helm (OpenShift)
  1. Add the charts.jfrog.io to your Helm client.

    helm repo add jfrog https://charts.jfrog.io
  2. Update the repository.

    helm repo update
  3. Installation requires a JFrog url, join key and a master key. You can pass the join key along with the Helm install/upgrade command or pass it in a values.yaml file. The following sample shows how to provide a join key in the values.yaml file.

    jfrogUrl: http://art-artifactory.art:8082
    joinKey: EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
    masterKey: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    

    Alternatively, you can manually create secrets containing the join key and master key, and then pass them to the template during install/upgrade. The keys must be named join-key and master-key:

    oc create secret generic joinkey-secret --from-literal=join-key=<YOUR_PREVIOUSLY_RETRIEVED_JOIN_KEY>
    oc create secret generic masterkey-secret --from-literal=master-key=<YOUR_PREVIOUSLY_RETRIEVED_MASTER_KEY>

    The following example shows the values.yaml file with the join key and master key secret.

    joinKeySecretName: joinkey-secret
    masterKeySecretName: masterkey-secret
  4. When you deploy Catalog helm chart on an OpenShift cluster, you need to disable the securityContext and containerSecurityContext. Default OpenShift functionality automatically assigns an arbitrary UID block associated with the project.

    Set the following values in the values.yaml so that you can pass it along with the installation.

    securityContext:
      enabled: false
    containerSecurityContext:
      enabled: false
    
  5. To make PostgreSQL work on OpenShift, disable the securityContext and containerSecurityContext in thevalues.yamlfile, and set the following values:

    podSecurityContext:
     enabled: false
    containerSecurityContext:
     enabled: false
    
  6. Run the Helm install command to proceed with the installation. The following command shows how to pass the required values through a values.yaml file.

    helm upgrade --install catalog jfrog/catalog --namespace catalog -f values.yaml
  7. To access the logs, find the name of the pod using the following command:

    oc --namespace <your namespace> get pods
  8. To get the container logs, run the following command:

    oc --namespace <your namespace> logs -f <name of the pod>