Skip to content

Latest commit

 

History

History
 
 

README.md

OCM Kubernetes Controller Toolkit

Caution

This project is in early development and not yet ready for production use.

The OCM Kubernetes Controller Toolkit

  • supports 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 or ArgoCD.
  • provides a controller to transfer OCM components.

What should I know before I start?

You should be familiar with the following concepts:

Concept

Note

The following section provides a high-level overview of the OCM Kubernetes Controller Toolkit and its components regarding the deployment of an OCM resource in a very basic scenario.

The primary purpose of OCM Kubernetes Controller Toolkit 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 Kubernetes Controller Toolkit.

Architecture of OCM Kubernetes Controller Toolkit

Installation

Take a look at our installation guide to get started.

Important

While the OCM Kubernetes Controller Toolkit technically can be used standalone, it requires kro and a deployer, e.g. FluxCD or ArgoCD, to deploy an OCM resource into a Kubernetes cluster. The OCM Kubernetes Controller Toolkit deployment, however, does not contain kro or any deployer. Please refer to the respective installation guides for these tools:

Getting Started

Deployers

The OCM Kubernetes Controller Toolkit is deployer-agnostic: the kro.run ResourceGraphDefinition (RGD) you write determines which tool reconciles the final workload. Both FluxCD and ArgoCD are supported and tested.

See the working examples under examples/ — each rgd.yaml contains both a FluxCD and an ArgoCD deployer block side by side.

Development

Running e2e tests

Task Description
task test/e2e/setup/local Create ocm-e2e Kind cluster with kro, FluxCD, and ArgoCD installed
task test/e2e/setup/teardown Delete the ocm-e2e cluster and its registry container
task test/e2e Run e2e tests against the running cluster. Pass ginkgo flags after --, e.g. task test/e2e -- -ginkgo.focus=helm-simple
task test/e2e/fresh Tear down + setup + run in one shot. Accepts the same ginkgo flags

Contributing

Code contributions, feature requests, bug reports, and help requests are very welcome. Please refer to our Contributing Guide for more information on how to contribute to OCM.

OCM Kubernetes Controller Toolkit follows the Linux Foundation EU Code of Conduct