cassandra-operator

module
v0.0.0-...-cb5dd21 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 9, 2018 License: Apache-2.0

README

Building the operator

Kubernetes version: 1.9

This operator use the kubernetes code-generator for

  • clientset: used to manipulate objects defined in the CRD (cassandraCluster)
  • informers: cache for registering to events on objects defined in the CRD
  • listers
  • deep copy
  1. Get dependencies packages in your $GOPATH with go get k8s.io/kubernetes k8s.io/apimachinery
  2. Initialize the dependancies with dep init in the project root directory
  3. Clone the code-generator repo in the vendor/k8s.io directory. Be careful of cloning the branch matching the Kubernetes version git clone -b <branch> https://github.com/kubernetes/code-generator
  4. Run the script vendor/k8s.io/code-generator/generate-groups.sh all github.com/vgkowski/cassandra-operator/pkg/client github.com/vgkowski/cassandra-operator/pkg/apis cassandra:v1 or hack/update-codegen.sh

Improvements

  • Currently the relationship between native Kubernetes objects and CassandraClusters is done with the name which is equal. For multiple resources of the same type (services for instance) a postfix is added to the name ("-internode" for internode service and "-access" for access service) A better option would be to use the metadata.ownerReference but it requires to search and get objects by this reference instead of by name. For indexed objects like Pods or PVCs the search and get is done through the label CassandraCluster which contains the name of the cluster
  • Implement proper Cassandra admin logic (current code isn't working)

Directories

Path Synopsis
pkg
apis/cassandra/v1
Package v1 is the v1 version of the API.
Package v1 is the v1 version of the API.
client/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
client/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
client/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
client/clientset/versioned/typed/cassandra/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/cassandra/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL