tiny-redis

Tiny Redis - encrypted barebones JSON formatted orm. Encryption is Rails Credentials based.

Steps to use:

   add to Gemfile:
   gem 'tiny-redis'

   bundle install

   rails g tiny_redis

   this will install initalizer that creates a pool of redis connections

How to use

   class User
   include Tiny::Redis

   attr_accessor :email
   alias_method :index, :email # this will tie your records method to indexing parameter
   end

Set up credentials:

   rails credentials:edit --environment development

   add:
   user:
     encryptkey: abcdabcdabcdadbvabcdabcdabcdadbv

Env Vars

   RAILS_MAX_CONCURRENCY - how many connections will be created to redis server
   REDIS_TIMEOUT - timeout for operations
   REDIS_URL - url for redis server.

Now your records in redis are encrypted. If you wish for more security you can remove config/master.key after server starts. And investigate SE Linux address space protection so hacker can't pry encryption key from the app so easily.

Have fun! 🎉