adeploy
cdk8s
Our great sponsors
adeploy | cdk8s | |
---|---|---|
2 | 48 | |
12 | 4,115 | |
- | 2.3% | |
7.6 | 9.7 | |
about 2 months ago | 7 days ago | |
Python | JavaScript | |
BSD 3-clause "New" or "Revised" 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.
adeploy
-
Helm is both "package manager" and "templating engine" - probably the best package manager but horrible template engine
We created adeploy, which is using Jinja Templating to render Manifests out of a set of template files and variables. We added some functions i.e. to set versions, create labels, include files or to handle secret creation using gopass and support to run in CI/CD without re-creating secrets. Source + (some) docs: https://github.com/awesome-it/adeploy
-
HELM vs KUSTOMIZE
We wrote adeploy which brings Jinja templating for both vanilla manifests and Helm Charts which includes a bench of useful Jinja templating functions i.e. for labeling, secret management etc... The tool supports multiple deployments at different namespaces/releases with different Jinja variables and also includes support to deploy secrets directly from GoPass. It can also be used in CI/CD while secrets are not re-deployed when running via CI/CD. The tool still lacks of some detailed docs and a public pip repo, but this is wip.
cdk8s
-
K8s Service Meshes: The Bill Comes Due
Any, it doesn’t matter which as long as you don’t have to count spaces in yaml by hand.
If you really want a concrete recommendation try https://cdk8s.io/.
- Why the fuck are we templating YAML? (2019)
- Cdk8s: Kubernetes native apps and abstractions using object-oriented programming
-
10 Ways for Kubernetes Declarative Configuration Management
CDK8s - CDK8s is used to define Kubernetes resources and applications. CDK8s uses the high-level abstraction concept called constructs to represent various Kubernetes resources such as deployments, services, and configurations. Developers can write code in programming languages like TypeScript, Python, and Java, and CDK8s will translate this code into standard Kubernetes YAML manifests that can be directly applied to a Kubernetes cluster.
-
I built a React renderer for Kubernetes configurations
Have you looked into https://cdk8s.io/? I've been using it for a while now, and I must admit TypeSript does help a lot. Not really sold on your React syntax yet, but well done nevertheless
-
How are most EKS clusters deployed?
I, personally, prefer to wrap it in CDKTF/CDK8S in golang and manage with Crossplane Composition Functions, but your mileage may vary. I'm finding way too bugs in CDK's... but it calms me a bit, that Amazon folks actually looking into it.
-
Editing Badly formatted yaml file
Have you looked into cdk8s? That will let you get away from dealing with yaml and let you use code instead. Helm included.
-
kpt, cue, ... Your experiences?
My favorite is cdk8s + typescript.
- Cloud Development Kit for Kubernetes
-
Dump Kustomize with 20 lines of TypeScript
What about https://cdk8s.io/?
What are some alternatives?
terraform-provider-docker - Terraform Docker provider
helmfile - Deploy Kubernetes Helm Charts
devspace-demo - A demo trialing the basic operation of Devspace
Pulumi - Pulumi - Infrastructure as Code in any programming language. Build infrastructure intuitively on any cloud using familiar languages 🚀
terraform-cdk - Define infrastructure resources using programming constructs and provision them using HashiCorp Terraform
aws-cdk - The AWS Cloud Development Kit is a framework for defining cloud infrastructure in code
jsonnet - Jsonnet - The data templating language
kubernetes-the-hard-way - Bootstrap Kubernetes the hard way. No scripts.
external-dns - Configure external DNS servers (AWS Route53, Google CloudDNS and others) for Kubernetes Ingresses and Services
kubeapps - A web-based UI for deploying and managing applications in Kubernetes clusters
k3s - Lightweight Kubernetes