Replicated supports any Kubernetes application, but doesn’t currently support Helm applications natively (and likely won’t as the V3 changes to Helm will likely lead to a more compatible Helm that doesn’t require native support). To ship a Helm application on Replicated, you’ll need to render the Helm charts to get plain Kubernetes YAML.

Create a Replicated values.yaml file

For each chart you need to ship, create a values.yaml file that contains static values for any items that your enterprise customers should not be configuring, and Replicated template functions for configurable items.

To explain this, let’s take a look at a sample, public chart. The Sentry chart is available as a stable chart, and the values file is hosted at https://github.com/kubernetes/charts/blob/master/stable/sentry/values.yaml. There are several values in here that shouldn’t be configured by an enterprise customers, and these have sane defaults already listed. But a few of these values should be configurable from the Replicated Admin Console, such as GITHUB_APP_ID and GITHUB_API_SECRET. Using the Replicated Template Functions, provide references to config items here:

Add Config items

What are best practices around excluding a helm dependency, since this occurs post-render?

That is, if I ship an application where in helm there’s an optional dependency, such as a database.
In Replicated I’d want to choose whether to deploy the database or connect to an external one. So far the only thing I can think of is setting replicas to 0 but still creating the deployment.