Skip to main content

API Reference

Konductor provides four Custom Resource Definitions (CRDs) that implement synchronization primitives for Kubernetes workloads.

Core Resources

ResourcePurposeStatus
SemaphoreLimit concurrent access✅ Available
BarrierCoordinate multi-stage workflows✅ Available
LeaseSingleton execution✅ Available
GateDependency coordination🚧 Planned

Common Fields

All Konductor resources share common patterns:

Metadata

Standard Kubernetes metadata with optional labels for organization:

metadata:
name: my-resource
namespace: default
labels:
app: my-app
stage: production

Status Conditions

All resources report status through standard Kubernetes conditions:

status:
conditions:
- type: Ready
status: "True"
reason: ResourceReady
message: "Resource is ready for use"
- type: Available
status: "True"
reason: PermitsAvailable
message: "2 permits available"

TTL and Cleanup

Resources support automatic cleanup through TTL fields:

spec:
ttl: 10m # Automatic cleanup after 10 minutes

Resource Lifecycle

Creation

Resources are created through standard Kubernetes APIs:

kubectl apply -f semaphore.yaml

Monitoring

Check resource status:

kubectl get semaphore my-semaphore -o yaml
kubectl describe barrier my-barrier

Cleanup

Resources clean up automatically based on TTL or can be deleted manually:

kubectl delete semaphore my-semaphore

API Versions

VersionStatusNotes
v1StableCurrent stable API
v1alpha1DeprecatedLegacy, will be removed

Next Steps