/casskop

This Kubernetes operator automates Cassandra operations such as deploying rack aware clusters, scaling up and down, configuring C* and its JVM, upgrading JVM and C*, backup/restores and many more...

Primary LanguageGoApache License 2.0Apache-2.0

Logo

CassKop - Cassandra Kubernetes operator

Overview

CassKop, the Cassandra Kubernetes operator makes it easy to run Apache Cassandra on Kubernetes. Apache Cassandra is a popular, free, open-source, distributed wide column store, NoSQL database management system. The operator allows to easily create and manage racks and data centers aware Cassandra clusters.

CassKop is based on CoreOS operator-sdk tools and APIs.

CassKop creates/configures/manages Cassandra clusters atop Kubernetes and is by default space-scoped which means that :

  • CassKop is able to manage X Cassandra clusters in one Kubernetes namespace.
  • You need X instances of CassKop to manage Y Cassandra clusters in X different namespaces (1 instance of CassKop per namespace).

This adds security between namespaces with a better isolation, and less work for each operator.

Installation

For detailed see the installation instructions.

Documentation

The documentation of the Casskop operator project is available at the Casskop Documentation Page.

Cassandra operator

The Casskop image is automatically built and stored on Github Packages

Casskop uses standard Cassandra image (tested up to Version 3.11 and 4.0)

Operator SDK

CassKop is build using operator SDK:

Build pipelines

We uses Github Action as our CI tool to build and test the operator.

Build image

To accelerate build phases we have created a custom build-image used by the CI pipeline:

https://github.com/cscetbon/casskop/actions/workflows/ci-image.yml

You can find more info in the developer Section

Contributing

See CONTRIBUTING for details on submitting patches and the contribution workflow.

For developers

Operator SDK is part of the operator framework provided by RedHat & CoreOS. The goal is to provide high-level abstractions that simplifies creating Kubernetes operators.

The quick start guide walks through the process of building the Cassandra operator using the SDK CLI, setting up the RBAC, deploying the operator and creating a Cassandra cluster.

You can find this in the Developer section

Contacts

You can contact the team on our slack https://casskop.slack.com (request sent to that ML)

License

CassKop is under Apache 2.0 license. See the LICENSE file for details.