Airgapped Helm Installation

Prerequisites

  • Set up a Kubernetes cluster that meets the minimum requirements.

  • Obtain a valid license that enables Airgap and Helm installations. The Helm values file from the OCI registry includes a digitally signed license and the chart. Access to the registry requires authentication using the credentials we provide.

    To request a license, contact our Sales Team or your account manager.

  • Install Helm CLI on both online and airgapped machine. Locate the example Helm values file (.yaml). You can refer to Helm documentation for additional guidance.

  • Set up a Docker registry available in the network, as specified in the Airgapped Installation Requirements.

  • All commands require a jumpbox with connectivity to the cluster and a kubectl installation.

  • (Optional) To enable Enhanced Search, you need an existing Elasticsearch installation (version 8.x).

Download installation files

Before you proceed with the airgapped installation, contact Sales or your account manager and ask for a link to download the installation files. You will receive a link and credentials to access the download portal.

To allow the cluster to pull application images, configure a container registry accessible to the cluster. You can retrieve the images from the Replicated Registry and then transfer them to your private registry. Alternatively, you can set up a registry, like Harbor, to automatically mirror the images.

On a computer with internet access:

  1. Log in to the download portal using the provided credentials.

    docker login proxy.replicated.com -u <CUSTOMER EMAIL> -p <LICENSE_ID>
  2. Pull the application images.

    Caution

    Ensure the image version matches the one provided in the auto-generated instructions in the download portal.

    docker pull proxy.replicated.com/proxy/swaggerhub/smartbear/swaggerhub-portal-frontend:v1.20250320.4
    docker pull proxy.replicated.com/proxy/swaggerhub/smartbear/swagger-spec-converter:1.9.0
    docker pull proxy.replicated.com/proxy/swaggerhub/smartbear/swaggerhub-resolver-service:1.26.0
    docker pull proxy.replicated.com/proxy/swaggerhub/smartbear/swaggerhub-core:1.20250220.1
    docker pull proxy.replicated.com/proxy/swaggerhub/smartbear/swaggerhub-registry-api:3.59.0
    docker pull proxy.replicated.com/proxy/swaggerhub/smartbear/swaggerhub-custom-rules:2.19.0-onprem
    docker pull proxy.replicated.com/proxy/swaggerhub/smartbear/swaggerhub-configs-service:1.15.0
    docker pull proxy.replicated.com/proxy/swaggerhub/smartbear/swagger-hub-frontend:4.0.85-onprem-5
    docker pull proxy.replicated.com/proxy/swaggerhub/smartbear/swaggerhub-api-service:2.23.0
    docker pull proxy.replicated.com/proxy/swaggerhub/smartbear/swaggerhub-notifications:2.10.0
    docker pull proxy.replicated.com/proxy/swaggerhub/smartbear/swaggerhub-operator:2.12.0-926-b15f4536
    docker pull proxy.replicated.com/proxy/swaggerhub/haproxy:3.0.9-alpine3.21
    docker pull proxy.replicated.com/proxy/swaggerhub/smartbear/swaggerhub-portal-api:v1.20250319.1
    docker pull proxy.replicated.com/proxy/swaggerhub/smartbear/swaggerhub-virtserver:3.25.0
    docker pull proxy.replicated.com/proxy/swaggerhub/smartbear/swaggerhub-accounts-api:4.22.0
    docker pull proxy.replicated.com/proxy/swaggerhub/smartbear/swaggerhub-products-api:2.18.0
    docker pull proxy.replicated.com/proxy/swaggerhub/swaggerapi/swagger-generator-v3:3.0.68
    
  3. Re-tag the downloaded images to push them to your internal registry.

    docker tag proxy.replicated.com/proxy/swaggerhub/smartbear/swaggerhub-portal-frontend:v1.20250320.4 your.registry.com/swaggerhub/swaggerhub-portal-frontend:v1.20250320.4
    docker tag proxy.replicated.com/proxy/swaggerhub/smartbear/swagger-spec-converter:1.9.0 your.registry.com/swaggerhub/swagger-spec-converter:1.9.0
    docker tag proxy.replicated.com/proxy/swaggerhub/smartbear/swaggerhub-resolver-service:1.26.0 your.registry.com/swaggerhub/swaggerhub-resolver-service:1.26.0
    docker tag proxy.replicated.com/proxy/swaggerhub/smartbear/swaggerhub-core:1.20250220.1 your.registry.com/swaggerhub/swaggerhub-core:1.20250220.1
    docker tag proxy.replicated.com/proxy/swaggerhub/smartbear/swaggerhub-registry-api:3.59.0 your.registry.com/swaggerhub/swaggerhub-registry-api:3.59.0
    docker tag proxy.replicated.com/proxy/swaggerhub/smartbear/swaggerhub-custom-rules:2.19.0-onprem your.registry.com/swaggerhub/swaggerhub-custom-rules:2.19.0-onprem
    docker tag proxy.replicated.com/proxy/swaggerhub/smartbear/swaggerhub-configs-service:1.15.0 your.registry.com/swaggerhub/swaggerhub-configs-service:1.15.0
    docker tag proxy.replicated.com/proxy/swaggerhub/smartbear/swagger-hub-frontend:4.0.85-onprem-5 your.registry.com/swaggerhub/swagger-hub-frontend:4.0.85-onprem-5
    docker tag proxy.replicated.com/proxy/swaggerhub/smartbear/swaggerhub-api-service:2.23.0 your.registry.com/swaggerhub/swaggerhub-api-service:2.23.0
    docker tag proxy.replicated.com/proxy/swaggerhub/smartbear/swaggerhub-notifications:2.10.0 your.registry.com/swaggerhub/swaggerhub-notifications:2.10.0
    docker tag proxy.replicated.com/proxy/swaggerhub/smartbear/swaggerhub-operator:2.12.0-926-b15f4536 your.registry.com/swaggerhub/swaggerhub-operator:2.12.0-926-b15f4536
    docker tag proxy.replicated.com/proxy/swaggerhub/haproxy:3.0.9-alpine3.21 your.registry.com/swaggerhub/haproxy:3.0.9-alpine3.21
    docker tag proxy.replicated.com/proxy/swaggerhub/smartbear/swaggerhub-portal-api:v1.20250319.1 your.registry.com/swaggerhub/swaggerhub-portal-api:v1.20250319.1
    docker tag proxy.replicated.com/proxy/swaggerhub/smartbear/swaggerhub-virtserver:3.25.0 your.registry.com/swaggerhub/swaggerhub-virtserver:3.25.0
    docker tag proxy.replicated.com/proxy/swaggerhub/smartbear/swaggerhub-accounts-api:4.22.0 your.registry.com/swaggerhub/swaggerhub-accounts-api:4.22.0
    docker tag proxy.replicated.com/proxy/swaggerhub/smartbear/swaggerhub-products-api:2.18.0 your.registry.com/swaggerhub/swaggerhub-products-api:2.18.0
    docker tag proxy.replicated.com/proxy/swaggerhub/swaggerapi/swagger-generator-v3:3.0.68 your.registry.com/swaggerhub/swagger-generator-v3:3.0.68
    
    docker push your.registry.com/swaggerhub/swaggerhub-portal-frontend:v1.20250320.4
    docker push your.registry.com/swaggerhub/swagger-spec-converter:1.9.0
    docker push your.registry.com/swaggerhub/swaggerhub-resolver-service:1.26.0
    docker push your.registry.com/swaggerhub/swaggerhub-core:1.20250220.1
    docker push your.registry.com/swaggerhub/swaggerhub-registry-api:3.59.0
    docker push your.registry.com/swaggerhub/swaggerhub-custom-rules:2.19.0-onprem
    docker push your.registry.com/swaggerhub/swaggerhub-configs-service:1.15.0
    docker push your.registry.com/swaggerhub/swagger-hub-frontend:4.0.85-onprem-5
    docker push your.registry.com/swaggerhub/swaggerhub-api-service:2.23.0
    docker push your.registry.com/swaggerhub/swaggerhub-notifications:2.10.0
    docker push your.registry.com/swaggerhub/swaggerhub-operator:2.12.0-926-b15f4536
    docker push your.registry.com/swaggerhub/haproxy:3.0.9-alpine3.21
    docker push your.registry.com/swaggerhub/swaggerhub-portal-api:v1.20250319.1
    docker push your.registry.com/swaggerhub/swaggerhub-virtserver:3.25.0
    docker push your.registry.com/swaggerhub/swaggerhub-accounts-api:4.22.0
    docker push your.registry.com/swaggerhub/swaggerhub-products-api:2.18.0
    docker push your.registry.com/swaggerhub/swagger-generator-v3:3.0.68

Initial configuration

Before starting the installation, configure your custom settings. Use the provided values.yaml file and create a customized custom-values.yaml file.

For an airgapped installation from a private registry, set up the following values:

Pull secret

Configure the pull secret to allow access to the private registry.

global:
  imageRegistry: <PRIVATE REGISTRY HOST>
  imagePullSecrets:
  - <PULL SECRET NAME>

Image repository

Configure each service to use the private registry and repository.

swaggerhubOperator:
    repository: <REPOSITORY>/swaggerhub/swaggerhub-operator
specConverterApi:
    repository: <REPOSITORY>/swaggerhub/swagger-spec-converter
swaggerGenerator:
    repository: <REPOSITORY>/swaggerhub/swaggerapi/swagger-generator-v3
swaggerhubAccountsApi:
    repository: <REPOSITORY>/swaggerhub/swaggerhub-accounts-api
swaggerhubApiService:
    repository: <REPOSITORY>/swaggerhub/swaggerhub-api-service
swaggerhubConfigsApi:
    repository: <REPOSITORY>/swaggerhub/swaggerhub-configs-service
swaggerhubCore:
    repository: <REPOSITORY>/swaggerhub/swaggerhub-core
swaggerhubCustomRules:
    repository: <REPOSITORY>/swaggerhub/swaggerhub-custom-rules
swaggerhubFrontend:
    repository: <REPOSITORY>/swaggerhub/swagger-hub-frontend
swaggerhubNotifications:
    repository: <REPOSITORY>/swaggerhub/swaggerhub-notifications
swaggerhubProductsApi:
    repository: <REPOSITORY>/swaggerhub/swaggerhub-products-api
swaggerhubRegistryApi:
    repository: <REPOSITORY>/swaggerhub/swaggerhub-registry-api
swaggerhubResolverService:
    repository: <REPOSITORY>/swaggerhub/swaggerhub-resolver-service
swaggerhubVirtserver:
    repository: <REPOSITORY>/swaggerhub/swaggerhub-virtserver
swaggerhubPortalFrontend:
    repository: <REPOSITORY>/swaggerhub/swaggerhub-portal-frontend
swaggerhubPortalBackend:
    repository: <REPOSITORY>/swaggerhub/swaggerhub-portal-api
haproxy:
    repository: <REPOSITORY>/swaggerhub/haproxy

Downloading Helm chart

Pull the Helm chart, using the command:

helm pull oci://registry.replicated.com/swaggerhub/stable/swaggerhub

Installation

For manually pulled charts, use the following command:

export SWAGGERHUB_CHART=swaggerhub.tgz

In other cases:

export SWAGGERHUB_CHART=oci://registry.replicated.com/swaggerhub/stable/swaggerhub

Preflight checks

Check the configuration of settings to ensure correctness and avoid errors during the installation. This step is optional, but we strongly recommend including it in your process. Additional instruction is available in the preflights documentation.

helm template $SWAGGERHUB_CHART --values swaggerhub-values.yaml | kubectl preflight - 

Install SwaggerHub

After successful preflight checks, initiate the installation.

helm install swaggerhub $SWAGGERHUB_CHART --values swaggerhub-values.yaml
Publication date: