SPK Artifacts Via F5 Artifact Registry

Overview

The Service Proxy for Kubernetes (SPK) manifest file, helm charts, docker images, and other utilities are now available via F5 Artifact Registry (FAR) at repo.f5.com. FAR is accessible to all, but only users with a valid Service Account Key can download and install the artifacts.

This document details the procedures for downloading a Service Account Key, and using the Service Account Key to download the SPK Manifest file and install Helm charts, docker images, and other utilities into the cluster from FAR (repo.f5.com).

Requirements

Ensure you have:

  • A workstation with Helm v3.8.0 or higher installed.

Procedures

1. Download the Service Account Key

To download the Service Account Key, do the following:

  1. Login to the MyF5.

  2. Navigate to Support Resources and click Downloads.

  3. Check the box for the End User License Agreement and Program Terms, then click Next.

  4. Choose BIG-IP_Next from the Select a Product Family Group drop-down.

  5. Select Service Proxy for Kubernetes (SPK) from the Product Line drop-down.

  6. Choose the desired version from the Product Version drop-down.

  7. Select the f5-far-auth-key.tgz file from the download file list. Choose a download location from the drop-down menu and click Download.

    The TGZ file contains a Service Account Key. This is Service Account Key in base64 format, used for logging into FAR.

2. Download the Manifest File

Download the manifest.yaml file for the current release or the specific release you are looking for.

To download the Manifest file, do the following:

  1. Perform a Helm Login to download the Manifest file from FAR:

    cat <service_account_key_base64 file> | helm registry login -u _json_key_base64 --password-stdin https://repo.f5.com
    

    In this example, cne_pull-base64.json is the Service Account Key.

    cat cne_pull_64.json | helm registry login -u _json_key_base64 --password-stdin https://repo.f5.com
    
  2. Perform a Helm Pull to pull the Manifest file from FAR:

    helm pull oci://repo.f5.com/<path of Manifest file> --version <version of Manifest file>  
    

    In this example, release/f5-spk-manifest is the path for pulling manifest.yaml file and its version is 1.7.9.

    helm pull oci://repo.f5.com/release/f5-spk-manifest --version 1.7.9
    

    The f5-spk-manifest-1.7.9.tgz file is now pulled.

  3. Run list command to see newly downloaded Manifest tar file:

    ls   
    

    The file list shows the service_account_key_base64 file and Manifest file named f5-spk-manifest-1.7.9.tgz:

  4. Extract the Manifest file:

    tar xvf f5-spk-manifest-1.7.9.tgz   
    
  5. Run list command on the f5-spk-manifest-1.7.9 directory. It shall list spk-manifest-1.7.9.yaml file:

    ls f5-spk-manifest-1.7.9 
    

    The file list shows a spk-manifest-1.7.9.yaml file:

    The spk-manifest-1.7.9.yaml file: Contains names and version numbers of all SPK Helm charts and docker images.

    Example of spk-manifest-1.7.9.yaml file:

    f5_helm_repo: oci://repo.f5.com
    f5_docker_repo: repo.f5.com
    releases:
      - version: 1.7.9
        helm_charts:
          - name: charts/csrc
            version: 0.4.2
          - name: charts/cwc
            version: 2.0.16
          - name: utils/f5-cert-gen
            version: 0.5.2
          - name: charts/f5-cert-manager
            version: 0.5.12
          - name: charts/f5-dssm
            version: 3.0.37
          - name: charts/f5-spk-crds-common
            version: 6.0.3
          - name: charts/f5-spk-crds-deprecated
            version: 6.0.3
          - name: charts/f5-spk-crds-service-proxy
            version: 6.0.3
          - name: charts/f5-toda-fluentd
            version: 3.0.25
          - name: charts/f5ingress
            version: v10.0.104
          - name: charts/rabbitmq
            version: 2.0.5
        docker_images:
          - name: images/cert-manager-cainjector
            version: 1.3.2
          - name: images/cert-manager-controller
            version: 1.3.2
          - name: images/cert-manager-ctl
            version: 1.3.2
          - name: images/cert-manager-webhook
            version: 1.3.2
          - name: images/f5-cert-client
            version: v2.1.3
          - name: images/f5-debug-sidecar
            version: v7.37.7-0.0.12
          - name: images/f5-dssm-store
            version: v3.3.6
          - name: images/f5-dssm-upgrader
            version: 1.2.3
          - name: images/f5-fluentbit
            version: v0.8.0
          - name: images/f5-fluentd
            version: v1.4.24
          - name: images/f5-license-helper
            version: v2.0.5
          - name: images/f5-toda-tmstatsd
            version: v4.0.8
          - name: images/f5dr-img
            version: v0.8.0-0.0.2
          - name: images/f5dr-img-init
            version: v0.8.0-0.0.2
          - name: images/f5ingress
            version: v10.0.104
          - name: images/init-certmgr
            version: v0.5.12
          - name: images/opentelemetry-collector
            version: 0.62.1
          - name: images/rabbit
            version: v2.0.2
          - name: images/spk-csrc
            version: v0.2.11
          - name: images/spk-cwc
            version: v0.2.11
          - name: images/tmm-img
            version: v1.9.21
          - name: images/tmrouted-img
            version: v0.8.37
    

3. Install the Helm charts

To install the Helm charts, do the following: Download the SPK Helm charts, Docker Images and other Utilities:

  1. Perform a Helm Login to download the Helm charts from FAR:

    cat <service_account_key_base64 file> | helm registry login -u _json_key_base64 --password-stdin https://repo.f5.com
    

    In this example, cne_pull-base64.json is the Service Account Key.

    cat cne_pull_64.json | helm registry login -u _json_key_base64 --password-stdin https://repo.f5.com
    
  2. Perform a Helm Pull to pull the Helm charts from FAR:

    helm pull oci://repo.f5.com/<path of Helm chart> --version <version of Helm chart>  
    

    In this example, charts/f5ingress is the path for pulling f5ingress Helm chart and its version is v10.0.104 as retrieved from the manifest.yaml file.

    helm pull oci://repo.f5.com/charts/f5ingress --version v10.0.104
    
  3. Perform a Utilities Pull to pull the other utilities from FAR:

    helm pull oci://repo.f5.com/<path of Utilities> --version <version of Utility> 
    

    In this example, utils/f5-cert-gen is the path for pulling f5-cert-gen utility and its version is 0.5.2 as retrieved from the manifest.yaml file.

    helm pull oci://repo.f5.com/utils/f5-cert-gen --version 0.5.2
    
  4. Perform a Docker Login to download the docker images from FAR:

    cat <service_account_key_base64 file> | docker login -u _json_key_base64 --password-stdin <URL of F5 Artifact Registry>
    

    In this example, cne_pull_64.json is the same Service Account Key.

    cat cne_pull_64.json | docker login -u _json_key_base64 --password-stdin https://repo.f5.com
    
  5. Perform a Docker Pull to pull the docker images from FAR:

    docker pull repo.f5.com/<path of Docker Image>:<version of Docker Image> 
    

    In this example, images/rabbit is the path for pulling rabbit docker image and its version is v2.0.2 as retrieved from the manifest.yaml file.

    docker pull repo.f5.com/images/rabbit:v2.0.2
    

Feedback

Provide feedback to improve this document by emailing spkdocs@f5.com.