Replicated KOTS now has native support for packaging Helm charts as a component, or even as a KOTS application by itself. This works for both Helm 2 charts & the new Helm 3 charts.
This new integration simplifies the process of creating and maintaining a KOTS application for software vendors who already create a Helm chart for their Kubernetes application. Vendors can now create a KOTS app by providing a tar.gz export of their chart and adding a KOTS custom resource (kind: HelmChart) to configure how the chart should run.
With just these two artifacts, vendors are able to quickly deliver their Helm chart as a licensed and managed KOTS application. Additional features can be enabled by including additional KOTS custom resources (config, preflight, analyzer, collector, application, sig-application).
From the Vendor Portal, when editing a release, just drag a Helm chart tar.gz to the file viewer where Replicated will recognize it and generate the basic kind:HelmChart:
Vendors using the Replicated CLI to create releases of their application will need to update to a recent version.
For vendors in the process of creating or expanding their KOTS application, this capability is especially good news. It makes it very easy to leverage helm charts as “building blocks” for your application, or as additional components that support or enhance your application. For example, here we can see a KOTS application that makes short work of ingress and certificate management by using the helm charts for those components.
Often these charts can serve as “drop-in” alternatives to IaaS components and services that are needed. For example, consider starting with an application that normally runs in the cloud be using Amazon RDS for Postgres with a managed Elastic cluster. To deliver the same application on-premises, you can use community-supported Helm charts like Postgres and Elastic as drop-in replacements for these managed services.
In addition, Helm charts with KOTS can make it easier to support customers in a wide range of configurations. Some customers have their own versions of services like Postgres or Elastic that they prefer to manage themselves. By leveraging the optional chart functionality, it becomes very easy to deliver an application where customers can choose to use their own externally managed service, or to use what is provided by the application by default.