Helm client version and custom install commands for review

Helm client version and custom install commands

Hi everyone,

I’m new to Harness and trying to set up a pipeline for our Kubernetes application.
We are using Harness Free Edition (as we are just testing) with a quite simple pipeline (Native Helm deployment):
As a POC we use Helm to publish our application as Helm Chart from GitHub repo and deploy it to K8s cluster.

But our team faced two major issues during this POC:

  1. The only working way to change helm client version is to build a custom delegate image - its fine in theory, but still a bit inconveniently
  2. The idea of executing any custom command BEFORE helm install is a real problem for us, as usually we need to create a new namespace, and it more preferable for us to use custom command: helm upgrade --namespace prod-id-1234 --create-namespace --install instead of simple helm install.
    As stated in docs: “All the commands you select are run before helm install/upgrade” (docs ref), we tried to use this - run custom command before main helm install - but a pipeline still fails with “namespace not exist” as our custom command was not executed. And besides, it doesn’t matter as we don’t want to do double deployment for the same package.
    Is it failing because Harness making some kind of pre-checks before executing helm commands?

Is it any chance that we missed something, or as it said on this from docs - you cannot provide custom commands while helm deploys instead of default ones?

Thanks in advance for any answers.