versionstore-operator 0.1.1

A k8s operator that updates deployment pod versions based on an external key-value store
<!-- omit in TOC -->

# versionstore-operator

> **A k8s operator that updates deployment pod versions based on an external
> key-value store**

[![Crates.io](https://img.shields.io/crates/v/versionstore-operator?style=flat-square)](https://crates.io/crates/versionstore-operator)
[![License](https://img.shields.io/badge/license-Apache%202.0-blue?style=flat-square)](https://github.com/farcaller/versionstore-operator/blob/master/LICENSE)

1. [About]#about

## About

versionstore-operator observes the changes in an external key-value store and
updates the k8s Deployment image tags. This allows one to e.g. decouple CI from
the k8s cluster, as the CI can update the tag in the version store and the
operator will then update the deployments within the cluster. 

## Usage

```shell
$ versionstore-operator --gcp-project ${PROJECT} --gcp-gcs-bucket ${BUCKET} --gcp-pubsub-topic ${TOPIC} --gcp-pubsub-subscription ${TOPIC_SUBSCRIPTION}
```

- **PROJECT**: GCP project that contains the GCS bucket and the PubSub
  subscription
- **BUCKET**: GCS storage bucket that contains the image versions
- **TOPIC**: Cloud PubSub topic that GCS publishes updates to
- **TOPIC_SUBSCRIPTION**: The existing Cloud PubSub subscription for the topic