<a href="https://keel.sh" target="_blank"><img width="100"src="https://keel.sh/images/logo.png"></a>
<img src="https://circleci.com/gh/keel-hq/keel/tree/master.svg?style=shield&circle-token=0239846a42cfa188de531058b9a2116a4b8600d8" alt="CircleCI">
<img src="https://goreportcard.com/badge/github.com/keel-hq/keel" alt="Go Report">
<img src="https://img.shields.io/docker/pulls/karolisr/keel.svg" alt="Docker Pulls">
Keel - automated Kubernetes deployments for the rest of us
Keel is a tool for automating Kubernetes deployment updates. Keel is stateless, robust and lightweight.
Keel provides several key features:
No CLI/API - tired of
f***ctlfor everything? Keel doesn't have one. Gets job done through labels, annotations, charts.
Semver policies - specify update policy for each deployment/Helm release individually.
Automatic Google Container Registry configuration - Keel automatically sets up topic and subscriptions for your deployment images by periodically scanning your environment.
Native, DockerHub, Quay and Azure container registry webhooks support - once webhook is received impacted deployments will be identified and updated.
Polling - when webhooks and pubsub aren't available - Keel can still be useful by checking Docker Registry for new tags (if current tag is semver) or same tag SHA digest change (ie:
Notifications - out of the box Keel has Slack, Hipchat, Mattermost and standard webhook notifications, more info here
<a href="https://keel.sh" target="_blank"><img width="700"src="https://keel.sh/images/keel-overview.png"></a>
Support Keel's development by:
<a href="https://keel.sh" target="_blank"><img width="700"src="https://keel.sh/images/keel-workflow.png"></a>
A step-by-step guide to install Keel on your Kubernetes cluster is viewable on the Keel website:
Once Keel is deployed, you only need to specify update policy on your deployment file or Helm chart:
<a href="https://keel.sh/v1/guide/" target="_blank"><img width="700"src="https://keel.sh/images/keel-minimal-configuration.png"></a>
No additional configuration is required. Enabling continuous delivery for your workloads has never been this easy!
Documentation is viewable on the Keel Website:
Before starting to work on some big or medium features - raise an issue here so we can coordinate our efforts.
If you wish to work on Keel itself, you will need Go 1.9+ installed. Make sure you put Keel into correct Gopath and
go build (dependency management is done through dep).
To test Keel while developing:
- Launch a Kubernetes cluster like Minikube or Docker for Mac with Kubernetes.
- Change config to use it:
kubectl config use-context docker-for-desktop
- Build Keel from
- Start Keel with:
keel --no-incluster. This will use Kubeconfig from your home.