Class: Foreman::Export::Nginx

Inherits:
Base
  • Object
show all
Defined in:
lib/foreman/export/nginx.rb

Instance Method Summary collapse

Instance Method Details

#env_var(key) ⇒ Object



7
8
9
10
# File 'lib/foreman/export/nginx.rb', line 7

def env_var(key)
  val = ENV[key]
  val == "" ? nil : val
end

#exportObject



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/foreman/export/nginx.rb', line 12

def export
  super

  base_domain = env_var('BASE_DOMAIN') or raise "Need a BASE_DOMAIN"
  additional_domains = (env_var('ADDITIONAL_DOMAINS') || '').split(',').join(' ')
  use_ssl = !!env_var('USE_SSL')
  ssl_cert_path = env_var('SSL_CERT_PATH')
  ssl_key_path  = env_var('SSL_KEY_PATH')
  force_ssl = !!env_var('FORCE_SSL')
  force_domain = env_var('FORCE_DOMAIN')
  default_server = !!env_var('DEFAULT_SERVER')
  listen_address = env_var('LISTEN_ADDRESS') || '*'

  ports = []
  1.upto(engine.formation['web']) do |num|
    ports << engine.port_for(engine.process('web'), num)
  end

  content = File.read(File.expand_path("../../../../data/export/nginx/nginx.erb", __FILE__))
  result = ERB.new(content, nil, '-').result(binding)
  write_file "#{app}.conf", result        
end