A practical guide to CUE: patterns for everyday use
2022-02-05, 10:00–10:45, d.InfraMgt

Heard about CUE (https://cuelang.org/) but not sure where to get started? Unsure how to integrate CUE with an existing configuration? Need some pointers on the best practices for structuring and managing your data and schema? Unclear how and when to use the tooling layer?

Marcel van Lohuizen and Paul Jolly start with a quick overview of CUE the language, then move on to present practical examples of CUE in action, including common patterns for validation, policy, integration with existing non-CUE configuration and more.


CUE (https://cuelang.org/) solves a previously unsolved technical problem in the configuration space. It does so by taking a compositional approach that reduces the complexity of managing configuration from a combinatorial problem to a linear problem. CUE is based on 20 years of experience in the field of configuration. Its declarative, aspect-oriented approach is powerful yet simple, making it possible to manage large amounts of configuration data and policies in multiple formats (JSON, YAML, Protocol Buffers, OpenAPI, etc.) with relative ease.
It also makes CUE well suited to a wide range of applications.

This all sounds great! But for someone new to CUE, it may not be obvious how to get started.

In this talk, Marcel van Lohuizen and Paul Jolly start with a quick overview of CUE the language, then move on to present practical examples of CUE in action, including common patterns for validation, policy, integration with existing non-CUE configuration and more. Because CUE is new, established patterns are still in the making, but at the very least it will be a reflection of the current thinking.

No previous experience of CUE required, although familiarity with an existing configuration and data languages will help provide some context to the examples.

Marcel van Lohuizen created the open source CUE project building on 20 years of experience in the natural language processing and cloud configuration space. At Google he was on the founding team of Borg (predecessor to Kubernetes), where he created the core tooling as well as the Borg Configuration Language (BCL), a long-time member of the Go team, among many other projects.

Paul Jolly is a core maintainer on the CUE project. He co-created Play with Go, contributes to the Go project, created govim, and helps maintain a number of other open source projects. Paul also co-leads the Go Tools Working Group, a global group of trusted advisors and contributors that provide guidance and roadmap for the Go tools ecosystem.