You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is mainly needed for reasoning and to agree what use cases operators should cover. Will serve as an input document for dependent resources workflows and other architectural decisions
The text was updated successfully, but these errors were encountered:
Started to work on this but outcome came out very simple. Basically every situation is already covered by the design here: #850
In short we can describe like this:
The goals is to enumerate and explore of resource management patters in a reconciler.
We can have two types of resource in general external and internal. And either there is a depends on relation between them or not.
Kubernetes Resource in this context means that any well known Kubernetes resource (pod, deployment, config map,...)
or any custom resource.
External Resource is any non Kubernetes resource, in other words any resource that is managed by an API call
outside of Kubernetes (samples: GitHub repository, S3 bucket, Jenkins Pipeline, Database Schema) by a controller.
A depends on B means that the resource needs to be created or updated first and it's output values might be used as an input for other resource. This is typically values from a status of a resource, like any status from
custom resource or ip from a service:
Independent Resources (both External and Kubernetes)
Non Independent Kubernetes Resources
External Resource depending on a Kubernetes Resource
Kubernetes Resource depends on External Resource
External Resource depends on other External Resource
But basically if resources are independent (thus all values are derived from primary resource) can be created in whatever order usually. If those are dependent on each other, the one should be reconciled first, the other after (in case even wating for a state to be in, see the mentioned issue)
This is mainly needed for reasoning and to agree what use cases operators should cover. Will serve as an input document for dependent resources workflows and other architectural decisions
The text was updated successfully, but these errors were encountered: