This project aims to use Kubernetes as controlplane with Bacalhau as the orchestrator. This is a POC and not meant for production use.
Watch the demo here
- Kubernetes cluster- although any Kubernetes cluster(with recent version) would work, the light weight option would be to use KCP as KCP doesn't have any orchestration components.
- Go 1.20+ installed
- Bacalhau CLI installed
- Clone the repo
- Run
kubectl create -f config/crd/bases/
to create the CRD - Run
make run
to run the operator
- Create a namespace called
Bacalhau
:
kubectl create namespace bacalhau
- Create a Job CR, a sample can be found at config/samples-
kubectl create -f config/samples/
- Check status of the job
kubectl -n bacalhau get job job-sample
- Grab the job ID from the status and check the status of the job in Bacalhau
bacalhau describe <job ID> | less
- Add support for WASM
- Add support for resource requirements
- Accept input locations
- Reporting Bacalhau Job status back to Job CR.
Please feel free to open issues for any bugs or feature requests. Pull requests are welcome too.