From e7d03ce613f0c62547f47fc55ad379c48b4b9e57 Mon Sep 17 00:00:00 2001 From: Kyle Drake Date: Wed, 28 Jun 2017 13:01:11 -0700 Subject: [PATCH 1/2] store crt/key in der format in redis record when changed --- models/site.rb | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/models/site.rb b/models/site.rb index 54c6d842..a122d9ce 100644 --- a/models/site.rb +++ b/models/site.rb @@ -827,6 +827,7 @@ class Site < Sequel::Model end def after_save + store_ssl_in_redis_proxy if @_ssl_changed save_tags super end @@ -1380,7 +1381,24 @@ class Site < Sequel::Model end def ssl_installed? - ssl_key && ssl_cert + domain && ssl_key && ssl_cert + end + + def ssl_key=(val) + @_ssl_changed = true + values[:ssl_key] = val + end + + def ssl_cert=(val) + @_ssl_changed = true + values[:ssl_cert] = val + end + + def store_ssl_in_redis_proxy + return false unless ssl_installed? + $redis_proxy.hset "ssl-#{domain}", 'crt', OpenSSL::X509::Certificate.new(ssl_cert).to_der + $redis_proxy.hset "ssl-#{domain}", 'key', OpenSSL::PKey::RSA.new(ssl_key).to_der + true end def to_rss From 6798d31e0f71f681c949225be1d041470fe8f4ae Mon Sep 17 00:00:00 2001 From: Kyle Drake Date: Wed, 28 Jun 2017 13:01:38 -0700 Subject: [PATCH 2/2] init for redis proxy db --- environment.rb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/environment.rb b/environment.rb index 29f7dce5..6a0d711a 100644 --- a/environment.rb +++ b/environment.rb @@ -73,6 +73,12 @@ end $redis_cache = Redis::Namespace.new :cache, redis: $redis +if ENV['RACK_ENV'] == 'test' + $redis_proxy = MockRedis.new +else + $redis_proxy = Redis.new url: $config['redis_proxy'] +end + # :nocov: if ENV['RACK_ENV'] == 'development' # Run async jobs immediately in development.