Class: Proxy::OpenBolt::LogPathValidator

Inherits:
PluginValidators::Base
  • Object
show all
Defined in:
lib/smart_proxy_openbolt/plugin.rb

Instance Method Summary collapse

Instance Method Details

#validate!(settings) ⇒ Object

Raises:

  • (::Proxy::Error::ConfigurationError)


5
6
7
8
9
10
11
12
13
14
15
# File 'lib/smart_proxy_openbolt/plugin.rb', line 5

def validate!(settings)
  logdir = settings[:log_dir]
  unless Dir.exist?(logdir)
    FileUtils.mkdir_p(logdir)
    if Process.uid == 0
      FileUtils.chown('foreman-proxy', 'foreman-proxy', logdir)
    end
    FileUtils.chmod(0750, logdir)
  end
  raise ::Proxy::Error::ConfigurationError, "Could not create log dir at #{logdir}" unless Dir.exist?(logdir)
end