Hello!
As discussed on the contributors call a couple weeks back[1], I'd like to
announce the open sourcing of a Management API Sidecar project for Apache
Cassandra that some of us have been using at Datastax[2]. It is separate
from the existing C* sidecar subproject right now as we needed specific
functionality to support an operator that we're actively open-sourcing as
well. The intent is to work on incorporating this with the official C*
sidecar project[3].
I'll cover the core similarities/differences I see below:
Similarities:
* Simple REST API for operations
* Healthchecks
* Lifecycle management
* Basic configuration management
Differences:
* Local access only.
- Each sidecar process is responsible for the local C* instance
* CQL communication only.
- Communication between Management API and C* is via CQL only
- A simple CQL -> method mechanism is added to C* resulting in the
ability to execute statements like: "CALL NodeOps.compact('keyspace');"
* Secure by default.
- The Management API talks to C* via a local unix socket.
- The Management API has its own local unix socket so local tools can
communicate securely.
- Optional Mutual TLS support for secure services
- Disables default cassandra/cassandra superuser
* No configuration file
- Keeps deployments simple
* Hooks into Existing C* releases by utilizing a new java agent.
I've opened an EPIC[4] to discuss details of this work. Sending a note
here so people are aware; I know everyone is heads down on the C* 4.0 scope
right now.
[1]:
https://cwiki.apache.org/confluence/display/CASSANDRA/CEP-1+Online+meeting+2020-03-10
[2]: http://github.com/datastax/management-api-for-apache-cassandra
[3]: https://github.com/apache/cassandra-sidecar
[4]: https://issues.apache.org/jira/browse/CASSANDRASC-13