Go to file
Karolis 2a210558db
Merge pull request #320 from keel-hq/feature/296_issue
Feature/296 issue
2018-12-01 22:34:33 +00:00
.circleci Update config.yml 2018-11-23 14:28:42 +00:00
.pipeline GCP cloud build integration and chart lint and install test 2018-11-23 12:54:57 +00:00
.scripts perms 2018-11-23 14:43:51 +00:00
.test add tiller readiness check 2018-11-23 13:53:53 +00:00
approvals changing to uint32 to help rpi build 2018-10-12 21:31:31 +01:00
bot tests updated 2018-10-07 14:17:22 +01:00
cache cleanup 2018-11-28 23:13:55 +00:00
chart/keel Improving helm chart to allow for service serviceAnnotations: 2018-11-29 01:19:41 +00:00
cmd/keel FIX: docker registry notifications bulk events can include different type events 2018-11-07 22:52:37 +00:00
constants keel logo url 2018-02-25 18:58:41 +00:00
deployment disable pubsub by default 2018-11-11 14:07:08 +00:00
extension Use http.DefaultTransport to support HTTP proxies 2018-11-22 11:31:48 +01:00
hack bump to 0.12.0 2018-10-23 19:12:39 +01:00
internal test for number only issue 2018-12-01 22:17:47 +00:00
provider tests updated 2018-12-01 22:23:36 +00:00
registry reg name updated 2018-11-24 23:42:23 +00:00
secrets secret test updated 2018-11-24 23:31:36 +00:00
static readme updated, sample updated 2017-07-09 21:33:52 +01:00
tests adding debug for tests 2018-12-01 22:18:15 +00:00
trigger tests updated 2018-11-30 22:45:44 +00:00
types adding policy to the tracked image to help with polling 2018-11-30 22:47:54 +00:00
util adding policy to the tracked image to help with polling 2018-11-30 22:47:54 +00:00
vendor deps updated 2018-11-14 22:27:49 +00:00
version updated repo 2017-11-01 18:25:28 +00:00
.gitignore ignore update 2018-02-25 19:17:21 +00:00
Dockerfile updated go image 2018-06-17 22:19:44 +01:00
Dockerfile.aarch64 Dockerfiles for arm 2018-10-14 14:00:55 +01:00
Dockerfile.armhf Dockerfiles for arm 2018-10-14 14:00:55 +01: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 deps updated 2018-11-14 22:27:49 +00:00
Gopkg.toml adding go-glob to vendor 2018-09-02 16:33:11 +01:00
LICENSE license, readme 2017-06-11 23:44:13 +01:00
Makefile skip e2e on circle 2018-11-14 22:47:29 +00:00
readme.md update readmes with new keel helm repo 2018-11-23 15:17:36 +00: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:

Lightning quick start

Prerequisites:

You need to add this Chart repo to Helm:

helm repo add keel-charts https://charts.keel.sh 
helm repo update

Install through Helm (with Helm provider enabled by default):

helm upgrade --install keel --namespace=kube-system keel-charts/keel

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

helm upgrade --install keel --namespace=keel keel-charts/keel --set helmProvider.enabled="false" 

That's it, see Configuration section now.

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.

Running unit tests

To run unit tests:

make test

Running e2e tests

Prerequisites:

  • configured kubectl + kubeconfig
  • a running cluster (test suite will create testing namespaces and delete them after tests)
  • Go environment (will compile Keel before running)

Once prerequisites are ready:

make e2e