registry-operator / adr

Collection of Architectural Decision Records (ADRs)
The Unlicense
0 stars 2 forks source link

[helm-charts]: handling of CRDs #12

Open shanduur opened 3 months ago

shanduur commented 3 months ago

Context and Problem Statement

The decision regarding how to manage Custom Resource Definitions (CRDs) within the chart structure is critical for ensuring smooth deployment and maintenance of registry-operator.

We need to determine the most efficient and user-friendly approach for handling CRDs within our Helm chart structure for the registry-operator project.

Considered Options

malgorzatadutka commented 3 months ago

I want a chart for the CRDs, manually installation won't be efficient.

I support separate CRDs chart, it enables granular access control for custom resources, enhancing security and compliance. Moreover, we don't have to bump up CRDs chart while only small changes in operator are made and the upgrade procedure is safer.

purpleturtll commented 3 months ago

There is also Argo CD which is using crds folder in templates folder. This enables templating and upgradeability.

That said, I think we should start with crds folder in main helm chart repo. It's the most "working out of the box" solution and Helm is natively recognizing this as place for CRDs. When we run into limitations with this approach, then we can consider other options.

shanduur commented 2 months ago

And to add to those, there is also the approach of kanister operator which handles installation and management of the CRDs itself, which is a clever approach, but maybe too clever.