zenith-operator

module
v0.0.0-...-45f2355 Latest Latest
Warning

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

Go to latest
Published: Dec 4, 2025 License: Apache-2.0

README ΒΆ

Zenith Operator

codecov Lint Tests E2E Tests

Zenith Operator is a Kubernetes operator that provides a serverless platform for functions, orchestrating builds (Tekton Pipelines), deployments (Knative Serving), and event-driven invocations (Knative Eventing) through a single Function Custom Resource.

πŸš€ Quick Start

apiVersion: functions.zenith.com/v1alpha1
kind: Function
metadata:
  name: hello-function
spec:
  gitRepo: https://github.com/myorg/hello-function
  gitRevision: main
  build:
    image: registry.example.com/hello-function:latest
  deploy: {}

πŸ“– Documentation

Access full documentation β†’

  • Introduction - Overview, installation and quick start
  • Guides - Practical tutorials for creating functions
  • Concepts - Architecture and fundamental concepts
  • Reference - Complete API specification
  • Operations - Configuration and management

✨ Key Features

  • Automatic Build: Clones Git repositories and builds images using Tekton Pipelines and Buildpacks
  • Serverless Deployment: Automatic deployment as Knative Services with scale-to-zero
  • Event-Driven: Event subscription via Knative Eventing with filters
  • Service Mesh: Optional integration with Dapr for service discovery and pub/sub
  • Distributed Tracing: Automatic tracing via OpenTelemetry
  • Immutable Images: Image digest tracking for reproducibility

πŸ› οΈ Installation

Via Helm

Local Development (kind/Minikube):

helm repo add zenith https://lucasgois1.github.io/zenith-operator

# Install with development profile (includes MetalLB, local registry, etc.)
helm install zenith-operator zenith/zenith-operator \
  --namespace zenith-operator-system \
  --create-namespace

Production (GKE/EKS/AKS):

helm repo add zenith https://lucasgois1.github.io/zenith-operator
helm install zenith-operator zenith/zenith-operator \
  --namespace zenith-operator-system \
  --create-namespace

Note: MetalLB is only required on local clusters (kind/Minikube) that do not have native LoadBalancer support. On managed clouds (GKE, EKS, AKS), the cloud load balancer is used automatically.

Via Kustomize
make install  # Install CRDs
make deploy IMG=ghcr.io/lucasgois1/zenith-operator:latest

Complete installation guide β†’

🎯 Use Cases

Synchronous HTTP Functions

REST APIs, webhooks and microservices that respond to HTTP requests.

See guide β†’

Asynchronous Functions with Events

Event processing, notifications and event-driven workflows.

See guide β†’

Function Communication

Microservices architectures with multiple communicating functions.

See guide β†’

πŸ§ͺ Development

# Complete environment setup
make dev-up

# Fast rebuild and redeploy
make dev-redeploy

# Run tests
make test
make test-chainsaw

πŸ“„ License

Apache License 2.0 - see LICENSE for details.

🀝 Contributing

Contributions are welcome! Open issues and pull requests on GitHub.

Directories ΒΆ

Path Synopsis
api
v1alpha1
Package v1alpha1 contains API Schema definitions for the functions v1alpha1 API group.
Package v1alpha1 contains API Schema definitions for the functions v1alpha1 API group.
internal
test

Jump to

Keyboard shortcuts

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