github-desktop
kubectl-neat-diff
github-desktop | kubectl-neat-diff | |
---|---|---|
1 | 1 | |
1 | 107 | |
- | - | |
0.0 | 10.0 | |
6 months ago | over 1 year ago | |
TypeScript | Go | |
MIT License | 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.
github-desktop
-
Jsonnet – The Data Templating Language
Yes that's a common problem with config languages. They're torn between competing priorities:
1. Fast to parse with a small engine, good error messages, safe to evaluate.
2. Powerful, can express config with arbitrary logic.
In Conveyor we try an alternative approach. The config is HOCON, which is a superset of JSON syntax designed for human readability/writability/convenience first and foremost, so it's got a very nice and clean feel to it. You can see an example here:
https://github.com/hydraulic-software/github-desktop/blob/co...
It can be parsed with a normal-sized config library and the errors you get are reasonable.
But then what if you hit the limits of what it can express? We added support for "hashbang includes":
include "#!script.js"
kubectl-neat-diff
-
Jsonnet – The Data Templating Language
Original creator of both of those here. I recommend just generating things out straight with the `jsonnet -m` command, and then doing `kubectl diff` on a PR and apply on merge. Scaled huge amount of infra this way and it’s easily understandable and extensible.
To clean up the diff a bit I recommend using: https://github.com/sh0rez/kubectl-neat-diff
Hope it’s helpful!
What are some alternatives?
rules_jsonnet - Jsonnet rules for Bazel
kubecfg - A tool for managing complex enterprise Kubernetes environments as code.
ursonnet - experimental ur-cause tracer for jsonnet
sprig - Useful template functions for Go templates.
hof - Framework that joins data models, schemas, code generation, and a task engine. Language and technology agnostic.
isopod - An expressive DSL and framework for Kubernetes configuration without YAML
cue - The home of the CUE language! Validate and define text-based and dynamic configuration
nix - Nix, the purely functional package manager