Giter VIP home page Giter VIP logo

passivized_vault_client's Introduction

A client library for working with Vault through its REST api.

Capabilities

Initialization and Setup

  • Generation of clear or encrypted unseal keys
  • Generation of root token
  • Generation of clear or encrypted recovery keys
  • Configuring transit keys and transit unseal

Policies

  • Create, update, and list policies
  • Attach policies to userpass users

Monitoring

  • Getting status

Username/Password Authentication

  • Create user and get details
  • Update passwords
  • List users
  • Login (validate password and get Vault token)
  • Delete

Limitations

See the warning on REST api:

Backwards compatibility: At the current version, Vault does not yet promise backwards compatibility even with the v1
prefix. We'll remove this warning when this policy changes. At this point in time the core API
(that is, sys/ routes) change very infrequently, but various secrets engines/auth methods/etc. sometimes have minor
changes to accommodate new features as they're developed.

The above warning means this library could potentially break with newer versions of Vault.

The library is experimental, and tested with Vault 1.11 through 1.13.

GPG Key Generation

To demo using PGP (GPG) to encrypt the unseal keys and root tokens generated by Vault, you can create several fake users, each with their own key pair.

$ gpg --quick-generate-key [email protected]
$ gpg --quick-generate-key [email protected]
$ gpg --quick-generate-key [email protected]
$ gpg --quick-generate-key [email protected]

Listing key pairs having private keys:

$ gpg -K

Export the public keys of each key pair:

$ gpg --output operator1.pgp --export [email protected]
$ gpg --output operator2.pgp --export [email protected]
$ gpg --output operator3.pgp --export [email protected]
$ gpg --output root-user.pgp --export [email protected]

Note: DO NOT use the "--armor" flag - Vault requires binary public keys.

Platforms

Linux

All library features are available on Linux.

Mac

All library features are available on Macs, but because of limitations of Docker networking on Macs, all automated tests that require a live Vault server are disabled.

Windows

All library features are available on Windows, but because Hashicorp does not offer a Windows build of the Vault server, all automated tests that require a live Vault server are disabled.

passivized_vault_client's People

Contributors

iamjpotts avatar dependabot[bot] avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.