Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider non-helm Kubernetes deployment options? Static file? #34

Open
nairb774 opened this issue Jul 21, 2023 · 1 comment
Open

Consider non-helm Kubernetes deployment options? Static file? #34

nairb774 opened this issue Jul 21, 2023 · 1 comment
Labels
enhancement New feature or request

Comments

@nairb774
Copy link

Helm is popular and all, but the requirement to learn yet another API (values file) means that your helm chart is going to be unique and different from any other deployment on Kubernetes. Rather than being able to deploy TFE like any other Kubernetes application (Deployments, ConfigMaps, Secrets, ...) the helm chart introduces a layer of abstraction that, for applications which map to Kubernetes well, can be more of a negative and increased complexity than provide any value.

While the current chart looks to be in the early stage (woo!), it is also demonstrating the significant downsides of helm. Every existing Deployment API is being passed up to the values file (example). While this does allow users of the chart access to some of the settings, it also prevents access to others. For example, if additional labels are desired on the deployment for tracking, compliance, or other needs, there isn't (currently) a way to express that configuration with the current state of the values file. And while this is a small example, it is that continuous treadmill of chasing the dragon's tail, yet providing limited value and often placing updates to the chart between users and their ability to get things done.

It is also reasonable to support helm as well. There are a lot of organizations that have consolidated around it due to the packaging element and it is reasonable to support them. However, I would encourage supporting a "static file" style deployment as it can be both easier to get started as well as it can encourage keeping the deployment, upgrade, rollback and overall system management simpler. For example, a static file doesn't have support for pre/post hooks and while this can be limiting in the overall deployment, it also can help reduce some of the odd failures that happen when helm gets stuck in an half-upgraded mode because some job got angry and refused to work correctly. The end result is the system is designed to be upgraded slightly differently, and often is a net benefit.

I'm super excited to see the Kubernetes offering in beta, and while it's clear I'm not a huge fan of Helm, I really appreciate that this will allow us to eliminate the last non-Kubernetes workload in our infrastructure. It is perfectly reasonable to want to only support helm, I just saw an opportunity to shape the beta and figured it would be worth a shot.

@amy-hashi amy-hashi added the enhancement New feature or request label Oct 11, 2023
@amy-hashi
Copy link
Contributor

amy-hashi commented Oct 11, 2023

Thank you for the feedback, Brian. I will document this internally and we'll discuss.

ETA: Internal tracking TF-9954

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants