Kaoto - The Integration Designer for Apache Camel
Documentation | Workshops | Contribute | Chat
Kaoto is a visual editor for Apache Camel integrations. It offers support in creating and editing Camel Routes, Kamelets and Pipes. Kaoto also has a built-in catalog with available Camel components, Enterprise Integration Patterns and Kamelets provided by the Apache Camel community.
Have a quick look at our online demo instance: https://kaotoio.github.io/kaoto/
The Kubernetes operator that manages Kaoto instance within the Kubernetes clusters.
Multiresource yaml files to deploy to plain kubernetes.
- Install and run a Minikube instance with
ingressaddon enabled. - Install Kaoto from the multi-resource yaml
kubectl apply -k https://github.com/KaotoIO/kaoto-operator/config/standalone- this will create
kaoto-systemnamespace and install Kaoto Operator
- this will create
- Create sample Kaoto CR
kubectl apply -f https://raw.githubusercontent.com/KaotoIO/kaoto-operator/main/config/samples/designer.yaml - Waith the the ingrees admits the endoint
NAME PHASE ENDPOINT designer Ready http://192.168.49.2/designer/ - Kaoto should be accessible at
http:/$(minikube ip)/designer
- Clone
kaoto-operatorrepository - Run
make deploywhich createskaoto-systemproject and deploy all necessary resources - Deploy Kaoto Custom Resource sample:
kubectl apply -f config/samples/designer.yaml
- Start minikube with ingress controller enabled:
minikube start --addons ingress - Point docker to minikube internal registry:
eval $(minikube -p minikube docker-env) - Build the Operator:
make build - Build the Operator Image:
make docker-build - Deploy Operator:
make deploy - Create sample Kaoto CR:
kubectl apply -f config/samples/designer.yaml - (Optional) Undeploy everything:
make undeploy
- Start minikube win ingress controller enabled:
minikube start --addons ingress - Run operator locally:
make run/local - Create sample Kaoto CR:
kubectl apply -f config/samples/designer.yaml - (Optional) Undeploy Kaoto:
kubectl delete kaoto kaoto-demo
To build and push the operator and bundle images to your own registry:
- Docker/Podman logged into your registry
- Operator SDK will be automatically installed via
make bundle
-
Set environment variables:
export MY_REGISTRY="your-registry.com" export MY_REPO="your-username/kaoto" export IMAGE_TAG_BASE="${MY_REGISTRY}/${MY_REPO}-operator" export VERSION="0.0.5"
-
Generate bundle:
IMG=${IMAGE_TAG_BASE}:latest VERSION=${VERSION} make bundle
-
Build and push operator and bundle images:
IMG=${IMAGE_TAG_BASE}:latest BUNDLE_IMG=${IMAGE_TAG_BASE}-bundle:v${VERSION} make docker-build docker-push bundle-build bundle-push
IMG=${IMAGE_TAG_BASE}:latest make deploy
kubectl apply -f config/samples/designer.yaml-
Create namespace:
kubectl create namespace kaoto-system
-
Install OLM (if not present):
./bin/operator-sdk olm install
-
Deploy bundle using operator-sdk:
./bin/operator-sdk run bundle ${IMAGE_TAG_BASE}-bundle:v${VERSION} --namespace kaoto-system
-
Create Kaoto instance:
kubectl apply -f config/samples/designer.yaml
-
Cleanup bundle (when done):
./bin/operator-sdk cleanup kaoto-operator
