https://github.com/holos-run/holos
Holistic platform manager
https://github.com/holos-run/holos
configuration cue cue-language devops gitops go kubernetes platform-engineering
Last synced: 3 months ago
JSON representation
Holistic platform manager
- Host: GitHub
- URL: https://github.com/holos-run/holos
- Owner: holos-run
- License: apache-2.0
- Created: 2024-02-02T14:12:20.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-05T00:57:45.000Z (4 months ago)
- Last Synced: 2025-03-05T07:03:20.713Z (4 months ago)
- Topics: configuration, cue, cue-language, devops, gitops, go, kubernetes, platform-engineering
- Language: CUE
- Homepage: https://holos.run
- Size: 28.9 MB
- Stars: 81
- Watchers: 4
- Forks: 3
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-repositories - holos-run/holos - Holistic platform manager (CUE)
README
# Holos
[Holos] is a configuration management tool for Kubernetes implementing the
[rendered manifests pattern]. It handles configurations ranging from single
resources 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```mermaid
---
title: Rendering Overview
---
graph LR
Platform[Platform]
Component[Components]Helm[Helm]
Kustomize[Kustomize]
Kubernetes[Kubernetes]BuildPlan[BuildPlan]
ResourcesArtifact[Resources
Artifact]
GitOpsArtifact[GitOps
Artifact]Generators[Generators]
Transformers[Transformers]
Validators[Validators]
Files[Manifest
Files]Platform --> Component
Component --> Helm --> BuildPlan
Component --> Kubernetes --> BuildPlan
Component --> Kustomize --> BuildPlanBuildPlan --> ResourcesArtifact --> Generators
BuildPlan --> GitOpsArtifact --> GeneratorsGenerators --> Transformers --> Validators --> Files
```## Setup
```shell
brew install holos-run/tap/holos
```Refer to [setup] for other installation methods and dependencies.
## Example
See our [tutorial] for a complete hello world example.
```cue showLineNumbers
package holosholos: Component.BuildPlan
Component: #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)
}
}
```## Organizational Role
Platform engineers use Holos to generate Kubernetes manifests, both locally and
in CI pipelines. The manifests are committed to version control and deployed via
GitOps tools like ArgoCD or Flux.Holos integrates seamlessly with existing Helm charts, Kustomize bases, and
other version-controlled configurations.## Advantages of Holos
### Safe
Holos leverages [CUE] for strong typing and validation of configuration data,
ensuring consistent output from Helm and other tools.### Consistent
A unified pipeline processes all configurations - whether from CUE, Helm, or
Kustomize - through the same well-defined stages.### Flexible
Composable building blocks for generation, transformation, validation and
integration 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 customizable
[topics] recipes rather than enforced structures.## Getting Help
Get support through our [Discord] channel or [GitHub discussions]. Configuration
challenges arise at all experience levels - we welcome your questions and are
here to help.## License
Holos is licensed under Apache 2.0 as found in the [LICENSE file](LICENSE).
[Holos]: https://holos.run/docs/overview/
[rendered manifests pattern]: https://akuity.io/blog/the-rendered-manifests-pattern
[CUE]: https://cuelang.org/
[Discord]: https://discord.gg/JgDVbNpye7
[GitHub discussions]: https://github.com/holos-run/holos/discussions
[Why CUE for Configuration]: https://holos.run/blog/why-cue-for-configuration/
[tutorial]: https://holos.run/docs/overview/
[setup]: https://holos.run/docs/setup/
[topics]: https://holos.run/docs/topics/