I want to provide folks with a brief summary of what I have been up to
prior to the next SIG meeting. As mentioned in a previous email, I have
created https://github.com/jsanda/cassandra-operator and started adding
code.

Goals or objectives include:

   - Increase collaboration
   - Spur more in-depth discussion
   - Ramp up a project that can eventually be considered for adoption
   within ASF, presumably as a subproject of Cassandra

Objectives do not include:

   - Reinvent work that has already been done in existing operator projects
   - Accumulating a lot of tech debt

Details:
I am using operator-sdk v0.19.0 which has a bunch of changes from the
version I was previously using, namely it uses the same scaffolding and
project structure as Kubebuilder. This includes extensive use of kustomize.
The test framework has been removed from operator-sdk.

I have literally (and shamelessly) been copying/pasting bits of code from
both cass-operator and from casskop. So far the controller generates a
couple headless services and a StatefulSet. I currently have some things
hard coded, like the number of replicas in the StatefulSet, as I am just
trying to sanity check things.

I started off using the "default" Docker Hub Cassandra image. I needed to
make some changes to C* configs, so I added initial support for
cass-config-builder <https://github.com/datastax/cass-config-builder>. I
had to extend the Cassandra image in order to be able to copy config files
into the CASSANDRA_CONF dir.

cass-config-builder configures Cassandra to
use org.apache.cassandra.locator.K8SeedProvider. This class however is
defined in management-api-for-apache-cassandra
<https://github.com/datastax/management-api-for-apache-cassandra>, i.e.,
the DataStax management sidecar. I am not using the management sidecar yet,
but updated my C* image to include the agent JAR which contains the
K8SeedProvider class. I am still trying to iron out some of the wrinkles.

There are no integration/e2e tests yet. I don't want to get too much
further along without having some decent e2e test coverage.

That's all for now.

Thanks

- John

Reply via email to