CUE is an open source language, with a rich set of APIs and tooling, for defining, generating, and validating all kinds of data: configuration, APIs, database schemas, code, … you name it.
I think you guys are pretty much nailing the documentation. It's all bit more verbose, but I really like that. The previous documentation never 'reassured' the reader, the new docs do.
Configurations mean different values per environment, which is often solved with overlays in order to avoid repetition.How does CUE tackle the problem then ?
I swear to god if I hear someone from across the pond say CONfig one more time when they never say CONfiguration but confFIGuration like the rest of us
Why not just contribute to existing linting tools, like Kube-Linter? Or contribute more rules to Kyverno? Or put your support behind the Conftest/ Gatekeeper community? What does Cue do that other tools don't already do?
Kubernetes is an example but cue isn't specific to kubernetes or even cloud native application stacks etc. It's a tool focusing on making our lives better by adding great validation and real types to our configuration files. Also it has a package manager so it's also easy to share definitions etc. I'm just reading into it and to me it sounds like a great way to manage a lot of repetition and add good (data) validation.
@@VincentFree my understanding is that Conftest is the exact same type of genetic validation tool. Conftest uses Rego, and can validate any kind of configuration file.
The lattice is a different way to compose configuration entirely. There isn’t really a mature comparison case out there. You can type ‘as you go’, you don’t have to add a totally separate tool just to validate. It allows you to unify configuration (or any data really) without inheritance. If that doesn’t ring some bells then maybe it’s not for you.
And is a bit like you say "why do we have rust/golang when we already have c++ and java and why not contributing to them rather than create a new one". Yeah maybe yo are this kind of persons 😅.. Kube-linter and Kyverno uses yaml, and Conftest/Gatekeeper, rego 1. It is not a secret yaml is not disigned for logic but for data only, and this is a real limitation when enter real life complex use cases 2. Rego is a niche and designed for validation logic, not data/configuration description (and not very dev friendly lets be honnest) 3. Cue is not bringing something new. It propose a facility for something already existing (and used by everything), JSON. yep because a the end of the day (almost) all is json 4. Consider cue as the best of two worlds (as a Yaml + Rego but directly based on json) 5. There are plenty of use cases where we need a powerfull configuration langage that is safe, "easy"and extensible (not only in kube and cloud world) and solutions as CUE (or JSONNET) are trying to help on that If you still feel it is unnecessary, it simply means you do not have yet the need, but I can ensure you you will (except if you like to fight against rego/yaml limitations), at least if you are working on any complex configuration setup