Kubernetes deployment

Hi,

I’m currently working on deploying Temporal in a Kubernetes cluster, and the idea is to have a production-ready deployment. I have been successful on multiple fronts being able to have an external database and elastic search connect as only the ephemeral parts are running on K8S.

Currently, I’m following some of the “recommendations” made in the blog post “Self Hosting Temporal: To Kubernetes or Not To Kubernetes?”

Deploying only the services themselves and all the dependencies having them deployed externally, I’m using the template as a base and Kustomize to patch things up as it goes. But at some point, I found that this was hard because of how the helm template was developed.

For example, Suppose I generate a single helm template as a base. In that case, it is tough to patch the database credentials for each environment (dev, prod, etc.), so I had to run a helm template for each env with specific values YAML for that environment.

In other cases, the template expects a user and password for the elastic search (init container checking if ES is up), and the only way to disable that is to patch many places or change the helm chart.

Is there any recommendation or way that I should follow?

At the moment, I feel that having my helm chart forked from the provided temporal one can be the easiest way to accomplish these tasks.

We are working on improving that experience based on user input, and what you just described is very useful to know!
Can you please open an issue in the helm charts repo and propose improvements based on your use case?

At the moment, I feel that having my helm chart forked from the provided temporal one can be the easiest way to accomplish these tasks.

One thing that would be useful is if you do that to push your changes/updates as a PR instead. Given that many users have different deployment needs and our helm charts currently do not fit every single one that might exist we are willing to keep your changes/updates in a separate branch alongside using them to improve what’s in main branch now.