cnab-spec
tanka
Our great sponsors
cnab-spec | tanka | |
---|---|---|
8 | 25 | |
939 | 2,236 | |
1.0% | 3.3% | |
0.0 | 8.3 | |
over 1 year ago | 7 days ago | |
Shell | Go | |
GNU General Public License v3.0 or later | 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.
cnab-spec
-
No docker options
CNAB
-
Kubernetes Application Archive !! Bundle up a Kubernetes application π¦ into a single static OCI compliant archive.
Similar to https://cnab.io/ then?
-
Stronger abstraction for deployments
IMO Cloud native application bundle is what you are looking for: https://cnab.io/
-
Deployment Packaging Solutions
have you looked at CNAB ? since it uses standard OCI compliance you can have your entire application bundle on Azure registry (azure registry is OCI 2 compliant registry) and you can get more information about how to do it using ORAS cli
- Tools to Run Kubernetes Locally
-
k8s based platform
Check https://cnab.io/ and https://porter.sh/
-
Terraform 1.0 Release
I'm closely tracking an effort by Microsoft that aims to do a lot of what you're describing since I find myself bridging between these tools and deploying stacks that span tools and roles. [CNAB](https://cnab.io/) and the front-running implementation, [Porter](https://porter.sh/), enable one-step infra deployments, packaged as a single OCI-compatible container, with any number of steps, using the best tools for each of those steps. Think of using aws-cli for some initialization step (create or verify presence of a state bucket), applying some terraform to create infra, and finishing with a helm chart to complete deployment of app components. Each stage in a bundle packages not only the code to run it but also the execution binary of the tool that runs it. The spec and porter are still a moving target but it's a promising space and a nice adjacent evolution of the current state of tooling.
- Cloud Native Application Bundles Security (CNAB-SEC) 1.0.0 GA 2020
tanka
-
Why the fuck are we templating YAML? (2019)
I would recommend implementing a similar API to Grafana Tanka: https://tanka.dev
When you "synthesise", the returned value should be an array or an object.
1. If it's an object, check if it has an `apiVersion` and `kind` key. If it does, yield that as a kubernetes object and do not recurse.
-
What Is Wrong with TOML?
Maybe you'd like jsonnet: https://jsonnet.org/
I find it particularly useful for configurations that often have repeated boilerplate, like ansible playbooks or deploying a bunch of "similar-but" services to kubernetes (with https://tanka.dev).
Dhall is also quite interesting, with some tradeoffs: https://dhall-lang.org/
A few years ago I did a small comparison by re-implementing one of my simpler ansible playbooks: https://github.com/retzkek/ansible-dhall-jsonnet
-
Show HN: Keep β GitHub Actions for your monitoring tools
- validation is often impractical (at least identifying exactly where the error isβ¦ Iβm looking at you Helm!)
Unrelated to OP, but you can leverage Tanka to extend helm charts with functionality not provided by upstream.
https://tanka.dev/
-
Alternatives to Helm?
Although jsonette might be considered more complex Tanka is a great alternative for k8s config management.
- Helm makes it overly complex, or is it just me?
-
The YAML Document from Hell
At Grafana Labs we're using jsonnet at scale, while being a powerful functional language it is also excellent for rendering JSON/YAML config. We have developed Tanka[0] to work with Kubernetes, for other purposes I can recommend this course[1] (authored by me).
[0] https://tanka.dev/
[1] https://jsonnet-libs.github.io/jsonnet-training-course/
-
Should i migrate from Kustomize to Helm?
If you're hitting the limits of Kustomize, maybe look at Tanka as well.
-
Is it possible to wrap Kustomize yaml with jinja2?
Yes, try Tanka.
-
Using Docker β Compose in Development and Production
yes. basically. and this is a path that multiple people are trying to solve. e.g. AWS CDK8s, https://tanka.dev/, etc
Compose would be awesome.
-
Google Kubernetes clusters config checker tool
http://tanka.dev
(Note I work for Grafana Labs who fund Tanka and use it for all production config)
What are some alternatives?
kapp-controller - Continuous delivery and package management for Kubernetes.
helm-charts - Prometheus community Helm charts
helm-charts - Komodor.io public helm charts
kustomize - Customization of kubernetes YAML configurations
kubevela - The Modern Application Platform.
kapitan - Generic templated configuration management for Kubernetes, Terraform and other things
porter - Porter enables you to package your application artifact, client tools, configuration and deployment logic together as an installer that you can distribute, and install with a single command.
ytt - YAML templating tool that works on YAML structure instead of text
terraform - Terraform enables you to safely and predictably create, change, and improve infrastructure. It is a source-available tool that codifies APIs into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned.
kpt - Automate Kubernetes Configuration Editing
Pulumi - Pulumi - Infrastructure as Code in any programming language. Build infrastructure intuitively on any cloud using familiar languages π