7 ms·
shudders.. `| nindent 12`.. I've been trying to apply CUE to my work, but the tooling just isn't there for much of what I need yet. It also seems really short-
by mkroman 10mo ago
shudders.. `| nindent 12`..
I've been trying to apply CUE to my work, but the tooling just isn't there for much of what I need yet. It also seems really short-sighted that it is implemented in Go which is notoriously bad for embedding.
- hvenev 10mo agoBack when my job involved using Kubernetes and Helm, the solution I found was to use `| toJson` instead: it generates one line that happens to be valid YAML as well.
- verdverm 10mo ago> seems really short-sighted that it is implemented in Go CUE was a fork of the Go compiler (Marcel was on the Go team at the time and wanted to reuse much of the infra within the codebase) Also, so much of the k8s ecosystem is in Go that it was a natural choice.
- mkroman 10mo ago> CUE was a fork of the Go compiler (Marcel was on the Go team at the time and wanted to reuse much of the infra within the codebase) Ah, that makes sense, I guess. I also get the feeling that the language itself is still under very active development, so until 1.0 is released I don't think it matters too much what it's implemented in. > Also, so much of the k8s ecosystem is in Go that it was a natural choice. That might turn out to be a costly decision, imho. I wanted to use CUE to manage a repository of schema definitions, and from these I wanted to generate other formats, such as JSON schemas, with constraints hopefully taken from the high-level CUE. I figured I'd try and hack something together, but it was a complete non-starter since I don't work within the Go ecosystem. Projects like the cue language live and breathe from an active community with related tooling, so the decision still really boggles my mind. I'll stay optimistic and hope that once it reaches 1.0, someone will write an implementation that is easily embedded for my use-cases. I won't hold my breath though, since the scope is getting quite big.
- verdverm 10mo agowhat language would you have chosen? > I wanted to use CUE to manage a repository of schema definitions, and from these I wanted to generate other formats, such as JSON schemas, with constraints hopefully taken from the high-level CUE. Have you tried a Makefile to run cue? There should be no need to write code to do this
- lifty 10mo agoWhy don't you work with the Go ecosystem? You don't use K8s, terraform, etc? What ecosystem do you prefer?
- lucyjojo 10mo agocue and argocd here. it is pretty neat. the tf is still in hcl form for now.
- gopaz 10mo agoHolos[1] is an interesting project I’ve been looking at trying out. 1. https://holos.run/ https://holos.run/
- verdverm 10mo agoI've looked at Holos recently 1. it seems like development has largely ceased since Sept 2. it looks to only handle helm, not terraform, I'm looking for something to unify both and deal with dependencies between charts (another thing helm is terrible at)
- jonasdegendt 10mo agoWe evaluated CUE, Jsonnet and CDK8s when we wanted to move on from Helm, and ended up using CDK8s. It's proven to be a good pick so far, it's in Typescript.
- lillecarl 10mo agoBoth Jsonnet and CUE are implemented in Go which happens to be the language Helm is written in. While I agree that it reduces "general embedability" it's ripe fruit for Helm to integrate either or both of these as alternatives to YAML templating.