cnab-spec
kapp-controller
Our great sponsors
cnab-spec | kapp-controller | |
---|---|---|
8 | 5 | |
939 | 254 | |
1.0% | 3.5% | |
0.0 | 8.7 | |
over 1 year ago | 10 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
kapp-controller
-
Helm is both "package manager" and "templating engine" - probably the best package manager but horrible template engine
We use kapp-controller when applying our charts (it uses helm template instead of helm install) so we can be very rigorous about what fields are changeable (like through pod autoscaling) and what are not (securitycontext, etc.)
-
How to handle the lifecycle of multiple COTS
Even further, you could describe your "fetch", "template", and "deploy" stages in akapp-controller AppCR and then you'd have a controller (like an operator) running the cluster continuously reconciling your private cloud to ensure that it's always reconverging to the desired state. This is basically what's underpinning a number of VMWare's commercial (and OSS) Tanzu offerings, as well as some other organization's internal platforms, or "self hosted private clouds"
-
ArgoCD vs. crossplane-helm provider for managing helm releases?
Full disclosure: I work on https://carvel.dev/kapp-controller/ which can also continuously reconcile helm charts (via our own CRD ).
-
Deployment Packaging Solutions
kapp-controller
-
Deploy Neo4J's APOC plugin with code thanks to CARVEL vendir
kapp-controller - Capture application deployment workflow in App CRD. Reliable GitOps experience powered by kapp.
What are some alternatives?
helm-charts - Komodor.io public helm charts
kapp - kapp is a simple deployment tool focused on the concept of "Kubernetes application" — a set of resources with the same label
kubevela - The Modern Application Platform.
vendir - Easy way to vendor portions of git repos, github releases, helm charts, docker image contents, etc. declaratively
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.
imgpkg - Store application configuration files in Docker/OCI registries
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.
ytt - YAML templating tool that works on YAML structure instead of text
kpt - Automate Kubernetes Configuration Editing
asdf - k14s asdf plugin
kcp - Kubernetes-like control planes for form-factors and use-cases beyond Kubernetes and container workloads.
gravity - Kubernetes application deployments for restricted, regulated or remote environments.