Class: SslCertificate

Inherits:
Object
  • Object
show all
Defined in:
lib/prun/ssl_certificate.rb

Constant Summary collapse

DNS_PROVIDER =
'digitalocean'
NGINX_RELOAD_COMMAND =
'service nginx restart'
CREDENTIALS_PATH =
'/etc/letsencrypt/digitalocean.ini'
DOMAIN =
"#{`hostname`.strip}.com".freeze

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.renew ⇒ Object



9
# File 'lib/prun/ssl_certificate.rb', line 9

def self.renew = new.renew

Instance Method Details

#renew ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/prun/ssl_certificate.rb', line 11

def renew
  create_credentials_file
  if run_command(certbot_command)
    Rails.logger.info "SSL::Certificate renewed successfully for #{DOMAIN}."
    if run_command(NGINX_RELOAD_COMMAND)
      Rails.logger.info 'SSL::Web server reloaded.'
    else
      Rails.logger.fail 'SSL::Failed to reload web server.'
    end
  else
    Rails.logger.fail "SSL::Certificate renewal failed for #{DOMAIN}."
  end
  remove_credentials_file
end