Installation

Deploying with kubectl

Keel can run anywhere and will do its job as long as it can connect to your Kubernetes environment. Since you have (or plan to have) Kubernetes environment, this guide will show you how to deploy Keel inside your Kubernetes cluster.

Prerequisites

We assume that your kubectl can access Kubernetes environment. If you have multiple environments, you should use kubectl config use-context [your cluster] command.

Configuration sample files are available in Keel repository on GitHub here and here.

Installing

You can find sample deployments in https://github.com/keel-hq/keel repository under deployments directory. You can either clonewhole repository or just download that file. Edit settings (depending on your environment whether you want to use Google Container Registry PUBSUB) or notifications and create it. All configuration is done through environment variables.

Setting up Helm release to be automatically updated by Keel

Add the following to your app’s values.yaml file and do helm upgrade ...:

keel:# keel policy (all/major/minor/patch/force) policy:all# trigger type, defaults to events such as pubsub, webhooks trigger:poll# polling schedule pollSchedule:"@every 3m"# images to track and update images: - repository:image.repository# it must be the same names as your app's values tag:image.tag# it must be the same names as your app's values

The same can be applied with --set flag without using values.yaml file: