nowfound

Dev tools · December 9, 2024

HC

Holos – Configure Kubernetes with CUE data structures instead of YAML

Hi HN! I’m excited to share Holos, a Go command line tool we wrote to fill the configuration management gap in Kubernetes. Holos uses CUE to configure software distributed with Helm and Kustomize using a well defined, type safe language eliminating the need to template YAML. You probably know (or are) someone who has suffered with the complexity of plain text YAML templates and merging multiple values.yaml files together to configure software running in Kubernetes. We built Holos so we don’t have to template YAML but we can still integrate software distributed with Helm and Kustomize…

Visit holos.runAlternativestop 22% of December 2024

In plain words

Holos is a Go command-line tool that uses CUE, a typed configuration language, to manage Kubernetes deployments instead of YAML templating. It integrates software distributed through Helm and Kustomize into a unified configuration system, addressing the complexity of managing multiple YAML files and template merging. The tool is designed for engineers working with Kubernetes who want type safety and clarity in their infrastructure configuration.

written from the facts on this page · September 2026

From the sources

In the maker’s words, at launch

Hi HN! I’m excited to share Holos, a Go command line tool we wrote to fill the configuration management gap in Kubernetes. Holos uses CUE to configure software distributed with Helm and Kustomize using a well defined, type safe language eliminating the need to template YAML. You probably know (or are) someone who has suffered with the complexity of plain text YAML templates and merging multiple values.yaml files together to configure software running in Kubernetes. We built Holos so we don’t have to template YAML but we can still integrate software distributed with Helm and Kustomize holistically into one unified configuration. At the start of the pandemic I was migrating our platform to Kubernetes from virtual machines managed by Puppet. My primary goal was to build an observability system similar to what we had when we managed Puppet at Twitter prior to the acquisition. I started building the observability system with the official prometheus community charts [1], but quickly ran into issues where the individual charts didn’t work with each other. I was frustrated with how difficult it was to configure these charts. They weren’t well integrated, so I switched to the kube-prometheus-stack [2] umbrella chart which attempts to solve this integration problem. The umbrella chart got us further but we quickly ran into operational challenges. Upgrading the chart introduced breaking changes we couldn’t see until they were applied, causing incidents. We needed to manage secrets securely so we mixed in ExternalSecrets with many of the charts. We decided to handle these customizations by implementing the rendered manifests pattern [3] using scripts in our CI pipeline. These CI scripts got us further, but we found them costly to maintain. We needed to be careful to execute them with the same context they were executed in CI. We realized we were reinventing tools to manage a hierarchy of helm values.yaml files to inject into multiple charts. We saw the value in the rendered manifests pattern but could not find an agreed upon implementation. I’d been thinking about the comments from the Why are we templating YAML? [4][5] posts and wondering what an answer to this question would look like, so I built a Go command line tool to implement the pattern as a data pipeline. We still didn’t have a good way to handle the data values. We were still templating YAML which didn’t catch errors early enough. It was too easy to render invalid resources Kubernetes rejected. I searched for a solution to manage and merge helm values. A few HN comments mentioned CUE [6], and an engineer we worked with at Twitter used CUE to configure Envoy at scale, so I gave it a try. I quickly appreciated how CUE provides both strong type checking and validation of constraints, unifies all configuration data, and provides clarity into where values originate from. Take a look at Holos if you’re looking to implement the rendered manifests pattern or can’t shake that feeling it should be easier to integrate third party software into Kubernetes like we felt. We recently overhauled our docs to be easier to get started and work locally on your device. In the future we’re planning to use Holos much like Debian uses APT, to integrate open source software into a holistic k8s distribution. [1]: <https:&#x2F;&#x2F;github.com&#x2F;prometheus-community&#x2F;helm-charts> [2]: <https:&#x2F;&#x2F;github.com&#x2F;prometheus-community&#x2F;helm-charts&#x2F;tree&#x2F;mai...> [3]: <https:&#x2F;&#x2F;akuity.io&#x2F;blog&#x2F;the-rendered-manifests-pattern> [4]: Why are we templating YAML? (2019) - <https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=19108787> [5]: Why are we templating YAML? (2024) - <https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=39101828> [6]: <https:&#x2F;&#x2F;cuelang.org&#x2F;>

More dev tools this month

the category →
  • Dograh592

    The open source VAPI alternative

    Dev tools · 25d ago · dograh.com

  • Meridian530

    Don't let your work go unnoticed. Get promoted!

    Dev tools · 20d ago · meridiona.com

  • x1516

    Lovable for iPhone apps go from idea to App Store

    Dev tools · 11d ago · x1.new

  • Open-source GTM skills for technical founders

    Dev tools · 29d ago · gtmcofounder.com

  • OpenTrailPaper is open-source bike computer firmware for the LilyGO T5S3 4.7" E-Paper PRO. It supports offline maps, GPX routes, FIT recording and Bluetooth sensors.

    Dev tools · 1d ago · opentrailpaper.com

  • Nuphos380

    The AI-Native DevOps Workspace.

    Dev tools · 24d ago · nuphos.ai

Launched alongside, December 2024

the whole month →
  • Remy AI2,172

    Anyone can sleep and recover better

    AI · 2024 · apps.apple.com

  • Remento1,686

    The AI biographer for loved ones

    AI · 2024 · remento.co

  • Aimfox1,213

    Built for LinkedIn outreach, made to close deals

    Growth · 2024 · aimfox.com

  • Stackfix1,112

    Compare software in seconds

    AI · 2024 · stackfix.com

  • Coval1,012

    Simulation & evals to ship delightful voice & chat AI agents

    AI · 2024 · coval.ai

  • VocAdapt961

    Master languages with AI-adapted authentic content

    Life & fun · 2024 · vocadapt.com