code you run in your cluster to reconcile your desired state specified in a custom resource defininition with the actual running state.
Operators written and published by other people.
By CoreOS/RedHat, write operator in Go, or generate from helm/ansible
By k8s, library / framework to ease the creation / use of CRDs and crontrollers.
Write yaml files to describe operator behavior. Operator actions are implemented by the kudo controller.
extend existing resources with webhooks that understand json.