diff --git a/data/export/supervisord/app.conf.erb b/data/export/supervisord/app.conf.erb index c56d327..50ae6b0 100644 --- a/data/export/supervisord/app.conf.erb +++ b/data/export/supervisord/app.conf.erb @@ -1,9 +1,8 @@ -<% -engine.procfile.entries.each do |process| +<% engine.procfile.entries.each do |process| + p self.concurrency[process.name] next if (conc = self.concurrency[process.name]) < 1 1.upto(self.concurrency[process.name]) do |num| - port = engine.port_for(process, num, self.port) -%> + port = engine.port_for(process, num, self.port) %> [program:<%= app %>-<%= process.name %>] command=<%= process.command %> autostart=true @@ -13,8 +12,5 @@ stdout_logfile=<%= log_root %>/<%=process.name%>-<%=num%>.log stderr_logfile=<%= log_root %>/<%=process.name%>-<%=num%>err.log user=<%= user %> directory=<%= engine.directory %> -environment=<% (engine.environment.each_pair { |var,env| "#{var.upcase}=#{env}" }.to_a + ["PORT=#{port}"]).join(',') %> -<% - end -end -%> +environment=<% (engine.environment.each_pair { |var,env| "#{var.upcase}=#{env}" }.to_a + ["PORT=#{port}"]).join(',') +end end %> diff --git a/lib/foreman/export/supervisord.rb b/lib/foreman/export/supervisord.rb index 4afc4b4..11eedd6 100644 --- a/lib/foreman/export/supervisord.rb +++ b/lib/foreman/export/supervisord.rb @@ -19,7 +19,7 @@ class Foreman::Export::Supervisord < Foreman::Export::Base end app_template = export_template("supervisord", "app.conf.erb", template_root) - app_config = ERB.new(app_template).result(binding) + app_config = ERB.new(app_template, 0, '<').result(binding) write_file "#{location}/#{app}.conf", app_config end diff --git a/spec/foreman/export/supervisord_spec.rb b/spec/foreman/export/supervisord_spec.rb index d921a23..c6661a1 100644 --- a/spec/foreman/export/supervisord_spec.rb +++ b/spec/foreman/export/supervisord_spec.rb @@ -35,7 +35,7 @@ describe Foreman::Export::Supervisord, :fakefs do context "with alternate templates" do let(:template_root) { "/tmp/alternate" } - let(:upstart) { Foreman::Export::Upstart.new("/tmp/init", engine, :template => template_root) } + let(:supervisord) { Foreman::Export::Upstart.new("/tmp/init", engine, :template => template_root) } before do FileUtils.mkdir_p template_root @@ -43,10 +43,7 @@ describe Foreman::Export::Supervisord, :fakefs do end it "can export with alternate template files" do - upstart.export - - File.read("/tmp/init/app.conf").should == "alternate_template\n" - pendign + pending end end @@ -65,9 +62,6 @@ describe Foreman::Export::Supervisord, :fakefs do end it "can export with alternate template files" do - upstart.export - - File.read("/tmp/init/app.conf").should == "default_alternate_template\n" pending end end diff --git a/spec/resources/export/supervisord/app.conf b/spec/resources/export/supervisord/app.conf index d757914..e8e720e 100644 --- a/spec/resources/export/supervisord/app.conf +++ b/spec/resources/export/supervisord/app.conf @@ -1,3 +1,4 @@ + [program:app-alpha] command=./alpha autostart=true @@ -7,4 +8,14 @@ stdout_logfile=/var/log/app/alpha-1.log stderr_logfile=/var/log/app/alpha-1err.log user=app directory=/tmp/app -environment=PORT=5000 \ No newline at end of file +environment= +[program:app-bravo] +command=./bravo +autostart=true +autorestart=true +stopsignal=QUIT +stdout_logfile=/var/log/app/bravo-1.log +stderr_logfile=/var/log/app/bravo-1err.log +user=app +directory=/tmp/app +environment=