mirror of
https://github.com/holos-run/holos.git
synced 2026-03-20 17:25:01 +00:00
78 lines
2.9 KiB
Plaintext
78 lines
2.9 KiB
Plaintext
---
|
|
slug: overview
|
|
title: Overview
|
|
description: Learn how Holos integrates software into a holistic platform.
|
|
sidebar_position: 10
|
|
---
|
|
|
|
import RenderingOverview from '@site/src/diagrams/rendering-overview.mdx';
|
|
|
|
# Tutorial
|
|
|
|
## Overview
|
|
|
|
Holos is a configuration management tool for Kubernetes resources. It provides
|
|
the building blocks needed for implementing the [rendered manifests pattern].
|
|
It gives the flexibility to manage a wide range of configurations, from large
|
|
software delivery platforms spanning multiple clusters and regions to generating
|
|
a single resource on your local device.
|
|
|
|
{/* truncate */}
|
|
|
|
At a high level, Holos provides a few major components:
|
|
|
|
- A Platform schema for specifying how components integrate together into a platform.
|
|
- Component building blocks for Helm, Kustomize, and Kubernetes to unify configuration with CUE.
|
|
- A BuildPlan orchestrating generators, transformers, and validators to produce manifest files.
|
|
|
|
<RenderingOverview />
|
|
|
|
{/* TODO: Replace this with the Advantages diagram we talked about. */}
|
|
|
|
## Holos' role in your organization
|
|
|
|
Platform engineers run the `holos render platform` command locally and in CI to
|
|
produce Kubernetes manifests which are committed to version control. GitOps
|
|
tools like ArgoCD or Flux deploy the manifests produced by Holos.
|
|
|
|
Holos works well with your existing Helm charts, kustomize bases, and any other
|
|
configuration data you currently store in version control.
|
|
|
|
## Advantages of Holos
|
|
|
|
### Safe
|
|
|
|
Holos uses [CUE] to provide strong typing and constraints to configuration data.
|
|
Additionally, holos adds strong validation to verify the output produced by Helm
|
|
and other tools.
|
|
|
|
### Consistent
|
|
|
|
Holos offers a consistent way to incorporate a wide variety of tools into a well
|
|
defined data pipeline. Configuration produced from CUE, Helm, and Kustomize are
|
|
all handled with the same consistent process.
|
|
|
|
### Flexible
|
|
|
|
Holos is designed to be flexible. Holos offers flexible building blocks for
|
|
data generation, transformation, validation, and integration. Find the perfect
|
|
fit for your team by assembling these building blocks to your unique needs.
|
|
|
|
Holos does not have an opinion on many common aspects of platform configuration.
|
|
For example, environments and clusters are explicitly kept out of the core and
|
|
instead are provided as flexible, user-customizable [topics] organized as a
|
|
recipes.
|
|
|
|
## Getting Help
|
|
|
|
If you get stuck, you can get help on [Discord] or [GitHub discussions]. Don't
|
|
worry about asking "beginner" questions, configuration is often complex even for
|
|
the most experienced among us. We all start somewhere and are happy to help.
|
|
|
|
[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/
|
|
[topics]: ../topics.mdx
|