A Helm chart to deploy Cog on Kubernetes
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
templates
.helmignore
Chart.yaml
LICENSE
README.md
values.yaml

README.md

Cog

Cog is a ChatOps platform with some really great access control features, and allows writing additional functionality in any language.

This chart is still alpha and will not include a Postgres database container until Helm includes a means of excluding dependent subcharts during deployment.

In the mean time, deploying the Postgres chart from the Kubernetes charts repository will provide a small testing database for Cog's use.

TL;DR;

$ git clone https://github.com/ohaiwalt/cog-helm cog
$ helm install cog

Introduction

This chart bootstraps a Cog deployment on a Kubernetes cluster using the Helm package manager.

Prerequisites

  • Kubernetes 1.4+ with Beta APIs enabled
  • External Postgresql database
  • Slack API token

Installing the Chart

To install the chart with the release name my-release:

$ helm install --name my-release cog-helm

The command deploys Cog on the Kubernetes cluster in the default configuration.

Tip: List all releases using helm list

Uninstalling the Chart

To uninstall/delete the my-release deployment:

$ helm delete my-release

The command removes all the Kubernetes components associated with the chart and deletes the release.

Configuration

The following tables lists the required configuration variables. See the values.yml file for more detailed information.

Parameter Description Default
cog.secrets.SLACK_API_TOKEN API Token for connecting to Slack None
cog.secrets.DATABASE_URL Database connection string ecto://cog:cog@postgres:5432/cog
relay.config.RELAY_ID Relay Id 00000000-0000-0000-0000-000000000000

Specify each parameter using the --set key=value[,key=value] argument to helm install. For example,

$ helm install --name my-release \
  --set cog.secrets.SLACK_API_TOKEN=token,cog.secrets.DATABASE_URL=connection,relay.config.RELAY_ID=$(uuidgen | tr '[:upper:]' '[:lower:]') \
    cog-helm

Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example,

$ helm install --name my-release -f values.yaml cog-helm

Tip: You can use the default values.yaml

Persistence

The Cog image stores configuration data and configurations in an external PostgreSQL database. This chart currently does not run a database.