chore(kb/kro): expand a bit

This commit is contained in:
Michele Cereda
2026-01-03 14:16:46 +01:00
parent 93bf28f231
commit 2ec34806cd

View File

@@ -1,47 +1,64 @@
# Kube Resource Orchestrator
> TODO
Intro
<!-- Remove this line to uncomment if used
## Table of contents <!-- omit in toc -->
Allows defining custom Kubernetes APIs using simple and straightforward configuration.
1. [TL;DR](#tldr)
1. [Create the RDG](#create-the-rdg)
1. [Further readings](#further-readings)
1. [Sources](#sources)
## TL;DR
<!-- Uncomment if used
Configuring new custom APIs creates a group of Kubernetes objects and the logical operations between them.<br/>
`kro` calculates the order in which objects should be created based on Common Expression Language expressions.
CLE allows passing values from one object to another, and incorporate conditionals into the custom API definitions.<br/>
One can define default values for fields in the API specification, allowing end users to invoke custom APIs to create
grouped resources with minimal configuration.
Installing `kro` in a cluster installs the `ResourceGraphDefinition` Custom Resource Definition.
Custom APIs are created by defining Custom Resources for the `ResourceGraphDefinition` CRD.<br/>
Those CRs encapsulate the necessary resources, any additional logic, abstractions, and best practices.<br/>
When the CR is applied to the cluster, it creates a new API of the kind it describes. Users can then create an instance
of the CR, which will make the custom API handle the deployment and configuration of the required resources.
When creating an RGD, `kro`:
1. Treats resources as a Directed Acyclic Graph to understand their dependencies.
1. Validates resource definitions and detects the correct deployment order.
1. Creates a new API in the cluster from the CR.
1. Configures itself to watch and serve instances of this API, continuously reconciling the resources defined by the
RDG.
<details>
<summary>Setup</summary>
```sh
# Install.
helm --namespace 'kro-system' --create-namespace upgrade --install 'kro' 'oci://registry.k8s.io/kro/charts/kro'
helm -n 'kro-system' --create-namespace install 'kro' 'oci://registry.k8s.io/kro/charts/kro' --version '0.7.1'
# Uninstall.
helm -n 'kro-system' uninstall 'kro'
```
</details>
-->
<!-- Uncomment if used
<details>
<summary>Usage</summary>
## Create the RDG
```sh
```
1. Create its manifest file.
1. Apply the RGD to the Kubernetes cluster:
</details>
-->
```sh
kubectl apply -f 'resourceGraphDefinition.yaml'
```
<!-- Uncomment if used
<details>
<summary>Real world use cases</summary>
1. Check the status of the RGD:
```sh
```
</details>
-->
```sh
kubectl get rgd 'myApplication' -o 'wide'
```
## Further readings