How can I change application and Admin Console registry in airgap installs?

After application is installed in air gapped mode, the text boxes with registry endpoint and namespace are disabled and cannot be modified. How can I move the application to a new registry host or namespace?

The following steps can be used to move application to a new registry

  1. Use the push-images kots command to push images into the new registry if needed.
    kubectl kots admin-console push-images app-bundle.airgap
  2. Change host name and/or registry namespace in Admin Console.
    • Navigate to the application’s Registry Settings page
    • Make sure the Disable Pushing Images to Registry box is checked. This will enable editing for all registry fields.
    • Make changes and Save. This should create a new application version with images being rewritten to use the new registry.
  3. Uncheck the Disable Pushing Images to Registry box and save one more time. This will create a new version of the application that can be deployed and will also ensure that new images are pushed to the registry when application update is made.

Admin Console components will need to be edited manually.

  1. Push Admin Console images from Admin Console airgap bundle to the new registry if needed. Note that this is a different airgap bundle file with tar.gz extension.
    kubectl kots admin-console push-images kotsadm.tar.gz
  2. Manually edit Admin Console components to use new images. This step depends on Admin Console version and installation parameters. However components can be discovered using the following commands:
    kubectl -n <namespace> get statefulset -l
    kubectl -n <namespace> get deployment -l