A standardisation tool and yaml abstraction on top of kubernetes
via shipcat.yml
manifest files. Introduction to shipcat.
Lives on your ship.
brew install shipcat
via homebrew-babylongit pull && cargo build
See the building guide, for setting up auto-complete, and being able to use from outside a manifests repo.
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):
```sh shipcat validate gate-annotator --secrets
shipcat values gate-annotator ```
If you have helm
installed you can generate the helm template via the associated helm chart:
```sh
shipcat template gate-annotator ```
With rollout access (kubectl auth can-i rollout Deployment
) you can also perform upgrades:
```sh
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:
sh
export SLACK_SHIPCAT_HOOK_URL=...
export SLACK_SHIPCAT_CHANNEL="#kubernetes"
cargo doc
)Explicit guides for shipcat is available in the doc directory. In particular: