class DanarchyDeploy::Applicator::Nginx
Public Class Methods
disable_nginx(app, options)
click to toggle source
# File lib/danarchy_deploy/applicator/nginx.rb, line 73 def self.disable_nginx(app, options) if options[:pretend] puts " - Fake run: Remove #{app[:domaincfg]}" else puts "\n ! Disabling Nginx for '#{app[:domain]}'." if File.exist?(app[:domaincfg]) File.delete(app[:domaincfg]) puts " |_ Removed: #{app[:domaincfg]}" end end end
enable_nginx(app, options)
click to toggle source
# File lib/danarchy_deploy/applicator/nginx.rb, line 43 def self.enable_nginx(app, options) if !options[:pretend] puts "\n |+ Enabling Nginx for '#{app[:domain]}'." FileUtils.mkdir_p([File.dirname(app[:domaincfg]), app[:log_dir]]) FileUtils.chown_R(app[:username], app[:username], "/home/#{app[:username]}/nginx") DanarchyDeploy::Users.add_to_group({username: 'nginx', groups: [app[:username]]}, options) end source = options[:deploy_dir] + '/templates/applications/nginx/domain.conf.erb' template = { target: app[:domaincfg], source: source, variables: { username: app[:username], domain: app[:domain] }, dir_perms: { owner: app[:username], group: app[:username], mode: '0755' }, file_perms: { owner: app[:username], group: app[:username], mode: '0644' } } # if app[:ssl] # if app[:ssl][:type] == 'letsencrypt' # DanarchyDeploy::Applicator::SSL::LetsEncrypt.new(template, options) # end # end templates = [template] DanarchyDeploy::Templater.new(templates, options) end
generate_paths(app, options)
click to toggle source
# File lib/danarchy_deploy/applicator/nginx.rb, line 19 def self.generate_paths(app, options) nginx_config = Dir['/etc/nginx/**/nginx.conf'].last sites_enabled = nil if nginx_config.nil? && options[:pretend] sites_enabled = '/etc/nginx/sites_enabled/' puts " - Fake run: Testing deployment using #{sites_enabled}" elsif nginx_config.nil? && !options[:pretend] abort("\n ! ERROR: Could not establish nginx.conf location!") else nginx_config = File.readlines(nginx_config) sites_enabled = nginx_config.grep(/include/).last.gsub(/\s+include |\*.conf;/, '').chomp.gsub(/\*;/, '') end app[:domaincfg] = app[:domaincfg] ? app[:domaincfg] : "/home/#{app[:username]}/nginx/sites-enabled/#{app[:domain]}.conf" # app[:domaincfg] = "/home/#{app[:username]}/nginx/sites-enabled/#{app[:domain]}.conf" #sites_enabled + "#{app[:domain]}.conf" app[:log_dir] = app[:log_dir] ? app[:log_dir] : "/home/#{app[:username]}/nginx/logs/#{app[:domain]}" app end
new(app, options)
click to toggle source
# File lib/danarchy_deploy/applicator/nginx.rb, line 5 def self.new(app, options) puts "\n" + self.name puts "\n > Checking Nginx configuration for #{app[:username]}." app = generate_paths(app, options) if app[:nginx] == 'enabled' enable_nginx(app, options) elsif app[:nginx] == 'disabled' disable_nginx(app, options) end app end