Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/axonops/axonops-developer-operator
K8s operator to create an Apache Cassandra® and AxonOps™ development environment
https://github.com/axonops/axonops-developer-operator
apache-cassandra apache-cassandra-tools axonops cassandra cassandra-database golang k8s kubernetes nosql operator
Last synced: 15 days ago
JSON representation
K8s operator to create an Apache Cassandra® and AxonOps™ development environment
- Host: GitHub
- URL: https://github.com/axonops/axonops-developer-operator
- Owner: axonops
- License: apache-2.0
- Created: 2024-07-26T13:08:06.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-08-02T15:48:42.000Z (3 months ago)
- Last Synced: 2024-10-10T16:23:53.967Z (about 1 month ago)
- Topics: apache-cassandra, apache-cassandra-tools, axonops, cassandra, cassandra-database, golang, k8s, kubernetes, nosql, operator
- Language: Go
- Homepage: https://axonops.com
- Size: 147 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# AxonOps™ Developer Operator
This Kubernetes operator can create a full Apache Cassandra® environment for development that includes
[AxonOps](https://axonops.com)Apache Cassandra, Cassandra and Apache are either registered trademarks or trademarks of the Apache Software Foundation (http://www.apache.org/) in the United States and/or other countries and are used with permission. The Apache Software Foundation has no affiliation with and does not endorse or review AxonOps Developer Operator.
https://github.com/user-attachments/assets/1dad7b84-07da-4f36-9e6a-bbb6ff1134ad
## Installation
The easiest way to install it is by using the helm chart.
```sh
helm upgrade --install axonops-developer-operator --create-namespace -n axonops charts/axonops-developer-operator
```## Usage
The simplest configuration would be the following to deploy a single Cassandra node with the AxonOps components:
```yaml
apiVersion: axonops.com/v1beta1
kind: AxonOpsCassandra
metadata:
name: axonopscassandra-sample
namespace: axonops-dev
spec:
```By default it does not use persistent storage but this is configurable.
```yaml
apiVersion: axonops.com/v1beta1
kind: AxonOpsCassandra
metadata:
name: axonopscassandra-sample
namespace: axonops-dev
spec:
cassandra:
replicas: 3
clusterName: "my-dev-env"
image:
tag: "5.0"
persistentVolume:
size: 2Gi
storageClass: local-path
axonops:
elasticsearch:
persistentVolume:
size: 2Gi
storageClass: local-path
```We only support three Apache Cassandra major releases: 4.0, 4.1 and 5.0 (see `image.tag` above).
## Accessing the AxonOps Dashboard
### Port Forwarding
This operator is meant for developer that would like to test and use an Apache Cassandra cluster locally or in a shared
Kubernetes environment. If you're running locally most likely you cannot use a Load Balancer and therefore you're only
option to access the AxonOps Dashboard is via `kube-proxy`.```sh
kubectl -n axonops-dev port-forward svc/ds-axonopscassandra-sample 3000:300
```or
```sh
kubectl port-forward -n axonops-dev $(kubectl get svc -n axonops-dev -l component=dashboard -oname) 3000:3000
```### Ingress
If you do have an ingress, you can enable it:
```yaml
apiVersion: axonops.com/v1beta1
kind: AxonOpsCassandra
metadata:
name: axonopscassandra-sample
namespace: axonops-dev
spec:
axonops:
dashboard:
ingress:
enabled: true
ingressClassName: nginx
labels:
hello: world
annotations: {}
hosts:
- axonops-dev.mydomain.com
```