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

☂ Introduce top-level components module for generating druid operator resources #974

Open
2 tasks
shreyas-s-rao opened this issue Jan 16, 2025 · 0 comments
Open
2 tasks
Labels
area/open-source Open Source (community, enablement, contributions, conferences, CNCF, etc.) related area/usability Usability related kind/enhancement Enhancement, improvement, extension
Milestone

Comments

@shreyas-s-rao
Copy link
Contributor

shreyas-s-rao commented Jan 16, 2025

How to categorize this issue?

/area open-source usability
/kind enhancement

What would you like to be added:
I would like a new go module called components, that can be used by consumers to generate the resources required to deploy etcd-druid operator. Here, the terms "components" refers to the k8s resources that are required to run etcd-druid operator, such as serviceaccount, deployment, validatingwebhookconfig, CRDs, etc, and not to be confused with etcd components which are the components used by druid's etcd controller to create and manage etcd clusters.

Why is this needed:
Currently, the only ways to programatically deploy etcd-druid are either by using the helm chart and a helm client to install the chart to the cluster, or by defining the go objects for the components from scratch. While the former forces consumers to pull in helm dependency, which brings in many other depdnencies and bloats the mod tree and the binary, the latter forces consumers to maintain their own versions of the druid components, and having to carefully update them upon any changes that etcd-druid makes in the charts.

Ideally, etcd-druid should provide both helm charts and go objects for the druid components, so that consumers can easily deploy etcd-druid with minimal effort. A new go module components will provide a way for users to generate the go objects with specified values, which they can then choose to deploy to their clusters. Additionally, to avoid double maintenance effort within the etcd-druid repo, these same go objects will be used to generate helm chart templates, so that both helm charts and the componentsmodule are in sync.

Tasks:

@shreyas-s-rao shreyas-s-rao added this to the v0.31.0 milestone Jan 17, 2025
@shreyas-s-rao shreyas-s-rao added area/open-source Open Source (community, enablement, contributions, conferences, CNCF, etc.) related area/usability Usability related kind/enhancement Enhancement, improvement, extension labels Jan 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/open-source Open Source (community, enablement, contributions, conferences, CNCF, etc.) related area/usability Usability related kind/enhancement Enhancement, improvement, extension
Projects
None yet
Development

No branches or pull requests

1 participant