shipcat

Crates.ioshipcat
lib.rsshipcat
version0.66.0
sourcesrc
created_at2018-10-22 16:52:30.43622
updated_at2018-10-22 16:52:30.43622
descriptionDeploy right meow.
homepagehttps://github.com/Babylonpartners/shipcat
repository
max_upload_size
id91994
size422,426
bee-devs (github:iotaledger:bee-devs)

documentation

README

shipcat

CircleCI Docker Repository on Quay

A standardisation tool and yaml abstraction on top of kubernetes via shipcat.yml manifest files. Introduction to shipcat.

Lives on your ship.

Installation

  • Babylon employees can use brew install shipcat via homebrew-babylon
  • Mac/Linux users can install from the releases page
  • Users with rust installed can use git pull && cargo build

See the building guide, for setting up auto-complete, and being able to use from outside a manifests repo.

Usage

In general, define your shipcat.yml file in the manifests repo and make sure shipcat validate passes.

If you have vault read credentials (a VAULT_TOKEN evar, or a ~/.vault-token file) you can also validate secret existence and generate the completed manifest (values):

shipcat validate gate-annotator --secrets

# Generate completed manifest (what's passed to your chart)
shipcat values gate-annotator

If you have helm installed you can generate the helm template via the associated helm chart:

# Pass completed manifest to helm template
shipcat template gate-annotator

Upgrading and diffing

With rollout access (kubectl auth can-i rollout Deployment) you can also perform upgrades:

# helm upgrade corresponding service (check your context first)
shipcat apply gate-annotator

This requires helm diff installed to work, and it will work against the region in your context (kubectl config current-context).

For auditing; this also uses slack credentials to notify about these upgrades:

export SLACK_SHIPCAT_HOOK_URL=...
export SLACK_SHIPCAT_CHANNEL="#kubernetes"

Documentation

Explicit guides for shipcat is available in the doc directory. In particular:

Commit count: 0

cargo fmt