Kubernetes operator for managing HyperbyteDB clusters, backups, and restores.
- Kubernetes v1.26+
- kubectl
- Helm v3.8+ (required for OCI registry support)
The operator is published as both a container image and a Helm chart on GitHub Container Registry (GHCR / GitHub Packages):
| Artifact | Reference |
|---|---|
| Operator image | ghcr.io/hyperbyte-cloud/hyperbytedb-operator |
| Helm chart (OCI) | oci://ghcr.io/hyperbyte-cloud/charts/hyperbytedb-operator |
Both artifacts are released together — installing chart version X.Y.Z will
deploy the matching vX.Y.Z operator image by default.
helm install hyperbytedb-operator \
oci://ghcr.io/hyperbyte-cloud/charts/hyperbytedb-operator \
--namespace hyperbytedb-operator-system \
--create-namespacehelm install hyperbytedb-operator \
oci://ghcr.io/hyperbyte-cloud/charts/hyperbytedb-operator \
--version 0.1.2 \
--namespace hyperbytedb-operator-system \
--create-namespaceYou can browse all published versions on the hyperbytedb-operator packages page.
Every push to main publishes a snapshot chart and image tagged with the
short commit SHA, e.g. 0.0.0-sha.abc1234. To install one:
helm install hyperbytedb-operator \
oci://ghcr.io/hyperbyte-cloud/charts/hyperbytedb-operator \
--version 0.0.0-sha.abc1234 \
--namespace hyperbytedb-operator-system \
--create-namespacehelm install hyperbytedb-operator \
oci://ghcr.io/hyperbyte-cloud/charts/hyperbytedb-operator \
--namespace hyperbytedb-operator-system \
--create-namespace \
--set manager.replicas=2 \
--set rbacHelpers.enable=true \
--set prometheus.enable=trueSee dist/chart/values.yaml for the full list of
configurable values.
helm upgrade hyperbytedb-operator \
oci://ghcr.io/hyperbyte-cloud/charts/hyperbytedb-operator \
--version 0.2.0 \
--namespace hyperbytedb-operator-system \
--reuse-valueshelm uninstall hyperbytedb-operator --namespace hyperbytedb-operator-systemCRDs are retained on uninstall by default (crd.keep=true). To remove them
explicitly:
kubectl delete crd \
hyperbytedbclusters.hyperbytedb.hyperbyte.cloud \
hyperbytedbbackups.hyperbytedb.hyperbyte.cloud \
hyperbytedbrestores.hyperbytedb.hyperbyte.cloudTo install directly from a checkout of this repository, e.g. for local testing of un-released changes:
helm install hyperbytedb-operator dist/chart \
--namespace hyperbytedb-operator-system \
--create-namespace \
--set manager.image.repository=ghcr.io/hyperbyte-cloud/hyperbytedb-operator \
--set manager.image.tag=latestapiVersion: hyperbytedb.hyperbyte.cloud/v1alpha1
kind: HyperbytedbCluster
metadata:
name: my-cluster
spec:
replicas: 3
image: hyperbytedb:latest
storage:
volumeClaimTemplate:
size: 10Gi
monitoring:
enabled: true
serviceMonitor: truekubectl apply -f cluster.yamlThe operator manages three CRDs:
- HyperbytedbCluster -- Declares a HyperbyteDB cluster with configurable replicas, storage, networking, monitoring, autoscaling, and failover.
- HyperbytedbBackup -- Defines one-shot or scheduled backups to S3-compatible storage with configurable retention.
- HyperbytedbRestore -- Restores a cluster from an existing backup, coordinating scale-down, data copy, and scale-up automatically.
See config/samples/ for example manifests.
# Build the operator binary
make build
# Run unit and integration tests
make test
# Build the container image
make docker-build IMG=<registry>/hyperbytedb-operator:<tag>
# Push the container image
make docker-push IMG=<registry>/hyperbytedb-operator:<tag>
# Install CRDs into the current cluster
make install
# Deploy the operator to the current cluster
make deploy IMG=<registry>/hyperbytedb-operator:<tag>
# Remove CRDs and the operator
make undeployRun make help for a full list of targets.
Copyright 2026.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.