Eclipse Che Operator
June 9, 2026 ยท View on GitHub
Eclipse Che Operator
Description
Eclipse Che operator uses Operator SDK and Go Kube client to deploy, update and manage Kubernetes/OpenShift resources that constitute an Eclipse Che cluster.
Che operator is implemented using operator framework and the Go programming language.
Eclipse Che configuration is defined using a custom resource definition object and stored in the custom Kubernetes resource named
checluster (or plural checlusters) in the Kubernetes API group org.eclipse.che.
Development
Quick Start
git clone https://github.com/eclipse-che/che-operator.git
cd che-operator
make build # Build the operator binary
make test # Run unit tests to verify setup
Update golang dependencies
make update-go-dependencies
New golang dependencies in the vendor folder should be committed and included in the pull request.
Run unit tests
make test
Format the code and fix imports
make fmt
Run static code analyzers
make lint
Update development resources
You have to update development resources if you updated any files in config folder or api/v2/checluster_types.go file:
build/scripts/docker-run.sh make update-dev-resources
Build Che operator image
make docker-build IMG=<YOUR_OPERATOR_IMAGE>
Deploy Che operator from the source code:
For OpenShift cluster:
build/scripts/docker-run.sh /bin/bash -c "
oc login \
--token=<...> \
--server=<...> \
--insecure-skip-tls-verify=true && \
build/scripts/olm/test-catalog-from-sources.sh
"
For Kubernetes cluster:
./build/scripts/minikube-tests/test-operator-from-sources.sh
Debug Che operator
You can run/debug this operator on your local machine (without deploying to a k8s cluster).
make debug
Then use VSCode debug configuration Che Operator to attach to a running process.
Validation licenses for runtime dependencies
Che operator is an Eclipse Foundation project. So we have to use only open source runtime dependencies with Eclipse compatible license https://www.eclipse.org/legal/licenses.php. Runtime dependencies license validation process described here: https://www.eclipse.org/projects/handbook/#ip-third-party To merge code with third party dependencies you have to follow process: https://www.eclipse.org/projects/handbook/#ip-prereq-diligence When you are using new golang dependencies you have to validate the license for transitive dependencies too.
Builds
This repo contains several actions, including:
License
Che is open sourced under the Eclipse Public License 2.0.