release a CRDs like a separate manifest
Benefits:
- better lifecycle for crds (because many tools like fluxcd treats crds well in
/crdsfolder) - option to install crds separately
- multiple installations of operator on the same cluster (if necessary).
To make things simple. I am using the approach to install CRDs like here: https://github.com/brainfair/awesome-flux-crds It gives me more control over the versions and upgrade (because Helm does not handle the upgrades and removal of CRDs very well). But to use it with dragonfly operator, I need to take these crds in plain manifest format (like clickhouse did: https://github.com/Altinity/clickhouse-operator/tree/master/deploy/helm/clickhouse-operator/crds )
So I am kindly asking to template CRDs and release them as plain manifests.
Even more - the plain manifests would be more convenient to be added to the services like https://github.com/datreeio/CRDs-catalog
@gecube So, In our manifests folder i.e https://github.com/dragonflydb/dragonfly-operator/tree/main/manifests, if we add an additional crds folder with the crd file that would be enough?
@Pothulapati Hi! Thanks. I did not notice it. But the issue with upgrading CRDs with helm is still present.
"helm.sh/resource-policy": keep annotation on CRDs sounds like a clutch/workaround more than a robuse solution.