Heptio is marking a year in business with the release of what it’s calling a “new chapter” for ksonnet, its tool for storing and generating application configurations for Kubernetes deployments.
Ksonnet uses a jsonnet, Heptio’s custom language for manipulating and producing JSON documents to generate Kubernetes manifests or YAML, which aren’t human-readable.
“Our first efforts with ksonnet were focused around creating patterns to help organize the configuration across many applications for large deployments of Kubernetes,” Heptio co-founder Joe Beda wrote in a blog post. “While Jsonnet/ksonnet work well in those situations, the language and concepts can be intimidating for new and casual users. We are fixing that today.”
The project’s readme on GitHub breaks down its function in five ways.
- Reuse common manifest patterns (within your app or from external libraries)
- Customize manifests directly with powerful object concatenation syntax
- Deploy app manifests to multiple environments
- Diff across environments to compare two running versions of your app
- Track the entire state of your app configuration in version controllable files
The project’s authors at Heptio say that there’s catch-all solution for reproducing the configurations from one environment in another, but Beda writes that “we hope that ksonnet will be a good solution for many people.” He highlights Bitnami’s “less opinionated” solution, kubecfg, as something that’s helped inform Heptio’s development.
Next up for ksonnet is the ability to write Helm charts for the Helm 3 Kubernetes package manager.
Read more about the update to ksonnet and watch a video demonstration in the announcement.
Top 5 trending projects on GitHub this week:
#1. parcel: Blazing fast, zero configuration web application bundler
#2. muuri: Responsive, sortable, filterable and draggable grid layouts
#3. rfcs: RFCs for changes to React
#4. NullAway: A tool to help eliminate NullPointerExceptions (NPEs) in your Java code with low build-time overhead
#5. react-native-typography: Pixel–perfect, native–looking typographic styles for React Native