Name: krud
Owner: CoreOS
Description: kubernetes rolling update webhook server
Created: 2015-08-25 18:40:12.0
Updated: 2017-09-06 23:56:37.0
Pushed: 2018-01-04 20:28:41.0
Homepage: https://quay.io/repository/coreos/krud
Size: 961
Language: Go
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
krud is a kubernetes rolling-update service for use with docker registry webhook pushes.
For example, when you push a new image to Quay.io, you can configure a HTTP POST webhook.
When krud gets the webhook, it does a rolling update of a kubernetes replication controller (almost identical to kubectl rolling-update
).
krud can run in a separate kubernetes service along side your other services.
WARNING: krud is an early product. It has no authentication, can easily be DDoS'd, and is not widely tested. It is open source so we can improve it and remove this message in the future.
Configure the webhook to connect to /push
at the address it's running, for example: http://krud.company.com/push
.
A bad UI exists at /
showing status of past update attempts.
The following environment variables are used to configure krud:
Required:
KRUD_CONTROLLER_NAME
: name of the replication controller to updateOptional:
KRUD_DEPLOYMENT_KEY
: key to use to differentiate between two different controllers; defaults to deployment
KRUD_K8S_ENDPOINT
: kubernetes endpoint; defaults to http://localhost:8080
KRUD_LISTEN
: listen address; defaults to :9500
KRUD_NAMESPACE
: namespace of the replication controller; defaults to the kubernetes defaultThese options can also be specified on the command line. See krud -help
for usage.
There are example rc.yaml
and svc.yaml
files.
The only required change is setting the KRUD_CONTROLLER_NAME
environment variable in rc.yaml
.