Public Repository

Last pushed: 9 days ago
Short Description
Short description is empty for this repo.
Full Description

<p align="center">
<a href="" target="_blank"><img width="100"src=""></a>

<p align="center">

<a href="">
<img src="" alt="CircleCI">

<a href="">
<img src="" alt="Go Report">

<a href="">
<img src="" 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:

  • Kubernetes and Helm providers - Keel has direct integrations with Kubernetes and Helm.

  • No CLI/API - tired of f***ctl for 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: latest).

  • Notifications - out of the box Keel has Slack, Hipchat, Mattermost and standard webhook notifications, more info here

<p align="center">
<a href="" target="_blank"><img width="700"src=""></a>


Support Keel's development by:

Lightning quick start


Clone this repo (you will need the chart):

git clone && cd keel

Install through Helm (with Helm provider enabled):

helm upgrade --install keel --namespace=kube-system ./chart/keel/ --set helmProvider.enabled="true" --set rbac.enabled="true"

If you work mostly with regular Kubernetes manifests, you can install Keel without Helm provider support:

helm upgrade --install keel --namespace=keel ./chart/keel/ --set helmProvider.enabled="false" --set rbac.enabled="true"

That's it, see Configuration section now.

Quick Start

<p align="center">
<a href="" target="_blank"><img width="700"src=""></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:

<p align="center">
<a href="" target="_blank"><img width="700"src=""></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.

Developing Keel

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:

  1. Launch a Kubernetes cluster like Minikube or Docker for Mac with Kubernetes.
  2. Change config to use it: kubectl config use-context docker-for-desktop
  3. Build Keel from cmd/keel directory.
  4. Start Keel with: keel --no-incluster. This will use Kubeconfig from your home.
Docker Pull Command