krateoplatformops / krateo-docs

2 stars 2 forks source link

Proposal: Definition of Krateo Module, Template and Deployment #2

Open braghettos opened 1 year ago

braghettos commented 1 year ago

Krateo Module

A self-consistent group of tools that need to be installed in Krateo.

This cannot be an helm chart because it should install only one tool and an helm chart cannot package more applications or microservices.

A Module is represented by a Crossplane claim and is packaged via OCI image.

When a Krateo Module is applied to the Kubernetes cluster, the related kind: Configuration is applied and a claim is generated from the Krateo Module specs and applied. More details in a related issue.

It is not possible to use a pre-defined claim because it cannot be packaged via OCI image. This means that every spec for the claim must be specified in the Module specs.

Krateo Template

A manifest that represents a UI form. The scope of the Krateo Template is to gather inputs from the user via UI and generate a Krateo Deployment. The generation of the Krateo Deployment will be done via a dedicated controller. More details in a related issue.

A Template is represented by a Krateo manifest and is strictly related to a Crossplane composition. When a Krateo Template is applied to the Kubernetes cluster, the related kind: Configuration is applied.

Krateo Deployment

An instance of a resource that have been deployed via Krateo. It contains just the specs to generate the claim for the related composition. Every other details (plugins, tags etc) will be handled by proper Custom Resources handled within the Composition.