All Projects → sue445 → Itamae Plugin Resource Encrypted_remote_file

sue445 / Itamae Plugin Resource Encrypted_remote_file

Licence: mit
encrypt secret data (e.g. id_rsa), and forward decrypted file to remote.

Programming Languages

ruby
36898 projects - #4 most used programming language

Labels

Projects that are alternatives of or similar to Itamae Plugin Resource Encrypted remote file

Dry Monads
Useful, common monads in idiomatic Ruby
Stars: ✭ 453 (+4430%)
Mutual labels:  gem
Facets
Ruby Facets
Stars: ✭ 750 (+7400%)
Mutual labels:  gem
Green Button Data
Fast Ruby parser and API client for Green Button data
Stars: ✭ 18 (+80%)
Mutual labels:  gem
Xspear
Powerfull XSS Scanning and Parameter analysis tool&gem
Stars: ✭ 583 (+5730%)
Mutual labels:  gem
Rainbow
Ruby gem for colorizing printed text on ANSI terminals
Stars: ✭ 683 (+6730%)
Mutual labels:  gem
Batch Loader
⚡️ Powerful tool for avoiding N+1 DB or HTTP queries
Stars: ✭ 812 (+8020%)
Mutual labels:  gem
Devise masquerade
Extension for devise, enable login as functionality. Add link to the masquerade_path(resource) and use it.
Stars: ✭ 380 (+3700%)
Mutual labels:  gem
Puree
Metadata extraction from the Pure Research Information System.
Stars: ✭ 8 (-20%)
Mutual labels:  gem
Dip
CLI gives the "native" interaction with applications configured with Docker Compose.
Stars: ✭ 737 (+7270%)
Mutual labels:  gem
Bh
Bootstrap Helpers for Ruby
Stars: ✭ 834 (+8240%)
Mutual labels:  gem
Coltrane
🎹🎸A music theory library with a command-line interface
Stars: ✭ 625 (+6150%)
Mutual labels:  gem
Yt
The reliable YouTube API Ruby client
Stars: ✭ 674 (+6640%)
Mutual labels:  gem
Exception notification Shoryuken
Exception Notifier Plugin for Rails with Shoryuken http://smartinez87.github.com/exception_notification
Stars: ✭ 5 (-50%)
Mutual labels:  gem
Motion
Reactive frontend UI components for Rails in pure Ruby
Stars: ✭ 498 (+4880%)
Mutual labels:  gem
Datagrid
Gem to create tables grids with sortable columns and filters
Stars: ✭ 921 (+9110%)
Mutual labels:  gem
Graphql Guard
Simple authorization gem for GraphQL 🔒
Stars: ✭ 434 (+4240%)
Mutual labels:  gem
Materialize Sass
Materializecss rubygem for Rails Asset Pipeline / Sprockets
Stars: ✭ 785 (+7750%)
Mutual labels:  gem
Moab Versioning
Gem to process digital object version content, metadata, and manifests
Stars: ✭ 9 (-10%)
Mutual labels:  gem
Adminpanel
This gem has the goal to act as the administration panel for your resources, so you can focus only on the public part of your app
Stars: ✭ 7 (-30%)
Mutual labels:  gem
Octicons
A scalable set of icons handcrafted with <3 by GitHub
Stars: ✭ 7,039 (+70290%)
Mutual labels:  gem

Itamae::Plugin::Resource::EncryptedRemoteFile

encrypt secret data (e.g. id_rsa), and forward decrypted file to remote.

This is like to knife-solo_data_bag

Gem Version Build Status Code Climate

Installation

Add this line to your application's Gemfile:

gem 'itamae-plugin-resource-encrypted_remote_file'

And then execute:

$ bundle

Or install it yourself as:

$ gem install itamae-plugin-resource-encrypted_remote_file

Usage

Encrypt data

install reversible_cryptography

gem install reversible_cryptography

reversible_cryptography encrypt --password=PASSWORD --src-file=/path/to/secret_file.txt --dst-file=/pass/to/encrypted_file.txt

Recipe

encrypted_remote_file "/home/deployer/.ssh/id_rsa" do
  owner    "root"
  group    "root"
  source   "files/id_rsa.encrypted"
  password ENV["ID_RSA_PASSWORD"]
end

ProTip

Use with dotenv

Gemfile

gem "itamae-plugin-resource-encrypted_remote_file"
gem "dotenv"

.env (don't commit this!)

ID_RSA_PASSWORD=12345678

.gitignore

.env

your_recipe.rb

require 'dotenv'
Dotenv.load

ENV["ID_RSA_PASSWORD"]
#=> "12345678"

encrypted_remote_file "/home/deployer/.ssh/id_rsa" do
  owner    "root"
  group    "root"
  source   "files/id_rsa.encrypted"
  password ENV["ID_RSA_PASSWORD"]
end

Development

After checking out the repo, run bin/setup to install dependencies. Then, 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 to create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Testing

requirements Docker

bundle exec itamae docker --node-yaml=recipes/node.yml recipes/install.rb --image=centos:7 --tag itamae-plugin:latest
DOCKER_IMAGE=itamae-plugin:latest bundle exec rspec

Contributing

  1. Fork it ( https://github.com/sue445/itamae-plugin-resource-encrypted_remote_file/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
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].