adorechic / rcredstash

22 stars 17 forks source link

RCredStash Build Status

RCredStash is a ruby port of CredStash

Installation

Add this line to your application's Gemfile:

gem 'rcredstash'

And then execute:

$ bundle

Or install it yourself as:

$ gem install rcredstash

Usage

CredStash.get(key)
CredStash.get(key, context: { 'foo' => 'bar' })

CredStash.put(key, value)
CredStash.put(key, value, context: { 'foo' => 'bar' })

CredStash.list
CredStash.delete(key)

CLI

rcredstash cli requires an aws credential for aws-sdk such as AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY.

$ rcredstash help

Commands:
  rcredstash delete [key name]  # Delete a key
  rcredstash get [key name]     # Show a value for key name
  rcredstash help [COMMAND]     # Describe available commands or one specific command
  rcredstash list               # Show all stored keys
  rcredstash put [key name]     # Put a value for key name
  rcredstash setup              # Setup credstash repository on DynamoDB

AWS credentials

RCredStash uses aws-sdk v2, so configuration options provided by aws-sdk such as ENV['AWS_ACCESS_KEY_ID'] and ENV['AWS_SECRET_ACCESS_KEY'] are available.

Configurations

CredStash.configure do |config|
  config.table_name = 'your_dynamodb_table_name'

  # Optional, if you want to modify them, like for Localstack.
  config.dynamo_client = Aws::DynamoDB::Client.new
  config.kms_client = Aws::KMS::Client.new
end

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/adorechic/rcredstash.

License

The gem is available as open source under the terms of the MIT License.