syndesisio / syndesis

This project is archived. A flexible, customizable, open source platform that provides core integration capabilities as a service.
https://syndesis.io/
Apache License 2.0
597 stars 203 forks source link

Gracefuly degrading smarter and super awesome syndesis operator #4156

Closed zregvart closed 3 years ago

zregvart commented 5 years ago

This is a...


[x] Feature request
[ ] Regression (a behavior that used to work and stopped working in a new release)
[ ] Bug report  
[ ] Documentation issue or request

Description

With #3576 we introduced OAuthClient resource creation in the operator, subsequently we converted install/operator/deploy/syndesis-operator.yml to deal with the creation of ClusterRole and ClusterRoleBinding needed to grant the permissions to create and delete OAuthClient resource.

We also introduced the syndesis-privileged.yml template that utilizes the OAuthClient instead of the service account for OAuth configuration of oauth-proxy.

Now when we install we have a ClusterRole and a ClusterRoleBinding created per syndesis installation, which is superfluous and leads to issues like #4133, #4131, #4093 and #4126.

This makes us have a hard requirement on the installation of syndesis-operator to have ClusterRole and ClusterRoleBinding created for the operator to function.

We should handle this situation a bit more gracefully by checking in the operator if it can create the OAuthClient resource and select a template (syndesis.yml or syndesis-privileged.yml) based on the privileges given to the operator.

These should be our goals:

  1. installation without any privileges via:
  2. installation via the operator with permissions to create custom resource
  3. same as 2. but with the addition of ClusterRole/ClusterRoleBinding so that OAuthClient resource can be created

The whole point being in graceful degradation and adapting to the privileges given to the operator.

We also must make sure to:

cc @rhuss @avano for any additional input

stale[bot] commented 5 years ago

This issue has been automatically marked as stale because it has not had any activity since 90 days. It will be closed if no further activity occurs within 7 days. Thank you for your contributions!