@DevOpsToolkit

What do you think of Metacontroller? Does it motivate you to create your own Kubernetes controllers?

@frangalarza

I've been trying to replicate this behaviour with a combination of Crossplane, Helm, Kustomize and custom code and gave up due to the sheer pain.

As you mentioned in your IDP video, our job is to make the platform easy to consume. But if it takes us 3 months to write an operator then we are slowing down the business and we have failed.
Speed of development is important. Metacontroller looks promising in that regard, specially because you can use a language you already know. This is important too due to the current market conditions where specialized engineers are hard to find and hire. Not many people are proficient in Golang, but you can tap into the fact that the entire internet runs on Javascript and find great developers that can write competent operators in TypeScript, giving you the best of both worlds ♥

@itamarmarom7550

As someone who knows Kubebuilder pretty good, and after seeing this video I'll say this:
Metacontroller seems to be very simple from the perspective of code and integrating with Kubernetes. But, it is not mature enough for even a bit more complicated use cases.
Kubebuilder has some great features that are very important:

- You are describing the API (CRD) as a go struct. That's good because: kubebuilder generates for you the CRD YAMLs, and you can use your CRD in your code easily, and also let other controllers or code integrate with your CRD by importing your package.
- Kubebuilder generates almost everything for you starting from the CRD API and YAMLs, the controller integration with the manager, and Kubernetes (you only need to write your code in one `reconcile` function)
- Generates for you the entire code + YAMLs for deploying admission controllers to mutate/validate requests
- Easy debugging, you can run your controller locally against a Kubernetes cluster
- Easy to communicate with every Kubernetes resource (just get the right package)
- Amazing Makefile to generate code and manifests, easy to build and deploy locally and remotely
and much more.
I don't see Metacontroller even close to Kubebuilder currently...

@popovicmiro

Tnx from Dataverse!

@alexandrgumeniuc431

Thank you for the review, Victor.
According to the guide, CompositeController object can watch only one parentResource and that is a big disadvantage comparing to kubebuilder.

@lingxiankong4791

Thanks for sharing this! Looks like Metacontroller is aiming at dealing with simple use cases, however, for those simple cases, using Argo Events & Workflows should be a better option IMHO.

@felipeozoski

Awesome channel ❤

@KrishP17

Hey, your videos are amazing. I've been trying to build my own custom K8S controller which imitates the dynamic port changing behavior like Rancher (a Kubernetes management platform). What are your suggestions on it? Can you please guide me?

@rubbercable

How is metacontroller different from Operators?
It looks simpler - but does it do polling .. or is it only external event driven?
I worked so hard to learn to golang and kubebuilder. 
😑

@manitaggarwal

When composite controller is hitting the webhook url, what fields is it sending? How to know that?

@ihorpysmennyi2559

Are there any advantages Metacontroller compared with Kopf?

@__noob__coder__

I just noticed you have such thin eyebrows!!