Charming Operators


#1

I feel like the Elasticsearch operator is a great example of an operator based service that we want to charm.
Find the docs here: https://www.elastic.co/guide/en/cloud-on-k8s/current

I am wondering how others are approaching charming services that are based on operator pods?

Thanks!


#2

Hi @jamesbeedy,

I think that people are still very much feeling their way around with the k8s charms. This does sound like a good idea though.


#3

@knkski might have some ideas here. He’s charmed most of the Kubeflow bundle so has good experience with k8s charms in general. I don’t recall whether any of the Kubeflow components use operator pods though.


#4

There’s a fair number of operator pods in the Kubeflow bundle. So far, they’re set up much like any other service, in that you’d call pod_spec_set to set them up, see here for an example:

https://github.com/juju-solutions/bundle-kubeflow/blob/4f0790cf3bc24a117ac0cf7ce35f4fe6879814e7/charms/argo-controller/reactive/argo_controller.py#L31

Right now we’re missing support for things such as secrets, service accounts, and other miscellaneous bits of infrastructure beyond CRDs that might need to be set up for the service to work, but @wallyworld is working on getting support into pod_spec_set for those.