arcane-operator

command module
v1.0.9 Latest Latest
Warning

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

Go to latest
Published: Feb 13, 2026 License: Apache-2.0 Imports: 28 Imported by: 0

README

About the project

logo

Run tests with coverage GitHub go.mod Go version GitHub Release Date

Arcane is a Kubernetes-native data streaming platform powered by extendable plugin architecture.

Arcane is designed to be:

  • Kubernetes-native: It runs data streaming plugins as a Kubernetes jobs and uses Kubernetes API to manage the lifecycle of data streams.

  • Extendable: It allows you to extend the platform with your own data streaming plugins, which can be written in any programming language.

  • Scalable: It can scale horizontally by adding more Kubernetes nodes to the cluster or vertically by adding more resources to the streaming jobs. It does not require any stateful components like Zookeeper or Kafka brokers which makes it easy to scale and manage.

  • Lightweight: It has a small footprint and can run on any Kubernetes cluster, including local clusters like Minikube or Kind.

  • Cloud-agnostic: It can run on any cloud provider that supports Kubernetes, including AWS, Azure, GCP, and on-premises clusters.

This repository contains the Arcane Operator, which is responsible for managing the lifecycle of Arcane data streams.

Table of Contents

Getting started

Run the following command to install the Arcane Operator in your Kubernetes cluster:

# Create a namespace for the operator installation
$ kubectl create namespace arcane

# Install the operator in the created namespace
$ helm install arcane oci://ghcr.io/sneaksanddata/helm/arcane-operator \
  --version v0.0.14 \
  --namespace arcane

This command creates a namespace arcane and installs the stream operator in it. By default, the Helm chart installs two CRDs:

  • StreamClass
  • StreamingJobTemplate

The resources of both kinds are being installed by the streaming plugins.

Verify the installation

To verify the operator installation run the following command:

$ kubectl get pods -l app.kubernetes.io/name=arcane-operator --namespace arcane

It should produce the similar output:

NAME                               READY   STATUS    RESTARTS   AGE
arcane-operator-55988bbfcb-ql7qr   1/1     Running   0          25m

Once operator is installed, you can install the streaming plugins.

Platform roadmap

Please refer the roadmap for the Arcane Streaming Platform on the Arcane project page.

The most significant milestones are listed below:

  • Support for ZIO-based streaming plugins
  • Add contribution guidelines
  • Rewrite the operator in Go
  • Complete transition from Akka.NET to ZIO for the remaining streaming plugins

Streaming plugins

Available ZIO-based streaming plugins

Available Akka-based streaming plugins

User guide

Detailed Arcane user guide is available in the docs/user_guide.md file. User scenarios cheat sheet is available in the docs/user_scenarios.md file.

Monitoring and observability

-- TBD --

Contributing

-- TBD --

Extending the platform with plugins

-- TBD --

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
pkg
apis/streaming/v1
Package v1 is the v1 version of the API.
Package v1 is the v1 version of the API.
generated/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
generated/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
generated/clientset/versioned/typed/streaming/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
generated/clientset/versioned/typed/streaming/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
test/apis_test/streaming/v1
Package v1 is the v1 version of the API.
Package v1 is the v1 version of the API.
test/generated/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
test/generated/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
test/generated/clientset/versioned/typed/streaming/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
test/generated/clientset/versioned/typed/streaming/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
services
job
tests
mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
mocks/job_mock
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.

Jump to

Keyboard shortcuts

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