βΈοΈ GizmoSQL Kubernetes Operator
December 21, 2025 Β· View on GitHub
π What is the GizmoSQL Operator?
The GizmoSQL Operator is a Kubernetes controller that manages the lifecycle of GizmoSQL instances on Kubernetes. It simplifies the deployment, scaling, and management of high-performance SQL servers powered by DuckDB.
π§ Why use the Operator?
- π€ Automated Lifecycle β Easily provision and manage GizmoSQL instances as Kubernetes Custom Resources.
- βοΈ Configuration Management β Declarative configuration for your SQL engines.
- π Scalable Deployments β Deploy multiple isolated instances with ease.
- βοΈ Cloud Native β Integrates with Kubernetes RBAC, networking, and storage.
π Quick Start
Prerequisites
- Kubernetes cluster (v1.11.3+)
kubectlconfiguredhelm(v3+)
Installation via Helm
-
Install the Chart
Install the operator into the
gizmosql-systemnamespace:helm install gizmosql-operator oci://registry-1.docker.io/gizmodata/gizmosql-operator-chart \ --namespace gizmosql-system \ --create-namespace -
Verify Installation
Wait until the operator pod is running:
kubectl wait --for=condition=ready pod -l app.kubernetes.io/name=gizmosql-operator --namespace gizmosql-system
π¦ Usage
Once the operator is running, you can deploy a GizmoSQL instance by creating a GizmoSQLServer custom resource.
1. Create a Manifest
Create a file named gizmosql-instance.yaml:
apiVersion: gizmodata.com/v1alpha1
kind: GizmoSQLServer
metadata:
name: example-gizmosql
namespace: default
spec:
resources:
limits:
cpu: "1"
memory: "2Gi"
requests:
cpu: "500m"
memory: "1Gi"
2. Apply the Manifest
kubectl apply -f gizmosql-instance.yaml
3. Connect
The operator will create a Service for your instance. You can forward the port to connect locally:
kubectl port-forward svc/example-gizmosql 31337:31337
Then connect using the GizmoSQL client or any Arrow Flight SQL compatible client (JDBC, Python, etc.).
π Configuration
The Helm chart can be configured via values.yaml or --set flags during installation.
| Parameter | Description | Default |
|---|---|---|
manager.image.repository | Controller image repository | gizmodata/gizmosql-operator |
manager.image.tag | Controller image tag | 0.1.0 |
manager.replicas | Number of operator replicas | 1 |
crd.enable | Whether to install CRDs | true |
metrics.enable | Enable metrics endpoint | true |
ποΈ Build from Source
For developers who want to build and deploy the operator from source:
Download and install k3d by following the official instructions. For most platforms, a simple install script is available:
curl -s https://raw.githubusercontent.com/k3d-io/k3d/main/install.sh | bash
Create a container registry to push your images to:
k3d registry create gizmodata
Create a new cluster with the registry:
k3d cluster create --registry-use k3d-gizmodata:63806 gizmodata
# Build the docker image
make docker-build-and-push-dev
# Deploy via Helm with your custom image
helm upgrade --install gizmosql-operator \
--namespace gizmosql-system \
--create-namespace ./chart \
--set manager.image.repository=k3d-gizmodata:63806/gizmosql-operator \
--set manager.image.tag=$(docker images | grep -m1 dev. | awk '{print \$2}')
π License
Apache License, Version 2.0
https://www.apache.org/licenses/LICENSE-2.0
π« Contact
Questions or consulting needs?
π§ info@gizmodata.com π https://gizmodata.com
Built with β€οΈ by GizmoDataβ’