yaml-rust
ytt
Our great sponsors
yaml-rust | ytt | |
---|---|---|
4 | 14 | |
590 | 1,570 | |
- | 2.4% | |
0.0 | 6.4 | |
4 days ago | 16 days ago | |
Rust | Go | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
yaml-rust
-
Project idea: port markdownlint to Rust
Either https://github.com/chyh1990/yaml-rust or https://github.com/dtolnay/serde-yaml for parsing the YAML config file that markdownlint uses
-
How to deal with unmaintained crates? (eg. yaml-rust)
The first thing I did was to find the crate yaml-rust and it seems it isn't really maintained anymore. It has not been updated in a year and there's a lot of PR's and unresolved issues, the CI is broken... So here is my open ended question.
-
YAML and Configuration Files
Currently, my main concern with YAML is that, by the spec, comments are not attached to a particular node (see https://yaml.org/spec/1.2/spec.html#id2767100). As a result, a lot of YAML parsers (like https://github.com/yaml/libyaml and https://github.com/chyh1990/yaml-rust) only filter out the comments during the parsing phase. This makes it less than ideal for a use-case where the configuration file is expected to be modified by both programs and humans.
TOML makes it more trivial to associate comments with a node. This is mainly because the language is simpler though, as the spec is not explicit about that (https://github.com/chyh1990/yaml-rust).
ytt
-
10 Ways for Kubernetes Declarative Configuration Management
YTT - YTT is a templating tool that understands YAML structure. It helps you easily configure complex software via reusable templates and user provided values using the Starlark language.
-
Alternatives to Helm/Kustomize for complex Kubernetes Deployments
Adding https://carvel.dev/ytt/ to the list. I was happy using this tool as IMO it mixes good things from Helm and Kustomize, however the syntax is ugly and repelling my colleagues to have a closer look.
-
The YAML Document from Hell
> Templating yaml is a terrible, terrible idea
I've had a good time using ytt: https://carvel.dev/ytt/. It implements language-aware templating, which is IMO the only reasonable way to do it.
-
Creating Kubernetes Templates
`ytt` is part of the Carvel toolchain. https://carvel.dev/ytt/
-
Dealing with YAML overload
I agree with you on `you will want to see just plain texts instead of a bunch of templating token with hidden logic.` Which is why I think https://carvel.dev/ytt/ would be great. We could generate these templates in pipelines, or we could just make it easier to maintain what we have.
-
How to handle the lifecycle of multiple COTS
For more advanced configuration management you might be interested in ytt ( https://carvel.dev/ytt/ ) which is a "yaml-aware" templating tool. it lets you do "patches" via an overlay mechanism to add or remove specific yaml blocks, and it also lets you use a simplified python dialect for more complicated logic. With ytt you would put your DNS IP into a "data values" file and then run ytt to render it into the configs before handing them off to the deployment tool. e.g. `ytt -f | kubectl apply`
-
The Dhall Configuration Language
https://carvel.dev/ytt/
ytt lets you embed logic via a python-subset (starlark) and also provides "overlays" as a "replace/insert" mechanism. and all valid ytt files are valid yaml files, so they can be passed-through other yaml parsing stages.
I said this above as well: ytt (https://carvel.dev/ytt/) lets you embed starlark into valid yaml, among other cute tricks for managing biz-logic in configs.
-
YAML and Configuration Files
This is why you should consider https://carvel.dev/ytt/
-
Would a visual drag and drop builder for K8s clusters be useful to people here?
There's a reason that other tooling is taking different approaches. Visual workflows help for understanding existing manifests - but they'd be horrible for creating/modifying new ones.
What are some alternatives?
serde-yaml - Strongly typed YAML library for Rust
kustomize - Customization of kubernetes YAML configurations
serde - Serialization framework for Rust
cue - CUE has moved to https://github.com/cue-lang/cue
tanka - Flexible, reusable and concise configuration for Kubernetes
strictyaml - Type-safe YAML parser and validator.
hull - The incredible HULL - Helm Uniform Layer Library - is a Helm library chart to improve Helm chart based workflows
libyaml-rust - LibYAML bindings for Rust
kapp-controller - Continuous delivery and package management for Kubernetes.
json5 - JSON5 — JSON for Humans