Skip to content

Commit

Permalink
readme
Browse files Browse the repository at this point in the history
  • Loading branch information
rusenask committed Jul 4, 2017
1 parent 042433b commit 3311300
Showing 1 changed file with 51 additions and 3 deletions.
54 changes: 51 additions & 3 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ Lightweight (uses ~10MB RAM when running) [Kubernetes](https://kubernetes.io/) s

* Google's pubsub integration with [Google Container Registry](https://cloud.google.com/container-registry/)
* [DockerHub Webhooks](https://docs.docker.com/docker-hub/webhooks/)
* Webhooks
* [Webhooks](https://github.com/rusenask/keel#webhook)
* [Polling](https://github.com/rusenask/keel#polling) (watch specific tag and update on SHA digest change)

## Keel overview

Expand Down Expand Up @@ -40,7 +41,7 @@ metadata:
namespace: default
labels:
name: "wd"
keel.sh/policy: all
keel.sh/sh: all
spec:
replicas: 1
template:
Expand Down Expand Up @@ -73,6 +74,7 @@ Available policy options:
* __major__ - update major versions
* __minor__ - update only minor versions (ignores major)
* __patch__ - update only patch versions (ignores minor and major versions)
* __force__ - force update even if tag is not semver, ie: `latest`

## Deployment and triggers

Expand All @@ -88,7 +90,7 @@ gcloud container node-pools create new-pool --cluster CLUSTER_NAME --scopes http

Make sure that in the Keel's deployment.yml you have set environment variables __PUBSUB=1__ and __PROJECT_ID=your-project-id__.

#### Webhook integration
#### Webhooks

Keel supports two types of webhooks:

Expand All @@ -104,11 +106,57 @@ If you don't want to expose your Keel service - I would recommend using [https:/
Since only the owners of docker registries can control webhooks - it's sometimes convenient to use
polling. Be aware that registries can be rate limited so it's a good practice to set up reasonable polling intervals.

Add label:
```
keel.sh/trigger=poll
```

To specify custom polling schedule, use annotations:
```
keel.sh/pollSchedule=@every 1m
```

Example deployment file for polling:

```
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: wd
namespace: default
labels:
name: "wd"
keel.sh/policy: force
keel.sh/trigger: poll
annotations:
keel.sh/pollSchedule: "@every 10m"
spec:
replicas: 1
template:
metadata:
name: wd
labels:
app: wd
spec:
containers:
- image: karolisr/webhook-demo
imagePullPolicy: Always
name: wd
command: ["/bin/webhook-demo"]
ports:
- containerPort: 8090
livenessProbe:
httpGet:
path: /healthz
port: 8090
initialDelaySeconds: 30
timeoutSeconds: 10
securityContext:
privileged: true
```

Authenticated Registries

__comming soon__
Expand Down

0 comments on commit 3311300

Please sign in to comment.