conjure 0.2.4 → 0.2.5
Sign up to get free protection for your applications and to get access to all the features.
- data/History.md +5 -0
- data/lib/conjure/provision/instance.rb +3 -2
- data/lib/conjure/provision/passenger.rb +12 -3
- data/lib/conjure/version.rb +1 -1
- metadata +2 -2
data/History.md
CHANGED
@@ -6,9 +6,10 @@ require "yaml"
|
|
6
6
|
module Conjure
|
7
7
|
module Provision
|
8
8
|
class Instance
|
9
|
-
def initialize(app_name, rails_env)
|
9
|
+
def initialize(app_name, rails_env, options = {})
|
10
10
|
@app_name = app_name
|
11
11
|
@rails_env = rails_env
|
12
|
+
@options = options
|
12
13
|
end
|
13
14
|
|
14
15
|
def provision(options = {})
|
@@ -21,7 +22,7 @@ module Conjure
|
|
21
22
|
database = Postgres.new(platform)
|
22
23
|
database.start
|
23
24
|
|
24
|
-
webserver = Passenger.new(platform, database, @rails_env)
|
25
|
+
webserver = Passenger.new(platform, database, @rails_env, @options)
|
25
26
|
webserver.start
|
26
27
|
passenger_ip = webserver.ip_address
|
27
28
|
|
@@ -6,10 +6,12 @@ module Conjure
|
|
6
6
|
class Passenger
|
7
7
|
attr_reader :ip_address
|
8
8
|
|
9
|
-
def initialize(platform, database, rails_env)
|
9
|
+
def initialize(platform, database, rails_env, options)
|
10
10
|
@platform = platform
|
11
11
|
@database = database
|
12
12
|
@rails_env = rails_env
|
13
|
+
@nginx_directives = options[:nginx_directives] || {}
|
14
|
+
@system_packages = options[:system_packages] || []
|
13
15
|
end
|
14
16
|
|
15
17
|
def start
|
@@ -26,6 +28,7 @@ module Conjure
|
|
26
28
|
public_key = File.expand_path("~/.ssh/id_rsa.pub")
|
27
29
|
raise "Error: ~/.ssh/id_rsa.pub must exist." unless File.exist?(public_key)
|
28
30
|
file = Docker::Template.new("conjure/passenger-ruby21:1.0.1")
|
31
|
+
file.run apt_command if apt_command
|
29
32
|
file.add_file public_key, "/root/.ssh/authorized_keys"
|
30
33
|
file.add_file public_key, "/home/app/.ssh/authorized_keys"
|
31
34
|
file.run "chown app.app /home/app/.ssh/authorized_keys"
|
@@ -36,6 +39,12 @@ module Conjure
|
|
36
39
|
file
|
37
40
|
end
|
38
41
|
|
42
|
+
def apt_command
|
43
|
+
if @system_packages.any?
|
44
|
+
"apt-get update && apt-get install -y #{@system_packages.join ' '}"
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
39
48
|
def database_yml
|
40
49
|
{@rails_env => @database.rails_config}.to_yaml
|
41
50
|
end
|
@@ -52,8 +61,8 @@ module Conjure
|
|
52
61
|
:passenger_user => "app",
|
53
62
|
:passenger_ruby => "/usr/bin/ruby2.1",
|
54
63
|
:passenger_app_env => @rails_env,
|
55
|
-
}
|
56
|
-
"server {" + options.map{|k, v| " #{k} #{v};"}.join("\n") + "}\n"
|
64
|
+
}.merge @nginx_directives
|
65
|
+
"server {\n" + options.map{|k, v| " #{k} #{v};"}.join("\n") + "\n}\n"
|
57
66
|
end
|
58
67
|
end
|
59
68
|
end
|
data/lib/conjure/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: conjure
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-
|
12
|
+
date: 2014-09-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: fog
|