Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/j0hn-b/cue_demo
CUE is an open-source Data Validation language. Can be used to define and validate Kubernetes manifests, CRDs, and configuration files.
https://github.com/j0hn-b/cue_demo
cue data-validation json kubernetes yml
Last synced: about 1 month ago
JSON representation
CUE is an open-source Data Validation language. Can be used to define and validate Kubernetes manifests, CRDs, and configuration files.
- Host: GitHub
- URL: https://github.com/j0hn-b/cue_demo
- Owner: J0hn-B
- Created: 2023-07-24T15:45:48.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-07-24T19:44:41.000Z (over 1 year ago)
- Last Synced: 2024-10-13T22:41:40.931Z (about 1 month ago)
- Topics: cue, data-validation, json, kubernetes, yml
- Language: CUE
- Homepage:
- Size: 55.7 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# CUE (Configure Unify Execute)
[CUE](https://cuelang.org/) is an open-source **Data Validation language** and inference engine with its roots in logic programming.
Instead of writing code like typical languages, **you provide values, types, definitions, and constraints** to Cue, and it **checks if what you entered is correct**.
For those familiar with [Rego](https://www.openpolicyagent.org/docs/latest/policy-language/), it's important to note that `CUE` and `Rego` are both declarative configuration languages but they have some key differences.
Overall, the choice between CUE and Rego depends on your specific use case.
If you need a general-purpose configuration language with data validation capabilities, CUE might be a better fit.
On the other hand, if your main focus is on defining and enforcing policies, [Rego](https://www.openpolicyagent.org/docs/latest/policy-language/) in combination with Open Policy Agent could be more suitable.
> CUE is still evolving and things are going to change.
This repo will display examples of how CUE can be used in different scenarios.
## Validate
`validate` dir contains the [ArgoCD](https://argo-cd.readthedocs.io/en/stable/) installation manifests in yaml format and the CUE files to validate them.
```bash
git clone https://github.com/J0hn-B/cue_demo.git && cd validate/
``````bash
$ tree
.
|-- argocd.yml # argocd installation
|-- check.cue # CUE Definitions
`-- validate_tool.cue # Logic and the sequence of commands to run the validation.```
To validate the argocd manifests, run the following command:
```bash
cue cmd validate
```Follow the instructions on terminal.