Added basic support for Bluepill

This commit is contained in:
Hunter Nield
2011-08-22 21:24:34 +10:00
parent 6ad344d214
commit 21a041527c
4 changed files with 133 additions and 0 deletions
+20
View File
@@ -0,0 +1,20 @@
require "spec_helper"
require "foreman/engine"
require "foreman/export/bluepill"
require "tmpdir"
describe Foreman::Export::Bluepill do
let(:procfile) { FileUtils.mkdir_p("/tmp/app"); write_procfile("/tmp/app/Procfile") }
let(:engine) { Foreman::Engine.new(procfile) }
let(:bluepill) { Foreman::Export::Bluepill.new(engine) }
before(:each) { load_export_templates_into_fakefs("bluepill") }
before(:each) { stub(bluepill).say }
it "exports to the filesystem" do
bluepill.export("/tmp/init")
File.read("/tmp/init/app.pill").should == example_export_file("bluepill/app.pill")
end
end
+59
View File
@@ -0,0 +1,59 @@
Bluepill.application("app", :foreground => false) do |app|
app.uid = "app"
app.gid = "app"
app.process("alpha-1") do |process|
process.start_command = "./alpha"
process.working_dir = "/tmp/app"
process.pid_file = "/var/run/app-alpha-1.pid"
process.daemonize = true
process.environment = {"PORT" => "5000"}
process.stdout = process.stderr = "/var/log/app/app-alpha-1.log"
process.monitor_children do |children|
children.stop_command "kill -QUIT {{PID}}"
end
end
app.process("alpha-2") do |process|
process.start_command = "./alpha"
process.working_dir = "/tmp/app"
process.pid_file = "/var/run/app-alpha-2.pid"
process.daemonize = true
process.environment = {"PORT" => "5001"}
process.stdout = process.stderr = "/var/log/app/app-alpha-2.log"
process.monitor_children do |children|
children.stop_command "kill -QUIT {{PID}}"
end
end
app.process("bravo-1") do |process|
process.start_command = "./bravo"
process.working_dir = "/tmp/app"
process.pid_file = "/var/run/app-bravo-1.pid"
process.daemonize = true
process.environment = {"PORT" => "5100"}
process.stdout = process.stderr = "/var/log/app/app-bravo-1.log"
process.monitor_children do |children|
children.stop_command "kill -QUIT {{PID}}"
end
end
end