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.63.0-mingw32 lib/foreman/export/runit.rb
foreman-0.63.0-java lib/foreman/export/runit.rb
foreman-0.63.0 lib/foreman/export/runit.rb
foreman-0.62.0-mingw32 lib/foreman/export/runit.rb
foreman-0.62.0-java lib/foreman/export/runit.rb
foreman-0.62.0 lib/foreman/export/runit.rb
foreman-capistrano-0.53.3 lib/foreman/export/runit.rb
foreman-capistrano-0.53.2 lib/foreman/export/runit.rb
foreman-capistrano-0.53.1 lib/foreman/export/runit.rb
foreman-capistrano-0.53.0 lib/foreman/export/runit.rb
foreman-capistrano-0.52.6 lib/foreman/export/runit.rb
foreman-0.61.0-mingw32 lib/foreman/export/runit.rb
foreman-0.61.0-java lib/foreman/export/runit.rb
foreman-0.61.0 lib/foreman/export/runit.rb
foreman-capistrano-0.52.5 lib/foreman/export/runit.rb
foreman-capistrano-0.52.4 lib/foreman/export/runit.rb
foreman-capistrano-0.52.3 lib/foreman/export/runit.rb
foreman-capistrano-0.52.2 lib/foreman/export/runit.rb
foreman-capistrano-0.52.1 lib/foreman/export/runit.rb
foreman-capistrano-0.52.0 lib/foreman/export/runit.rb