Skip to content
/ keel Public

Kubernetes Operator to automate Helm, DaemonSet, StatefulSet & Deployment updates

License

Notifications You must be signed in to change notification settings

keel-hq/keel

Folders and files

NameName
Last commit message
Last commit date
Mar 3, 2018
Mar 31, 2018
Apr 20, 2018
Nov 1, 2017
Mar 31, 2018
Apr 17, 2018
Feb 25, 2018
Apr 18, 2018
Mar 3, 2018
Mar 31, 2018
Apr 24, 2018
Apr 24, 2018
Apr 1, 2018
Apr 17, 2018
Jul 9, 2017
Apr 18, 2018
Apr 20, 2018
Apr 20, 2018
Apr 17, 2018
Nov 1, 2017
Feb 25, 2018
Mar 4, 2018
Aug 4, 2017
Apr 17, 2018
Mar 9, 2018
Jun 11, 2017
Mar 9, 2018
Apr 18, 2018

Repository files navigation

CircleCI Go Report 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

Support

Support Keel's development by:

Quick Start

A step-by-step guide to install Keel on your Kubernetes cluster is viewable on the Keel website:

https://keel.sh/v1/guide/quick-start.html

Configuration

Once Keel is deployed, you only need to specify update policy on your deployment file or Helm chart:

No additional configuration is required. Enabling continuous delivery for your workloads has never been this easy!

Documentation

Documentation is viewable on the Keel Website:

https://keel.sh/v1/guide/documentation

Contributing

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.