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.
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>
Install the preflight Kubectl plugin.
curl https://krew.sh/preflight | bash
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.
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>
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
Review the
helm-values/swaggerhub/values.yaml
file and customize the settings if needed.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
Check if all containers in the Pods tab in Helm application are highlighted green to confirm that the installation has been completed.
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.