ccli
Command Line Client for Cryptopus
Installation
gem install ccli
This will install the cry
command including its dependencies
Features
- Fetch encryptable data from Cryptopus
- List accessable teams in Cryptopus
- Sync Openshift/Kubernetes Secrets to Cryptopus
- Sync Secrets from Cryptopus to Openshift/Kubernetes
Usage
Receiving the login token from Cryptopus
Commands
Command: Summary:
encryptable Fetches an encryptable by the given id
folder Selects the Cryptopus folder by id
help Display global or [command] help documentation
k8s-secret-pull Pulls secret from Kubectl to Cryptopus
k8s-secret-push Pushes secret from Cryptopus to Kubectl
login Logs in to the ccli
logout Logs out of the ccli
ose-secret-pull Pulls secret from Openshift to Cryptopus
ose-secret-push Pushes secret from Cryptopus to Openshift
teams Lists all available teams
use Select the current folder
Show more specific documentation by calling cry help <command>
Account
Logging in
Use the ccli login copy button from the UI or do it manually:
user=<my-user>
token=<my-token>
url=https://cryptopus.example.com
cry login $(echo -n "$user:$token" | base64)@$url
Retrieving
To retreive encryptable data as yaml:
cry encryptable 42 > encryptable.yaml
Retreiving encryptable's password and assign it to a variable:
PASSWORD=$(cry encryptable 42 --password)
Updating
not supported yet by ccli
Kubernetes/Openshift
Required tools
First you'll have to install either oc or kubectl depending on your usage
Pulling Kubernetes / Openshift Secrets
when using the command {ose|k8s}-secret-pull
after beeing logged in to a k8s/ose project, all secrets labeled with cryptopus-sync=true
are backed up to cryptopus.
to label a specific secret do:
oc: oc label secret <secret-name> cryptopus-sync=true
kubectl: kubectl label secret <secret-name> cryptopus-sync=true
Restored secrets by {ose|k8s}-secret-push
are labeled automatically.
Development
Prerequisites
You will need the following things properly installed on your computer:
Setup
rvm install 2.6.0
gem install bundler
bundle install
Running tests
bundle exec rspec