Skip to content
/ kale Public

Package manager, deployment and operation automation for kubernetes powered by Starlark

License

Notifications You must be signed in to change notification settings

trevex/kale

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kale

Kale is a scripting tool using Starlark to build, package, deploy and operate applications running on kubernetes.

Features

  • Literally not much as of yet

Why?

Kale was created from the urge to re-iterate on deployment practices experienced at work. It started with a variety of helm charts ranging from nginx-ingress to prometheus and the inability to use tiller, because of a strict security concept caused by regulatory requirments. The initial deployment process was implemented in bash, which was invoking helm template and the likes to first generate the manifests and then apply them. A lot of the charts were also customized with patches in the process.

Wouldn't it be great to have a scripting system were kubernetes and its ecosystem are first-class citizens?

The ecosystem is also something at work people would constantly fight about. Some teams prefered ksonnet, others helm and another team something new and fancy.

Why choose? Rather combine and use whatever makes sense.

If we have a scripting tool stitching everything together, there is another thought that crossed my mind. Even though a lot of companies practice DevOps, the artifacts deployed (e.g. helm charts) usually do not bundle operational knowledge. But if we can script kubernetes workflows:

Why limit it to deployments? We can automate every process around the application.

Good examples for this are etcd and cockroachdb, which can scale up automatically, but not down! Another simple example is triggering backups for databases.

The last and final realization came once I drafted, what is necessary to automate this and that process. Which lead me to my final conclusion:

I guess we need a plugin system...

Linters, integration tests et cetera not everything is coverable by Kale, but hopefully plugins can help alleviate that.

FAQ

Where does the name come from?

In the beginning this tool was called Kompass, but a coworker one evening proposed the name "kale", because he argued kale is ale with a k for kubernetes, which reminds him of brew. While this tool has nothing to do with brew, the name was unique and short and there was nothing in existence using this name.

About

Package manager, deployment and operation automation for kubernetes powered by Starlark

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages