Cue is a project originally started by Marcel van Lohuizen who previously was part of BCL (Borg Config Lang) at Google. The main use is to generate config files.
See the Kubernetes examples at: https://cuelang.org/docs/tutorials/
Here are two posts discussing the motivations for Cue over BCL/Jsonnet:
- https://github.com/cuelang/cue/issues/33#issuecomment-483615...
- https://github.com/cuelang/cue/discussions/669
A very interesting development is that Grafana appears to be adopting Cue as a first-class configuration option. See: "Bring new CUE-based config schema system to release-readiness" https://github.com/grafana/grafana/issues/33139
This could mean that a future where Grafana dashboards can be two-way synced with a git repo will eventually exist.
----
Other tools with some industry adoption in the "Infrastructure as Code" space include
- Dhall
- Jsonnet (from BCL)
- kustomize
- Helm
- kubecfg
- Tanka
- SkyCfg
- jkcfg
- Krane
- HCL (Terraform)
And two tools that fall into a separate class of enabling "Infrastructure as Software"
- Pulumi (TypeScript/Go/Python/.NET)
- CDK
If a company develop an proprietary UI and use Loki as backend, this is not serving Loki directly to customer, so that does not require company to release their code.
It is similar to GPL. Dynamic linking to a GPL software does not require the developer releasing their code.
Only provider serving Loki instance directly to customer required to share the code.
Only Amazon is upset that they cannot just host a popular open source project directly on their cloud. Maybe they could pay a license fee for dual licensing arrangement, which is a better way to support open source startup.
The difference between the AGPL and traditional GPL is simple: The AGPL seeks to close a "loophole" that allows a company or organization to modify GPL'ed software and use it to provide a service — but without actually distributing changes. So a company can take a package like, say, WordPress and modify the software significantly to sell a service — but hold back changes because it's not technically "distributing" or "propagating" the software. The AGPL goes a bit further and says that if the program is "intended to interact with users through a computer network" and if the version that you received gives users "the opportunity to request transmission to that user of the Program's complete source code," you have to maintain that functionality and distribute the modified version.
[1] https://www.networkworld.com/article/2229265/is-the-affero-g...
https://docs.nats.io/nats-concepts/subject_mapping#for-traff...