cert-manager-operator icon indicating copy to clipboard operation
cert-manager-operator copied to clipboard

Why is the cert-manager-operator for Red Hat not AllNamespaces

Open bitscuit opened this issue 2 years ago • 6 comments

During tech preview, I was able to install cert-manager-operator in AllNamespaces mode. When was this support removed and why?

The CNCF cert-manager-operator is only installable in AllNamespaces mode, so why does the Red Hat one deviate from this?

image

Additionally, cert-manager is a cluster wide service, and there is a limitation that there cannot be 2 active cert-manager-controllers on a cluster simultaneously since cert-manager never implemented this functionality properly https://github.com/cert-manager/cert-manager/issues/2525.

So with Red Hat cert-manager not restricting the install mode to only AllNamespaces, isn't there a risk that different users on a cluster accidentally install Red Hat cert-manager multiple times, leading to multiple active cert-manager-controllers?

bitscuit avatar Sep 20 '23 15:09 bitscuit

I actually have run into this today. When you install in multiple namespaces, the Deployment.app for the operator conflicts, and is constantly updating.

image

leifmadsen avatar Nov 17 '23 04:11 leifmadsen

Issues go stale after 90d of inactivity.

Mark the issue as fresh by commenting /remove-lifecycle stale. Stale issues rot after an additional 30d of inactivity and eventually close. Exclude this issue from closing by commenting /lifecycle frozen.

If this issue is safe to close now please do so with /close.

/lifecycle stale

openshift-bot avatar Feb 15 '24 09:02 openshift-bot

Stale issues rot after 30d of inactivity.

Mark the issue as fresh by commenting /remove-lifecycle rotten. Rotten issues close after an additional 30d of inactivity. Exclude this issue from closing by commenting /lifecycle frozen.

If this issue is safe to close now please do so with /close.

/lifecycle rotten /remove-lifecycle stale

openshift-bot avatar Mar 17 '24 00:03 openshift-bot

While it seems most currently-developed Operators are moving to AllNamespaces mode, it is quite disruptive to change anything like this mid-channel version. Documenting why this namespace method was used could be useful, but otherwise I'm happy to see this close.

leifmadsen avatar Mar 18 '24 02:03 leifmadsen

The controller deployed by RH Cert Manager operator has cluster-wide permissions and visibility, as does the upstream CNCF/Jetstack Cert-Manager on which this is based. Not installing the Cert-Manager in AllNamespaces mode does not change this. Allowing installation in anything but AllNamespaces mode is misleading. This is the essence of the bug

mikekaczmarski avatar Apr 11 '24 18:04 mikekaczmarski

On further review of this, I believe that the desire on behalf of Red Hat was to install the operator in a namespace other than openshift-operators even though it is cluster scoped (essentially AllNamespace Mode). Taking the default, the operator is installed in the cert-manager-operator namespace with its deployed resources running in the cert-manager namespace. So this operator's payload does indeed have cluster scoped visibility and control (look at its clusterrolebindings). The issue is in the OperatorHub dialog misrepresentation that installing Cert-Manager in a named namespace implies that it only watches and controls its CRs in that installed namespace. Regardless of where its installed, it is essentially running in AllNamespace mode.

The OperatorHub DIalog is just WRONG with respect to this operator/payload.

In addition because it is not installed in openshift-operators (currently the right place for all operators installed in AllNamespace mode) views of the installed operators in other namespaces in the OperatorHub do not show the RH Cert-Manager operator even though it has control in those namespaces. My guess is that only operator installed in in the openshift-operators namespace are seen as as installed operator in every other namespace. Again this is misleading.

mikekaczmarski avatar Apr 11 '24 18:04 mikekaczmarski

Rotten issues close after 30d of inactivity.

Reopen the issue by commenting /reopen. Mark the issue as fresh by commenting /remove-lifecycle rotten. Exclude this issue from closing again by commenting /lifecycle frozen.

/close

openshift-bot avatar May 12 '24 00:05 openshift-bot

@openshift-bot: Closing this issue.

In response to this:

Rotten issues close after 30d of inactivity.

Reopen the issue by commenting /reopen. Mark the issue as fresh by commenting /remove-lifecycle rotten. Exclude this issue from closing again by commenting /lifecycle frozen.

/close

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

openshift-ci[bot] avatar May 12 '24 00:05 openshift-ci[bot]

It does not look like this issue was resolved, and in a recent discussion with the Red Hat Cert Manager team I was under the impression a fix was in progress.

/reopen

/remove-lifecycle rotten

griffindvs avatar May 16 '24 15:05 griffindvs

@griffindvs: You can't reopen an issue/PR unless you authored it or you are a collaborator.

In response to this:

It does not look like this issue was resolved, and in a recent discussion with the Red Hat Cert Manager team I was under the impression a fix was in progress.

/reopen

/remove-lifecycle rotten

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

openshift-ci[bot] avatar May 16 '24 15:05 openshift-ci[bot]

@griffindvs as this is affecting a productized component, I would suggest opening an issue at https://issues.redhat.com for tracking purposes. Issues in GitHub are generally not tracked as strongly.

Suggest starting at https://issues.redhat.com/projects/CM/summary

leifmadsen avatar May 21 '24 14:05 leifmadsen