Go to file
Adrien Delorme bfbc9d9509 use image.Parse(repo.String()) in checkVersionedDeployment
* this would cause a difference in tests
2018-06-05 11:26:15 +02:00
.circleci go updated 2018-03-03 23:28:42 +00:00
approvals update 2018-03-31 14:25:02 +01:00
bot checking private channels (groups) for approval channel 2018-06-03 12:20:52 +01:00
cache updated repo 2017-11-01 18:25:28 +00:00
chart/keel Update default version to 0.9.0. Bump chart version 2018-05-29 11:31:14 +02:00
cmd/keel using cred helper from watcher 2018-04-28 22:01:44 +01:00
constants keel logo url 2018-02-25 18:58:41 +00:00
deployment Add tiller address to example deployment 2018-04-18 17:57:53 +05:30
extension checking token during init 2018-04-29 22:00:31 +01:00
hack commiting merge 2018-03-31 14:25:55 +01:00
internal checking private channels (groups) for approval channel 2018-06-03 12:20:52 +01:00
provider use image.Parse(repo.String()) in checkVersionedDeployment 2018-06-05 11:26:15 +02:00
registry using registry constructors 2018-04-01 10:45:07 +01:00
secrets using generic resource instead of deployment 2018-04-17 08:53:43 +01:00
static readme updated, sample updated 2017-07-09 21:33:52 +01:00
trigger missing a logf 2018-06-05 10:37:48 +02:00
types test updates, cleanup 2018-04-20 18:58:01 +01:00
util test updates 2018-04-20 19:23:25 +01:00
vendor vendor updates 2018-04-27 08:10:21 +01:00
version updated repo 2017-11-01 18:25:28 +00:00
.gitignore ignore update 2018-02-25 19:17:21 +00:00
Dockerfile testing deps, go version bumped 2018-03-04 12:15:58 +00:00
Dockerfile.debian Add debian make target for local testing 2018-05-29 00:17:08 +08:00
Dockerfile.local vendor updated 2017-08-04 22:15:11 +01:00
Gopkg.lock dep 2018-04-27 08:10:30 +01:00
Gopkg.toml bumping registry and adding test for quay 2018-03-09 11:41:28 +00:00
LICENSE license, readme 2017-06-11 23:44:13 +01:00
Makefile Add debian make target for local testing 2018-05-29 00:17:08 +08:00
readme.md Adding azure webhook to readme 2018-04-18 21:36:26 +03:00

readme.md

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.