Skip to content

Commit d44cbaf

Browse files
authored
Clarify single controller assumption in OLM v1 design (#2372)
Updates the design decision documentation to explicitly state that exactly one controller should exist to reconcile an object, not just "a controller". This clarifies the expected behavior and configuration
1 parent e467d9d commit d44cbaf

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

docs/project/olmv1_design_decisions.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ The Kubernetes design assumptions are:
3131
- CRDs and their controllers are trusted cluster extensions.
3232
- If an object for an API exists a controller WILL reconcile it, no matter where it is in the cluster.
3333

34-
OLM v1 will make the same assumption that Kubernetes does and that users of Kubernetes APIs do. That is: If a user has RBAC to create an object in the cluster, they can expect that a controller exists that will reconcile that object. If this assumption does not hold, it will be considered a configuration issue, not an OLM v1 bug.
34+
OLM v1 will make the same assumption that Kubernetes does and that users of Kubernetes APIs do. That is: If a user has RBAC to create an object in the cluster, they can expect that exactly one controller exists that will reconcile that object. If this assumption does not hold, it will be considered a configuration issue, not an OLM v1 bug.
3535

3636
This means that it is a best practice to implement and configure controllers to have cluster-wide permission to read and update the status of their primary APIs. It does not mean that a controller needs cluster-wide access to read/write secondary APIs. If a controller can update the status of its primary APIs, it can tell users when it lacks permission to act on secondary APIs.
3737

0 commit comments

Comments
 (0)