Configure JFrog artifactory server for K10 air-gapped install

The K10 data management platform is installed as a helm chart via helm package manager. For environments that are connected to the Internet, please follow the installation steps described here.

However, if an air-gapped installation is required, it is possible to use a private container registry to install K10. While this can always be done manually, the k10offline tool makes it easier to automate the process.

This guide provides a step-by-step approach to configure a JFrog Artifactory server and install K10. Click here for more details about JFrog.


1. After logging into the JFrog dashboard, select Repositories menu from the sidepanel.


2. Create a new Remote Repository

Package Type: Docker
Repository Key: <user defined>
      e.g. kasten-remote
URL: https://public.ecr.aws/
Include Patterns:
      kasten-images
      kasten-images/**/* 


3. Create a new Virtual Repository

Repository Key: <user defined>
      e.g. k10
Selected Repositories: <add the remote repository created in the previous step from available repositories list>

In the Advanced tab --> select "Artifactory Requests Can Retrieve Remote Artifacts"


4. Prep helm to pull the new image, and capture latest K10 release version

This will update the repositories helm knows about and make sure that all of the latest references are there. The latest version of K10 is being captured in a variable to be used in consecutive commands.

Note: Since Helm v2 has been deprecated, it's recommended to use Helm v3.

All of the commands below are utilizing v3.

helm repo update
export K10_VER=$(helm search repo "k10" -o yaml | head -1 | awk '{print $3}')

 

5. Pull an image from your configured Artifactory repository

Pulling an image from the configured Artifactory will fetch that image from the upstream kasten registry and cache it into Artifactory. If everything is connected correctly, then this command will be successful.

Note:

Note: If authorization is required to the Artifactory, one must login before pulling images from it.

docker login <artifactory_registry_hostname>
docker pull <artifactory_registry_hostname>/<artifactory_virtual_repository_key>/kasten-images/k10offline:"$K10_VER"

 

6. Go to the Applications card and verify artifacts under both Virtual and Remote repositories.



7. Fetch the Helm chart for Local Use

helm fetch kasten/k10


8. If the private repository (repo.example.com) has downloaded K10 charts and images from the remote repository, an air-gapped installation can be performed by setting global.airgapped.repository=repo.example.com (shown below)

helm install k10-"$K10_VER".tgz --name k10 --namespace kasten-io \
    --set global.airgapped.repository=repo.example.com


9. There are other ways to use a private repository.

To pull K10 charts and images locally, and subsequently uploading them to the private repository manually, follow steps outlined here.

Note: K10 helm chart and container images are available at:


10. To view images on a browser, go to this link.