API Reference
Konductor provides four Custom Resource Definitions (CRDs) that implement synchronization primitives for Kubernetes workloads.
Core Resources
| Resource | Purpose | Status |
|---|---|---|
| Semaphore | Limit concurrent access | ✅ Available |
| Barrier | Coordinate multi-stage workflows | ✅ Available |
| Lease | Singleton execution | ✅ Available |
| Gate | Dependency 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
| Version | Status | Notes |
|---|---|---|
| v1 | Stable | Current stable API |
| v1alpha1 | Deprecated | Legacy, will be removed |
Next Steps
- Semaphore API - Concurrent access control
- Barrier API - Multi-stage coordination
- Lease API - Singleton execution
- CLI Reference - Command-line usage