☂ Introduce top-level components
module for generating druid operator resources
#974
Labels
area/open-source
Open Source (community, enablement, contributions, conferences, CNCF, etc.) related
area/usability
Usability related
kind/enhancement
Enhancement, improvement, extension
Milestone
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 withetcd 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 thecomponents
module are in sync.Tasks:
components
module to generate druid oeprator components as go objects #976components
module #978The text was updated successfully, but these errors were encountered: