- Notifications
You must be signed in to change notification settings - Fork4
holos-run/holos
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Holos is a configuration management tool for Kubernetes implementing therendered manifests pattern. It handles configurations ranging from singleresources to multi-cluster platforms across regions.
Key components:
- Platform schemas defining component integration
- Building blocks unifying Helm, Kustomize and Kubernetes configs with CUE
- BuildPlan pipeline for generating, transforming and validating manifests
---title: Rendering Overview---graph LR Platform[<a href="https://holos.run/docs/v1alpha5/api/author/#Platform">Platform</a>] Component[<a href="https://holos.run/docs/v1alpha5/api/author/#ComponentConfig">Components</a>] Helm[<a href="https://holos.run/docs/v1alpha5/api/author/#Helm">Helm</a>] Kustomize[<a href="https://holos.run/docs/v1alpha5/api/author/#Kustomize">Kustomize</a>] Kubernetes[<a href="https://holos.run/docs/v1alpha5/api/author/#Kubernetes">Kubernetes</a>] BuildPlan[<a href="https://holos.run/docs/v1alpha5/api/core/#BuildPlan">BuildPlan</a>] ResourcesArtifact[<a href="https://holos.run/docs/v1alpha5/api/core/#Artifact">Resources<br/>Artifact</a>] GitOpsArtifact[<a href="https://holos.run/docs/v1alpha5/api/core/#Artifact">GitOps<br/>Artifact</a>] Generators[<a href="https://holos.run/docs/v1alpha5/api/core/#Generator">Generators</a>] Transformers[<a href="https://holos.run/docs/v1alpha5/api/core/#Transformer">Transformers</a>] Validators[<a href="https://holos.run/docs/v1alpha5/api/core/#Validator">Validators</a>] Files[Manifest<br/>Files] Platform --> Component Component --> Helm --> BuildPlan Component --> Kubernetes --> BuildPlan Component --> Kustomize --> BuildPlan BuildPlan --> ResourcesArtifact --> Generators BuildPlan --> GitOpsArtifact --> Generators Generators --> Transformers --> Validators --> Files
brew install holos-run/tap/holos
Refer tosetup for other installation methods and dependencies.
See ourtutorial for a complete hello world example.
packageholosholos:Component.BuildPlanComponent:#Helm& {Name:"podinfo"Chart: {version:"6.6.2"repository: {name:"podinfo"url:"https://stefanprodan.github.io/podinfo"}}Values:ui: {message:string|*"Hello World" @tag(message, type=string)}}
Platform engineers use Holos to generate Kubernetes manifests, both locally andin CI pipelines. The manifests are committed to version control and deployed viaGitOps tools like ArgoCD or Flux.
Holos integrates seamlessly with existing Helm charts, Kustomize bases, andother version-controlled configurations.
Holos leveragesCUE for strong typing and validation of configuration data,ensuring consistent output from Helm and other tools.
A unified pipeline processes all configurations - whether from CUE, Helm, orKustomize - through the same well-defined stages.
Composable building blocks for generation, transformation, validation andintegration let teams assemble workflows that match their needs.
The core is intentionally unopinionated about platform configuration patterns.Common needs like environments and clusters are provided as customizabletopics recipes rather than enforced structures.
Get support through ourDiscord channel orGitHub discussions. Configurationchallenges arise at all experience levels - we welcome your questions and arehere to help.
Holos is licensed under Apache 2.0 as found in theLICENSE file.
About
Holistic platform manager