ceph / ceph-csi-operator

operator that deploys and manages the CephCSI plugins
Apache License 2.0
4 stars 6 forks source link

bundle: Implement changes for bundle generation #17

Closed iamniting closed 1 day ago

iamniting commented 1 week ago

Signed-off-by: Nitin Goyal nigoyal@redhat.com

nb-ohad commented 1 week ago

@iamniting I left a review above but I feel more context is needed. We made a conscious decision to go with a kubebuilder-based operator and not an operator SDK based operator. We do acknowledge that we need to deliver OLM artifacts like CSV and bundle to be able to publish this operator downstream, but that does not mean we want to introduce operator SDK or its toolchain into this repo.

What I had in mind is having a folder to provide hard-coded artifacts that will serve us to create an OLM bundle and that will be similar to our approach to having a different folder to deliver this operator using helm chart and other delivery methods.

If you think that cannot be achieved in the way I describe above then please, lets have an open discussion around the subject

iamniting commented 1 week ago

@iamniting I left a review above but I feel more context is needed. We made a conscious decision to go with a kubebuilder-based operator and not an operator SDK based operator. We do acknowledge that we need to deliver OLM artifacts like CSV and bundle to be able to publish this operator downstream, but that does not mean we want to introduce operator SDK or its toolchain into this repo.

What I had in mind is having a folder to provide hard-coded artifacts that will serve us to create an OLM bundle and that will be similar to our approach to having a different folder to deliver this operator using helm chart and other delivery methods.

If you think that cannot be achieved in the way I describe above then please, lets have an open discussion around the subject

@nb-ohad I had a discussion with @Madhu-1 in the initial days and while discussing we decided that we would do this, It is also done in the csi-addons repo. @Madhu-1 can correct me if I am wrong. Also, I don't think we can deliver the bundle without the operator-sdk.

Can you enlighten me on how we will deliver the bundle without the operator-sdk?

nb-ohad commented 6 days ago

Upon further inspection and research, Kustomize can be used and is part of what we already deliver with Kubebuilder. This means we can generate the manifest files needed, similar to how operator SDK does it. This leaves us with the operator-sdk tool. Why do we need it for the upstream project? why can we introduce it only downstream where the build system is running?

iamniting commented 5 days ago

Upon further inspection and research, Kustomize can be used and is part of what we already deliver with Kubebuilder. This means we can generate the manifest files needed, similar to how operator SDK does it. This leaves us with the operator-sdk tool. Why do we need it for the upstream project? why can we introduce it only downstream where the build system is running?

@nb-ohad operator-SDK is just a tool like another tool, Introducing it in the DS will make things difficult to manage in the long run. Also, we are not the only one who uses it in the upstream, other people also use it in the upstream.

Madhu-1 commented 5 days ago

Upon further inspection and research, Kustomize can be used and is part of what we already deliver with Kubebuilder. This means we can generate the manifest files needed, similar to how operator SDK does it. This leaves us with the operator-sdk tool. Why do we need it for the upstream project? why can we introduce it only downstream where the build system is running?

@iamniting Yes that was the discussion before starting it and it was a very early stage, we went through a lot of iterations with the tooling. i think Rook is even having this as a downstream-only part, as we are not planning to have a bundle for the upstream. Do you still think there is a need to maintain it upstream? if yes. we can see what we can do, if there is no need we can have it downstream specific option.

iamniting commented 1 day ago

I am closing this one. After a discussion in the mtg we came to an conclusion that the changes will be present only in the DS repo and PR for the same is created https://github.com/red-hat-storage/ceph-csi-operator/pull/1.