Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/deepthawtz/duncan
opinionated CLI for deploying and dynamically configuring Kubernetes pods
https://github.com/deepthawtz/duncan
consul deployment docker k8s vault
Last synced: 3 months ago
JSON representation
opinionated CLI for deploying and dynamically configuring Kubernetes pods
- Host: GitHub
- URL: https://github.com/deepthawtz/duncan
- Owner: deepthawtz
- License: apache-2.0
- Created: 2020-06-05T21:15:32.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2020-07-01T22:32:03.000Z (over 4 years ago)
- Last Synced: 2024-10-26T22:50:24.548Z (3 months ago)
- Topics: consul, deployment, docker, k8s, vault
- Language: Go
- Size: 280 KB
- Stars: 7
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
duncan: Docker deployment tool
=============================================================================================================Duncan is a Docker deployment tool which aims to be like [Tim Duncan](https://en.wikipedia.org/wiki/Tim_Duncan):
consistent, reliable, and un-flashy.### Assumptions
* Duncan manages Kubernetes Deployment or StatefulSet resources (could be
extended but this is all that is currently supported now).
* Managed deployments must contain Kubernetes labels that enable the CLI to identify and manage them
* Dynamic configuration is handled via updating environment variables in both
Consul (unencrypted) and Vault (encrypted) and are managed with the `env` and
`secrets` commands respectively
* Dynamic configuration is restricted by Consul and Vault ACL policies (read-only and read-write)
* Deployment is also restricted via Consul ACL
* Docker registry is Quay.io (TODO: add support different options)```
Usage:
duncan [command]Available Commands:
config Search ENV/secrets across all applications
deploy Deploy an application
env Manage Consul key/values (ENV vars) for an app
help Help about any command
list List applications
secrets Manage Vault secrets (ENV vars) for an app
version Print the version of duncan
```#### Getting Started
#### Installation
Download a [binary release](https://github.com/deepthawtz/duncan/releases)
**OR** build from source
Requires [Golang](https://golang.org/)
```bash
# clone to $GOPATH
cd $GOPATH/src/github.com/deepthawtz
git clone [email protected]:deepthawtz/duncan.git && cd duncan
make
make install# confirm installation
duncan version
```#### Configuration
```bash
cp example_duncan.yml $HOME/.duncan.yml
# populate YAML w/ valid values (ask ops team for help if stuck)
```