Enterprise Upgrade Guide v3 -> v4
Pre-requisites
Make sure the required hosts are reachable by running the following command:
Run the following command on the machine that has access to the Kubernetes cluster:
Script Usage:
Existing cluster installation
- Upgrade KOTS: To update KOTS in an online existing cluster, run
For more KOTS CLI installation options, including information about how to install or update without root access, see Installing the KOTS CLI.
- Run the following command to update the KOTS Admin Console to the same version as the KOTS CLI:
Replace <NAMESPACE>
with the namespace in your cluster where KOTS is installed.
Embedded cluster
- Create two new instances with the following system requirements in the same subnet as the existing nodes:
- 16 CPU cores
- 32 GiB memory
- 150 GiB disk
- Operating System: Ubuntu 22.04 recommended. We do support all the OS’es listed System requirements here.
- Follow this guide to install latest Kubernetes on both the nodes.
- Before proceeding with installing v4, make sure you have the license file available locally.
Steps to migrate
-
Navigate to the “Version History” tab in the Admin Console and click on “Check for updates”.
-
Select the latest version that starts with
v4.x.x
. -
You’ll be asked to configure the installation before you can move ahead. Click on the “Configure” button next to the latest version.
-
Get secrets from the existing DeepSource installation.
- Dump all secret to a file for backup, just in case things go south.
- VCS Settings
Get the previously configured secrets for your VCS provider using the commands below:
-
Github Cloud
- Github Enterprise
- Gitlab
- Bitbucket Cloud
- Bitbucket Data Center
- Azure DevOps
- Google Source Repositories
-
Access Control Settings
- Database Settings
- Integration Settings
- Advanced Configurations
-
Configure the new settings using the output from the above commands.
-
For existing cluster installations with your own ingress controller, make sure to update the ingress annotations. The example ingress annotation is as follows:
Replace
<cluster-issuer>
with the name of the cluster issuer you have in your cluster. Replace<primary-host>
with the primary host of your DeepSource installation. -
Once you are done, save the config. You will be redirected to the “Version history” page. Deploy the latest configured release.
-
Once the deployment is complete, make sure DeepSource is up and running by navigating to the DeepSource dashboard.
-
Follow the minio migration guide below for migrating assets from the old installation to the new one.
Minio data migration
Existing cluster
Run the following command on the machine that has access to the Kubernetes cluster:
Script Usage:
Embedded cluster
- Run the following command in old cluster by SSH’ing into the old application node:
- Run the following command in new cluster by SSH’ing into the new application node:
- Run the following commands from your local machine from which you can access both the application instances, old and new.
- Open port
9002
on your firewall so that your local machine can access the new and old nodes on the port. Also ensure the both the nodes can access the9002
port on each other. - Install minio-client on your local by following the guide: https://min.io/docs/minio/linux/reference/minio-mc.html#install-mc
- Run the migration script:
Note: For the
access_key
andsecret_key
refer to the output of the commands you ran earlier on both the nodes.