All Projects → google → Kasane

google / Kasane

Licence: apache-2.0
A simple kubernetes deployment manager

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Kasane

django-on-k8s
An end to end tutorial to run a Django Web Application having a PostgreSQL database in Kubernetes
Stars: ✭ 37 (-76.87%)
Mutual labels:  helm, kubernetes-deployment
Charts
JFrog official Helm Charts
Stars: ✭ 148 (-7.5%)
Mutual labels:  helm, kubernetes-deployment
Terraform Kubernetes
Example of deploying a Kubernetes cluster to Google Cloud using Terraform
Stars: ✭ 152 (-5%)
Mutual labels:  helm, kubernetes-deployment
monokle
🧐 Monokle streamlines the process of creating, analyzing, and deploying Kubernetes configurations by providing a unified visual tool for authoring YAML manifests, validating policies, and managing live clusters.
Stars: ✭ 795 (+396.88%)
Mutual labels:  helm, kubernetes-deployment
multitenant-microservices-demo
Full Isolation in Multi-Tenant SaaS with Kubernetes + Istio
Stars: ✭ 57 (-64.37%)
Mutual labels:  helm, kubernetes-deployment
Microbean Helm
A Java API for Helm, the Kubernetes package manager.
Stars: ✭ 99 (-38.12%)
Mutual labels:  helm, kubernetes-deployment
aws-eks-orb
An orb to simplify deployments to Amazon Elastic Container Service for Kubernetes (Amazon EKS)
Stars: ✭ 16 (-90%)
Mutual labels:  helm, kubernetes-deployment
Ops Cli
Ops - cli wrapper for Terraform, Ansible, Helmfile and SSH for cloud automation
Stars: ✭ 152 (-5%)
Mutual labels:  helm, kubernetes-deployment
Beetle
🔥 Kubernetes multi-cluster deployment automation service.
Stars: ✭ 149 (-6.87%)
Mutual labels:  kubernetes-deployment
Fdroidserver
F-Droid server and build tools.
Stars: ✭ 156 (-2.5%)
Mutual labels:  package-manager
Flux Get Started
Flux v1: Getting started with Flux and the Helm Operator
Stars: ✭ 148 (-7.5%)
Mutual labels:  helm
Helm Charts
Helm charts - Apps for Kubernetes
Stars: ✭ 148 (-7.5%)
Mutual labels:  helm
Tbify
使用淘宝镜像运行命令: tbify [nvm|npm|npx|yarn|pnpm|...]
Stars: ✭ 153 (-4.37%)
Mutual labels:  package-manager
Chart Releaser Action
A GitHub Action to turn a GitHub project into a self-hosted Helm chart repo, using helm/chart-releaser CLI tool
Stars: ✭ 146 (-8.75%)
Mutual labels:  helm
Orca
Advanced CI\CD tool for Kubernetes and Helm, Environments as Code
Stars: ✭ 159 (-0.62%)
Mutual labels:  helm
Larakube
Laravel app deployment for auto scaled Kubernetes cluster
Stars: ✭ 157 (-1.87%)
Mutual labels:  helm
Helm Charts
Helm charts for Kubernetes curated by Kiwigrid
Stars: ✭ 151 (-5.62%)
Mutual labels:  helm
Binenv
One binary to rule them all. Manage all those pesky binaries (kubectl, helm, terraform, ...) easily.
Stars: ✭ 148 (-7.5%)
Mutual labels:  helm
Terraform Aws Eks
Terraform module to create an Elastic Kubernetes (EKS) cluster and associated worker instances on AWS
Stars: ✭ 2,464 (+1440%)
Mutual labels:  kubernetes-deployment
Helm Mapkubeapis
This is a Helm plugin which map deprecated or removed Kubernetes APIs in a release to supported APIs
Stars: ✭ 157 (-1.87%)
Mutual labels:  helm

Kasane

Build Status Coverage Status

kasane [ 重ね ] (n.) pile; heap; layers

This is not an official Google product

Kasane is a layering tool for kubernetes. It allows you to use the officially published YAML documents and extend them further with your local configuration.

Kasane can utilise Jsonnet for deep object modification and patching.

Installation

Kasane requires Python 3+. Install via pip:

pip install kasane

Installation via Homebrew:

brew tap google/kasane https://github.com/google/kasane.git
brew install google/kasane/kasane

Running from a Docker container

You can run kasane from a docker container, the official image is gcr.io/kasaneapp/kasane. The image is based on alpine and comes pre-packaged with bash, curl, git and kubectl in addition to kasane itself. The workdir is set to /app and the default command is kasane show so you can quickly examine your local Kasanefiles like this:

$ docker run --rm -ti -v $PWD/examples/03-environment:/app gcr.io/kasaneapp/kasane
config:
  defaultFlag: UNRESOLVED_ENV_VAR__DEFAULT_VALUE
  defaultFromKasanefile: value
  jsonnetEnv: UNRESOLVED_ENV_VAR__OTHER_VALUE
kind: VendoredObject
metadata:
  name: PreconfiguredObject

Tagged builds for versions starting with 0.1.4 are also available as e.g. gcr.io/kasaneapp/kasane:0.1.4.

Examples

  • Simple Layers is an introduction to kasane features.
  • Jsonnet Transformations shows how to use Jsonnet to transform objects.
  • Environment explains how to use the external environment for customized pipelines.
  • Complex Service shows all the features together by using the upstream configuration for kubernetes dashboard, adding an ingress, and optionally enabling istio sidecar.

Similar tools

Helm

Helm is fully-featured package management solution for kubernetes. Compared to it, kasane is a swiss army knife. It's simple, lightweight, doesn't install helper code into your production. Kasane allows you to use original YAML files written by application authors, modifying them to your local needs. If you see a kubectl apply -f http:// example you can turn it into a Kasane deployment with a single line of code and then extend it to your needs.

Kasane doesn't do any templating, relying on Jsonnet for data manipulation. You won't ever need to count number of spaces to make sure your yaml go template is rendered correctly.

Ksonnet

Kasane is similar to Ksonnet but is much simpler to use. Kasane allows to re-use original YAML files and minimizes amount of custom Jsonnet code you need to write. Most of the time your Kasane project would consist of a Kasanefile and single yaml or jsonnet file. Still, Kasane allows runtime flexibility with conditional layers and custom environment.

License

Kasane is distributed under Apache-2 license. See the contributing guidelines on how you can contribute to the project.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].