Sha256: a347414494788baa7ed0e72c0a299323f0acdad43d5cce89a047602c6d4aa76c

Contents?: true

Size: 942 Bytes

Versions: 92

Compression:

Stored size: 942 Bytes

Contents

require "erb"
require "foreman/export"

class Foreman::Export::Runit < Foreman::Export::Base

  ENV_VARIABLE_REGEX = /([a-zA-Z_]+[a-zA-Z0-9_]*)=(\S+)/

  def export
    super

    engine.each_process do |name, process|
      1.upto(engine.formation[name]) do |num|
        process_directory = "#{app}-#{name}-#{num}"

        create_directory process_directory
        create_directory "#{process_directory}/env"
        create_directory "#{process_directory}/log"

        write_template "runit/run.erb", "#{process_directory}/run", binding
        chmod 0755, "#{process_directory}/run"

        port = engine.port_for(process, num)
        engine.env.merge("PORT" => port.to_s).each do |key, value|
          write_file "#{process_directory}/env/#{key}", value
        end

        write_template "runit/log/run.erb", "#{process_directory}/log/run", binding
        chmod 0755, "#{process_directory}/log/run"
      end
    end

  end

end

Version data entries

92 entries across 92 versions & 6 rubygems

Version Path
foreman-0.51.0 lib/foreman/export/runit.rb
foreman-0.50.0-x86-mingw32 lib/foreman/export/runit.rb
foreman-0.50.0-x86-mswin32 lib/foreman/export/runit.rb
foreman-0.50.0-mingw32 lib/foreman/export/runit.rb
foreman-0.50.0-java lib/foreman/export/runit.rb
foreman-0.50.0 lib/foreman/export/runit.rb
foreman-0.49.0 lib/foreman/export/runit.rb
foreman-0.48.0 lib/foreman/export/runit.rb
foreman-0.48.0.pre3 lib/foreman/export/runit.rb
foreman-0.48.0.pre2 lib/foreman/export/runit.rb
foreman-0.48.0.pre1-java lib/foreman/export/runit.rb
foreman-0.48.0.pre1 lib/foreman/export/runit.rb