Native Helm Installation

Note

This Helm-based installation is only available for an existing Kubernetes cluster and external MongoDB and PostgreSQL databases.

A Helm-based installation is recommended for users familiar with Helm. It provides more customization options but also requires some technical experience.

For additional installation options, see: Installation.

Prerequisites

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

  • Prepare external PostgreSQL and MongoDB databases and ensure they meet the database requirements.

  • Obtain a valid license before installation. 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 and locate the example Helm values file (.yaml). You can refer to Helm documentation for additional guidance.

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

Initial configuration

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

The file should contain:

  • Database connection strings (MongoDB and Postgres),

  • Name of the external domain of the installed instance.

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.

  1. Log in to the Helm registry.

    To log in, you need your credentials (email and password), which you can obtain from the download portal. Fill in these details and run the command below.

    helm registry login registry.replicated.com --username <EMAIL ADDRESS> --password <LICENSE ID>
    
  2. Install the preflight Kubectl plugin.

    curl https://krew.sh/preflight | bash
  3. Run the preflight checks.

    helm template -f path/to/values.yaml oci://registry.replicated.com/swaggerhub/<CHANNEL>/swaggerhub | kubectl preflight [-n <NAMESPACE>] -

The preflight plugin displays the check result.

Installation

After successful preflight checks, initiate the installation.

  1. If you did not log in to the Helm registry during the preflight checks, do so now. You need to:

    • Specify your license ID,

    • Specify your email address,

    • Run the command below. You can find the license ID in the Replicated Portal or the license ID field of the license .yaml file.

    helm registry login registry.replicated.com --username <EMAIL ADDRESS> --password <LICENSE ID>
  2. Deploy a Helm chart for Elasticsearch. (Optional)

    Follow this step only if you enable Enhanced Search.

    Review the helm-values/elasticsearch/values.yaml file and customize the settings if needed. Deploy the chart. If needed, modify the version using the --version flag:

    helm install elasticsearch oci://registry.replicated.com/swaggerhub/<CHANNEL>/elasticsearch -f helm-values/elasticsearch/values.yaml
  3. Review the helm-values/swaggerhub/values.yaml file and customize the settings if needed.

  4. Deploy a Helm chart for SwaggerHub. You can apply the following modifications:

    • Specify the version, using the --version flag.

      Important

      Only the versions 2.11 and above are supported. Using an older version may result in errors.

      The install command by default applies the newest Helm chart and version when --version flag is not specified.

    • Use the --create-namespace flag - if you need to create a new namespace.

    helm install swaggerhub oci://registry.replicated.com/swaggerhub/<CHANNEL>/swaggerhub [-n <NAMESPACE>] -f helm-values/swaggerhub/values.yaml
  5. Check if all containers in the Pods tab in Helm application are highlighted green to confirm that the installation has been completed.

  6. Create credentials for an admin user by running the following command:

    kubectl exec -it deploy/swaggerhub-operator [-n <NAMESPACE>] -- cmd create-admin-user USERNAME [-p PASSWORD] EMAIL DEFAULT_ORG

    You can find more details about this command in Maintenance Operations.

Publication date: