- Added support for a new
additionalNamespaces field in the
apiVersion: k8s.io/v1beta1, Kind=Application manifest.
- Added a
requireMinimimalRBAC field in the
apiVersion: k8s.io/v1beta1, Kind=Application manifest. When enabled and running
kots install, KOTS will default to a namespaced-scoped RBAC role instead of a cluster-scoped role.
- Added a new
Distribution template function to return a string indicating the managed Kubernetes offering (i.e.
- Added a new kURL Context and corresponding template functions to read
values from the kURL Installer CRD. These functions are not available on the config page.
- Changed the internal API that
kots upload and
kots download use to the Go API. The Typescript implementations are deprecated.
- Added Velero status to the dashboard tile to identify if Velero is not installed and Snapshots are enabled.
- When running the Admin Console port forward (after
kots install or
kots admin-console), if port 8800 is not available, a random port will be used instead of showing an error.
- Default support bundle collectors now include rook, ceph, and kURL information.
- Removed the
allowSnapshots flag from the
kots.io/v1beta1/Appplication resource. Snapshots are now enabled by including a
velero.io/v1/Backup resource in a release.
- Fixed the bug that caused the Login button to become disabled.
- Fixed the bug that caused the
NoSuchKey error when deploying a version.
- Fixed issue that caused the Admin Console to crash when checking for updates if the installed app did not have a previous configuration saved.
- Fixed a bug that prevented fetching updates when a license update was pending. Now, the license will be synced, and then updates will be fetched.
- Fixed a bug that would cause subsequent updates in the Admin Console to fail if a previous release failed to upload to the internal object store (Minio, Rook, S3).
- Template functions in Preflight checks were not being rendered properly before execution.
- Fixed a bug that caused updates to fail if they did not contain a kots.io/v1beta1, Kind=Config document.
- Expanding deeply nested subdirectories within the View Files tab caused parent directories to be collapsed.
- Config screen will not render if the app config has unicode characters (even if commented out).
- Preflight outcomes generated using regex analyzers with less-than (
<), less-than-or-equal (
<=), or greater-than-or-equal (
>=) conditions were evaluated in reverse. Fixed by ensuring the operators strings correspond to the correct comparison operator.
- Admin Console configuration screen no longer fails to render when the config screen manifest refers to integers or booleans in the ‘when’ field.
- Errors while uploading current directory using the KOTS CLI.
kubectl kots upload . now uploads the current directory as expected.
- Fixed some situations preflight checks having a valid
exclude parameter were improperly included.
- New releases with required config options (where
required: true) are not deployable until all required fields are present.
- The application-level GitOps page has been collapsed into a single view.
- When multiple releases are available for upgrade in the Admin Console, any new configuration changes would only apply to the latest available release. Fixed by ensuring that any configuration change applies to all available releases for upgrade, not just the latest.
- When private registry changes are being saved, they will no longer be persisted until all images are pushed successfully.
- Better error messaging when detecting invalid ConfigItem template usage.
- Fixed a bug that caused the internal use of Kustomize to fail when a manifest specified a static namespace.
- Support bundle command now works from the host on embedded online installs.
- It was possible for the Admin Console to show the GitOps application tab without first enabling GitOps.
- License template functions now work on the config screen.
- Non-library DockerHub images in airgap scenarios are now properly rewritten to use the private registry.
kubectl kots reset-password now allows using
--namespace to specify the namespace, in addition to passing the namespace as an argument.
- Fixed a bug that could cause the app to be deployed without the initial settings in airgap scenarios.
- Added a new
IsKurl template function that can be used to determine if the install is running on a kURL embedded cluster
- Updated the UI when installing an initial airgap image to show progress of each image as it’s transferred to the local registry
- Updated icons in the troubleshoot analyzers page
- Highlight the new release on the Version History page when a new release is detected by KOTS
- Fixed a bug that could cause the
LocalRegistryImagePullSecret function to panic when used in Config items
- Fixed a bug that could cause Preflight checks to not complete when there is a locally configured registry
- Added support for deploying Operators as KOTS applications:
additionalImages to the kots.io/v1beta1, Kind=Application spec
- Added new template functions for operators to read the local image name and image pull secrets
- Added support for
--kubeconfig and all other
kubectl flags in all
kots commands. These can be used with
kubectl kots --kubeconfig ...
TLSCert template functions, to generate matching cert and private key for a hostname.
ConfigOption template functions will now be evaluated recursively. Items defined in the config can reference other config items, and will be updated when any value changes.
- When there is no TTY, the default KOTS logger will not show a spinner.
- The upstream directory has been excluded from diff calculation and view in order to show clearly what changes are being deployed.
- The diff calculation now shows the lines added and removed in the base and downstream only.
kubectl kots admin-console upgrade command will no longer upgrade kURL installs.
kots can now push images to unsecured private registries.
- Multi-doc YAML files will be automatically split when rendered into the base directory.
- Added messages that show the reason that certs are not accepted when uploading them on the embedded cluster page
- When uploading a cert with a hostname on the embedded cluster, the browser will automatically redirect to the hostname after applying the cert
kots version command now doesn’t hang and doesn’t display networking errors when it’s unable to connect to github.com to check for updates.
- Fixed the issue that caused kURL installer to fail when
kotsadm add-on was included, but application did not have any metadata.
- Fixed the 404 error when Secure Console page is refreshed in the browser on kURL+kotsadm installs.
- Clicking “Continue to Setup” on the Secure Console page no longer shows the “Anonymous uploads have been disabled” message.
- Fixed the issue that allowed users to upload certificates that had expired or had an invalid hostname.
- Fixed the issue that caused kURL installs to fail when
kotsadm add-on is enabled but no app slug is specified.
- Fixed the issue that caused scroll bars to be shown on the Preflight Checks page while the spinner is the only thing visible on the page.
- Fixed the bug that caused GitOps page to show “Oops, something went wrong” message when trying to add a repo.
- Fixed the support bundle command shown on embedded cluster installs.
- Fixed the bug that caused
versionLabel to be removed from the installation.yaml file by the
kots pull command.
- Fixed a bug that caused
kots.io/exclude annotations to be either completely ignored or applied to all objects in a single file.
- Fixed error display when the Add Node button on the Cluster Management page.