jetstack / navigator

Managed Database-as-a-Service (DBaaS) on Kubernetes
Apache License 2.0
271 stars 31 forks source link

Support official Cassandra Docker images #222

Closed wallrj closed 6 years ago

wallrj commented 6 years ago

We're currently using the Google maintained Cassandra image from the Cassandra + Kubernetes demo.

We should also support other, official, Cassandra V3 images such as:

One key difference in that image is that it has a different entrypoint.

So the hard coded /run.sh in https://github.com/jetstack/navigator/blob/master/pkg/pilot/cassandra/v3/pilot.go#L56 needs to be configurable somehow....or auto detected...if that's possible.

/kind feature

munnerz commented 6 years ago

👍 although I am not interested in supporting multiple different images at this point. Differences in entrypoint, config directory etc. will be a pain to handle well as that information needs expressing on the *Cluster resource, and then passing all the way down and through.

I'd rather us focus on other core parts, and for now have a fixed series of Docker images that can be used. As and when we have a requirement for custom images, we can focus on that. For now, scale down/upgrade etc etc are much higher priority.

munnerz commented 6 years ago

FWIW, I'm not against us switching which Docker images we use for this if you would prefer to use the 'official' ones (side note: who makes these images?).

Specifically I don't think we should complicate our APIs right now with supporting fields to allow this to be completely customised by the user, as I fear a user could start using an image that does something differently, and then when it comes to designing our upgrade process or the like, we have to make assumptions that are now false. By controlling it for now, we will gain an understanding of what requirements we need to put on the images that are used, so when it comes to adding support for arbitrary custom images we will have a bullet pointed list of requirements of the images that are used.

kragniz commented 6 years ago

I'd rather switch to using better supported images. Cassandra from kubernetes/examples doesn't seem well supported, with the last updates from May of last year (currently on 3.10, while 3.11 was released in june).

The cassandra image on dockerhub is supported by docker, inc (https://docs.docker.com/docker-hub/official_repos/). They should provide security updates and general maintenance.