Migration from an Existing Installation to Helm
Caution
Changes to the Bitnami catalog were announced recently and will take effect on August 28, 2025. Due to these changes, some SwaggerHub On-Prem users may need to take action. Find out if you are affected and learn about the remediation patch.
Prerequisites
Ensure the following configuration is in place before starting the Helm migration:
The latest SwaggerHub 2.x installation. If you're using an earlier version, upgrade your instance according to the instructions in Upgrading to the latest 2.x.
A Kubernetes cluster that meets the minimum requirements.
External PostgreSQL and MongoDB databases set up that satisfy the database requirements.
Note
We do not support internal databases for this Helm installation.
(Optional) To enable Enhanced Search, you need an existing Elasticsearch installation (version 8.x).
Upgrading to the latest 2.x
If you're using an earlier version of SwaggerHub, upgrade to the latest 2.x before proceeding. Follow one of the scenarios below depending on the currently installed version:
For 1.x versions, perform the migration to 2.7.2 as the first step. Then upgrade to the latest KOTS version.
For 2.x versions earlier than 2.7.2, upgrade to 2.7.2 as the first step. Then upgrade to the latest KOTS version.
For versions later than 2.7.2, upgrade to the latest KOTS version.
Note
Use your existing license to perform the upgrade to the latest KOTS version.
Migration process
Prepare configuration values according to the instructions in Helm installation.
As part of the procedure, create a customized
custom-values.yaml
file, ensuring its values reflect the existing KOTS settings. You can also obtain a ready values file corresponding with the current KOTS installation from the Admin Console. To do that, follow the path: View files - Helm - SwaggerHub and then downloadvalues.yaml
.Set the database connection strings under
.settings.dbs
to the latest 2.x instance.Create a backup of your latest 2.x instance.
Note
Any changes applied to the instance between the backup creation and the graceful shutdown will be discarded.
Shut down your SwaggerHub instance gracefully to prevent any database traffic.
Initiate the Helm installation with the standard command:
helm install swaggerhub oci://registry.replicated.com/swaggerhub/<CHANNEL>/swaggerhub [-n <NAMESPACE>] -f helm-values/swaggerhub/values.yaml
Note
You need an updated SwaggerHub license to perform this step. Before proceeding with Helm installation, contact our Sales Team or your account manager to request a new license.
Restore your data using the backup from the latest 2.x instance.
Handle DNS name change (if needed)
Note
Follow these steps only if the Helm installation uses a different DNS name than the initial setup.
Run the
bulk-replace
command to replace the old DNS name with the new one in all APIs and domains in the new instance:$ kubectl exec -it deploy/swaggerhub-operator -n swaggerhub -- cmd bulk-replace old.example.com new.example.com
Note
For VM (embedded cluster) installations, you can omit the namespace (
-n
argument) since the system automatically sets it todefault
.Update the SwaggerHub DNS name specified in external tools and CI/CD pipelines:
Requests to the Registry API and User Management API.
Requests to API mocks.
SwaggerHub CLI configuration.
Maven plugin configuration.
If you use SAML single sign-on, update the SwaggerHub connector in your SAML identity provider.
, , and in theIf you use GitHub authentication, update the SwaggerHub OAuth application configured in GitHub.
in theIf you use Azure API Management integration, update the registered in Azure.
in the application
Recreate API mocks by triggering the API Auto Mocking integration in all APIs that use it. You can automate this procedure by using SwaggerHub CLI
integration
commands or the Registry API integration endpoints.