CLI tool to manage Kubernetes Secrets easily
Formula is available at dtan4/homebrew-dtan4.
$ brew tap dtan4/dtan4
$ brew install k8secPrecompiled binaries for Windows, OS X, Linux are available at Releases.
$ go get -d github.com/dtan4/k8sec
$ cd $GOPATH/src/github.com/dtan4/k8sec
$ make
$ make installList secrets
$ k8sec list [--base64] [--kubeconfig KUBECONFIG] [--namespace NAMESPACE] [NAME]
# Example
$ k8sec list rails
NAME TYPE KEY VALUE
rails Opaque database-url "postgres://example.com:5432/dbname"
# Show values as base64-encoded string
$ k8sec list --base64 rails
NAME TYPE KEY VALUE
rails Opaque database-url cG9zdGdyZXM6Ly9leGFtcGxlLmNvbTo1NDMyL2RibmFtZQ==Set secrets
$ k8sec set [--base64] [--kubeconfig KUBECONFIG] [--namespace NAMESPACE] NAME KEY1=VALUE1 KEY2=VALUE2
# Example
$ k8sec set rails rails-env=production
rails
# Pass base64-encoded value
$ echo dtan4 | base64
ZHRhbjQK
$ k8sec set --base64 rails foo=ZHRhbjQK
rails
$ k8sec list rails
NAME TYPE KEY VALUE
rails Opaque database-url "postgres://example.com:5432/dbname"
rails Opaque foo "dtan4\n"Unset secrets
$ k8sec unset [--kubeconfig KUBECONFIG] [--namespace NAMESPACE] NAME KEY1 KEY2
# Example
$ k8sec unset rails rails-envLoad from dotenv (key=value) format text
$ k8sec load [--kubeconfig KUBECONFIG] [--namespace NAMESPACE] [-f FILENAME] NAME
# Example
$ cat .env
database-url="postgres://example.com:5432/dbname"
$ k8sec load -f .env rails
# Load from stdin
$ cat .env | k8sec load railsSave as dotenv (key=value) format
$ k8sec save [--kubeconfig KUBECONFIG] [--namespace NAMESPACE] [-f FILENAME] [NAME]
# Example
$ k8sec save rails
database-url="postgres://example.com:5432/dbname"
# Save as .env
$ k8sec save -f .env rails
$ cat .env
database-url="postgres://example.com:5432/dbname"- Fork (https://github.com/dtan4/k8sec/fork)
- Create a feature branch
- Commit your changes
- Rebase your local changes against the master branch
- Run test suite with the
go test ./...command and confirm that it passes - Run
gofmt -s - Create a new Pull Request