All Projects → marcobellaccini → nanvault

marcobellaccini / nanvault

Licence: MIT license
A standalone CLI tool to encrypt and decrypt files in the Ansible Vault format

Programming Languages

crystal
512 projects
shell
77523 projects

Projects that are alternatives of or similar to nanvault

atom-ansible-vault
Atom package to create and modify ansible-vault file
Stars: ✭ 31 (-6.06%)
Mutual labels:  ansible-vault, vault-password
rundeck-vault-plugin
Development continues here:
Stars: ✭ 17 (-48.48%)
Mutual labels:  vault
vault-formula
docs.saltstack.com/en/latest/topics/development/conventions/formulas.html
Stars: ✭ 15 (-54.55%)
Mutual labels:  vault
nomad-box
Nomad Box - Simple Terraform-powered setup to Azure of clustered Consul, Nomad and Traefik Load Balancer that runs Docker/GoLang/Java workloads. NOTE: Only suitable in dev environments at the moment until I learn more Terraform, Consul, Nomad, Vault :P
Stars: ✭ 18 (-45.45%)
Mutual labels:  vault
vaulter
No description or website provided.
Stars: ✭ 23 (-30.3%)
Mutual labels:  vault
vault-consul-monitoring
Sample project to explore monitoring Vault and Consul with telegraf/influxdb/grafana
Stars: ✭ 52 (+57.58%)
Mutual labels:  vault
ssh-crypt
🔒 Share AES-256 encrypted vault file with your teammates using only ssh authorized_keys!
Stars: ✭ 17 (-48.48%)
Mutual labels:  vault
vaultlib
Lightweight Go client library for reading Vault kv secrets
Stars: ✭ 21 (-36.36%)
Mutual labels:  vault
concourse-ci-formula
All-in-one Concourse VM with S3-compatible storage and Vault secret manager
Stars: ✭ 26 (-21.21%)
Mutual labels:  vault
vault-consul-docker
HashiCorp Vault with Consul backend in Docker
Stars: ✭ 20 (-39.39%)
Mutual labels:  vault
vaultssh
A Go based Vault client to support ssh sessions, remote commands and scp transfers all in memory
Stars: ✭ 25 (-24.24%)
Mutual labels:  vault
ghost
A simple, server/less, single-api, multi-backend, ghostly secret-store/key-store for your passwords, ssh-keys and cloud credentials. Ghost isn't real, it's just in your head.
Stars: ✭ 36 (+9.09%)
Mutual labels:  vault
vault-sidecar-injector
Kubernetes admission webhook for secure, seamless and dynamic handling of secrets in your applications
Stars: ✭ 55 (+66.67%)
Mutual labels:  vault
testing.cloudposse.co
Example Terraform Reference Architecture that implements a Geodesic Module for an Automated Testing Organization in AWS
Stars: ✭ 22 (-33.33%)
Mutual labels:  vault
vault-token-helper
@hashicorp Vault Token Helper for macOS, Linux and Windows with support for secure token storage and multiple Vault servers 🔐
Stars: ✭ 74 (+124.24%)
Mutual labels:  vault
vagrant-vault-consul-docker-monitoring
No description or website provided.
Stars: ✭ 20 (-39.39%)
Mutual labels:  vault
vault-consul-docker
Vault + Consul + Docker
Stars: ✭ 75 (+127.27%)
Mutual labels:  vault
vault-auth-spire
vault-auth-spire is an authentication plugin for Hashicorp Vault which allows logging into Vault using a Spire provided SVID.
Stars: ✭ 37 (+12.12%)
Mutual labels:  vault
vault-migrator
migrate vault data between different physical backends
Stars: ✭ 51 (+54.55%)
Mutual labels:  vault
artifactory-secrets-plugin
HashiCorp Vault Artifactory Secrets Plugin
Stars: ✭ 17 (-48.48%)
Mutual labels:  vault

nanvault

nanvault tests GitHub release

nanvault is not-ansible-vault.

It is a standalone CLI tool to encrypt and decrypt files in the Ansible® Vault format.

Powerful: has UNIX-style composability - you can play with pipes!

Smart: it guesses what you want to do, based on piped input.

Batteries-included: it features a safe password generator and a YAML-string mode.

Thoroughly-tested: at the time of writing, there are more lines of code devoted to tests than to the program itself.

Free and open-source: released under the MIT license.

asciicast

Installation

GNU/Linux

You can download the latest binary from the releases page.

macOS

You can get the latest darwin build from the releases page.

Windows

Until the Crystal Windows porting is completed, you can go with Windows Subsystem for Linux.

From sources

If you prefer, you can build the program straight from the sources.

Usage

Generate a vault password file, then encrypt and decrypt files:

$ nanvault -g > passfile
$ echo "coolstuff" > test.txt
$ cat test.txt | nanvault -p passfile > test.enc
$ cat test.enc | nanvault -p passfile > decrypted_test.txt

Of course, you can provide your own ansible-vault password files.

If the NANVAULT_PASSFILE environment variable is set, the vault password file option may be omitted:

$ export NANVAULT_PASSFILE="passfile"
$ nanvault -g > $NANVAULT_PASSFILE
$ echo "Encrypt this! ^_^ " | nanvault
$ANSIBLE_VAULT;1.1;AES256
643439633661336237356434383036353...

If you want to provide a vault-id label, just use the right option:

$ echo "Encrypt this! ^_^ " | nanvault -l mylabel
$ANSIBLE_VAULT;1.2;AES256;mylabel
623466656431303538633462666133333935...

You can also convert data to and from YAML (this is compatible with ansible-vault encrypt_string):

$ echo "Encrypt this! ^_^ " | nanvault | nanvault -y mystuff
mystuff: !vault |
  $ANSIBLE_VAULT;1.1;AES256
  653936313063303031376236373231336...
$ echo "Encrypt this! ^_^ " | nanvault | nanvault -y mystuff > my.yml
$ cat my.yml | nanvault -Y
$ANSIBLE_VAULT;1.1;AES256
6534346535376538306330623363653...
$ cat my.yml | nanvault -Y | nanvault
Encrypt this! ^_^

Get help and discover all the options:

$ nanvault -h

Development

nanvault is proudly programmed in Crystal.

<<Fast as C, Slick as Ruby>>

Building from sources

  1. Install Crystal. Please make sure to install libssl-dev and libyaml-dev too.
  2. Clone this repo (git clone https://github.com/marcobellaccini/nanvault)
  3. Build with shards (shards build)

Instead, if you have Docker, you can compile a statically-linked binary (using the official Crystal Alpine-Linux Docker images) by running the build script:

./build.sh [debug/release]

Contributing

  1. Fork it (https://github.com/marcobellaccini/nanvault/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors


Ansible® is a registered trademark of Red Hat, Inc. in the United States and other countries.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].