Re: Operator WG: Discussion Points


Josiah Ritchie
 

I'd certainly not limit to a single CRD. There are several existing operators that use multiple CRDs. There are also things people have built that don't use a CRD, but perhaps that should be considered a Controller. 


On Fri, May 29, 2020 at 4:06 PM Omer Kahani <kahaniomer@...> wrote:
Hi,

In the last WG meeting (27.5), we were only three people, and we felt that this is not enough people for a vote. Instead, we want to try to use the mailing list to get more opinions, and maybe also do some votes. 


I added two sections from the operator group, with the points raised in the doc written as questions that you can answer. You can answer the questions or raise more questions.


1. Operators vs. Controllers:

Current text: "A Controller is an in-cluster process that executes a continuous reconciliation loop to act on changes to one or more registered types (GVK). A Controller is an implementation.


An Operator is a subset of Controllers that provides an application or domain-specific knowledge to install or “operate” an application.


Often, the term Operator is used as a generic descriptor for an in-cluster Controller. But Controllers and Operators do have different meanings. All Operators have a Controller but not all Controllers are functioning as Operators."


- Do we need to add CRD to the text?

An Operator is a subset of Controllers that provides an application or domain-specific knowledge to install or “operate” an application, using a CRD


2. Properties of an Operator

Current text:"

  • Control Loop? Using the Watch API? Level triggered system?
  • Reactive nature - but reactive is just message

"

- does a controller must have a control loop, does it must use the watch API?


There is a lot more in the doc: https://docs.google.com/document/d/1daXHyR2yG5ArjO1PO83v4a0fmLCLo2kYNT3TwGZksng/edit?usp=sharing

But I think that we can start with these points and then determine how to continue.


Regards,

Omer Kahani

Join cncf-tag-app-delivery@lists.cncf.io to automatically receive all group messages.