Where does the controller require read access to Secrets? #1872
Unanswered
WillSewell
asked this question in
Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
By default, the ClusterRole gives read access to all Secrets in the cluster.
argo-rollouts/manifests/role/argo-rollouts-clusterrole.yaml
Lines 92 to 101 in 7b69058
We would like to forbid the controller from access secrets it doesn't need to.
In this discussion, @jessesuen points at that the read access to Secrets is required by AnalysisRuns. We do not require references to Secrets in our AnalysisRuns, so I was hoping we could just remove the reference to the secret resource from the ClusterRole. However we are still observing the same error:
Are there other places in the controller where secrets are requested? For example we are using notifications, and it looks like notifications-engine depends on a SecretInformer, which I think might be causing this error. Are there other places where Secrets might be referenced? It's tricky to investigate because the error message is being logged from within the client-go, and there is no stack trace linking it back to the call site in the rollouts controller.
We don't actually require the use of argo-rollouts-notification-secret Secret. Given this, are there any workarounds to getting the argo rollouts controller running without giving it access to all Secrets?
Beta Was this translation helpful? Give feedback.
All reactions