OCM Controllers
Caution
This project is in early development and not yet ready for production use.
The OCM controllers
- support the deployment of an OCM component and its resources, like Helm charts or other manifests, into a Kubernetes cluster with the help of kro and a deployer, e.g. FluxCD.
Before You Begin
You should be familiar with the following concepts:
- Open Component Model
- Kubernetes ecosystem
- kro
- Kubernetes resource deployer such as FluxCD.
Architecture
The primary purpose of OCM Controllers is simple: Deploy an OCM resource from an OCM component version into a Kubernetes cluster.
The diagram below provides an overview of the architecture of the OCM Controllers.
Installation
Currently, the OCM controllers are available as image and Kustomization. A Helm chart is planned for the future.
To install the OCM controllers into your running Kubernetes cluster, you can use the following commands:
# In the open-component-model repository, folder kubernetes/controller
task deploy
or
kubectl apply -k https://github.com/open-component-model/open-component-model/kubernetes/controller/config/default?ref=main
Deployer tools
While the OCM controllers technically can be used standalone, it requires kro and a deployer, e.g. FluxCD, to deploy an OCM resource into a Kubernetes cluster. The OCM controllers deployment, however, does not contain kro or any deployer. Please refer to the respective installation guides for these tools:
Getting Started
- Setup your (test) environment with kind, kro, and FluxCD
- Deploying a Helm chart using a
ResourceGraphDefinitionwith FluxCD - Deploying a Helm chart using a
ResourceGraphDefinitioninside the OCM component version (bootstrap) with FluxCD - Configuring credentials for OCM controller resources to access private OCM repositories