This directory contains tutorials demonstrating key concepts of the Δ-controller Kubernetes operator framework. Each example shows progressively advanced patterns for building declarative controllers, and includes working test scenarios and verification steps to help you understand the concepts in practice.
Purely declarative controllers: ConfigMap-Deployment controller
The tutorial shows how to use a ConfigDeployment CRD to automatically restart Deployments when the referenced ConfigMaps change. This tutorial demonstrates:
- Custom resource definition integration.
- JSONPath expressions for field mapping.
- The
@join,@select, and@projectpipeline operations. - Patch-based target updates vs. full overwrites.
Using views: The Service health monitor
This operator monitors pod health and updates Services with annotations that indicate health metrics using a two-stage pipeline. The tutorial demonstrates:
- Multi-controller data processing pipelines.
- Custom view creation for intermediate state.
- Aggregation operations across multiple object types.
- Label-based pod filtering and health status tracking.
Hybrid controllers: The EndpointSlice controller
This tutorial shows how to build hybrid operators combining declarative and imperative controllers. The operator implements a service endpoint discovery system with two declarative controllers feeding a reconciler written in Go. The tutorial demonstrates:
- Complex multi-controller operator pipelines.
- The
@unwindoperation for data demultiplexing. - Integration patterns between declarative and imperative controllers.
- Ensure Δ-controller is installed and running in your cluster.
- Navigate to any example directory.
- Follow the README instructions for setup, testing, and cleanup.
- Examine the YAML operator definitions to understand the declarative patterns.