dnapi 1.1.82.ruby19 → 1.1.83.php
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/dnapi.rb +1 -1
- data/lib/dnapi/components/php.rb +26 -0
- data/lib/dnapi/environment.rb +9 -4
- data/lib/dnapi/extensions.rb +32 -0
- data/lib/dnapi/recipe.rb +2 -1
- data/lib/dnapi/stack.rb +7 -1
- data/lib/dnapi/struct.rb +1 -4
- data/lib/dnapi/test.rb +1 -1
- data/lib/dnapi/version.rb +1 -1
- data/spec/proxies_spec.rb +1 -1
- data/spec/stack_spec.rb +0 -1
- metadata +78 -56
data/lib/dnapi.rb
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
require 'forwardable'
|
2
2
|
require 'extlib'
|
3
3
|
require 'json'
|
4
|
-
require 'jexp'
|
5
4
|
|
6
5
|
module DNApi
|
7
6
|
def self.build(attributes = {})
|
@@ -33,6 +32,7 @@ module DNApi
|
|
33
32
|
end
|
34
33
|
|
35
34
|
require 'dnapi/component'
|
35
|
+
require 'dnapi/extensions'
|
36
36
|
require 'dnapi/struct'
|
37
37
|
require 'dnapi/component_possessor'
|
38
38
|
require 'dnapi/recipe'
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module DNApi
|
2
|
+
module Components
|
3
|
+
class PHP < VersionedComponent.new(:key)
|
4
|
+
include Component
|
5
|
+
desc "Hypertext Preprocessor scripting language"
|
6
|
+
key :php
|
7
|
+
belongs_to Environment
|
8
|
+
|
9
|
+
NAME = 'PHP'.freeze
|
10
|
+
VERSION = '5.3'.freeze
|
11
|
+
PATCH_LEVEL = '9'.freeze
|
12
|
+
|
13
|
+
def self.label
|
14
|
+
"#{NAME} - #{version}"
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.version
|
18
|
+
"#{VERSION}.#{PATCH_LEVEL}"
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.package
|
22
|
+
'dev-lang/php'
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
data/lib/dnapi/environment.rb
CHANGED
@@ -41,7 +41,8 @@ module DNApi
|
|
41
41
|
component(:ree) || component(:ruby_192) ||
|
42
42
|
component(:jruby_187) || component(:jruby_192) ||
|
43
43
|
component(:rubinius) || component(:ruby_193) ||
|
44
|
-
component(:nodejs) || component(:rubinius19)
|
44
|
+
component(:nodejs) || component(:rubinius19) ||
|
45
|
+
component(:php)
|
45
46
|
end
|
46
47
|
|
47
48
|
def stack
|
@@ -96,7 +97,11 @@ module DNApi
|
|
96
97
|
end
|
97
98
|
|
98
99
|
def db_host
|
99
|
-
|
100
|
+
if db_master
|
101
|
+
db_master.public_hostname
|
102
|
+
else
|
103
|
+
solo.public_hostname
|
104
|
+
end
|
100
105
|
end
|
101
106
|
|
102
107
|
def solo?
|
@@ -136,7 +141,7 @@ module DNApi
|
|
136
141
|
end
|
137
142
|
|
138
143
|
def environment_hash
|
139
|
-
{:name => name, :framework_env => framework_env, :stack =>
|
144
|
+
{:name => name, :framework_env => framework_env, :stack => stack.name}
|
140
145
|
end
|
141
146
|
|
142
147
|
def haproxy_hash
|
@@ -215,7 +220,7 @@ module DNApi
|
|
215
220
|
end
|
216
221
|
|
217
222
|
def to_legacy_hash
|
218
|
-
shared = %w(alert_email aws_secret_key aws_secret_id
|
223
|
+
shared = %w( alert_email aws_secret_key aws_secret_id
|
219
224
|
backup_interval backup_window
|
220
225
|
admin_ssh_key mailserver
|
221
226
|
internal_ssh_public_key
|
@@ -0,0 +1,32 @@
|
|
1
|
+
class Array
|
2
|
+
def to_jexp
|
3
|
+
map {|v| JSON.jexp(v) }
|
4
|
+
end
|
5
|
+
end
|
6
|
+
|
7
|
+
class Hash
|
8
|
+
def to_jexp
|
9
|
+
inject(self::class.new) do |h, (key, value)|
|
10
|
+
h.update key.to_s => JSON.jexp(value)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
class Integer
|
16
|
+
def to_jexp() self end
|
17
|
+
end
|
18
|
+
|
19
|
+
module JSON
|
20
|
+
def self.jexp(*a)
|
21
|
+
if a.size == 1 && RUBY_VERSION >= "1.9.0"
|
22
|
+
o = a.first
|
23
|
+
o.respond_to?(:to_jexp) ? o.to_jexp : JSON.parse(JSON.dump([o])).first
|
24
|
+
else
|
25
|
+
return *a.map{|o| o.respond_to?(:to_jexp) ? o.to_jexp : JSON.parse(JSON.dump([o])).first}
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
class String
|
31
|
+
def to_jexp() self end
|
32
|
+
end
|
data/lib/dnapi/recipe.rb
CHANGED
@@ -16,6 +16,7 @@ module DNApi
|
|
16
16
|
Trinidad = new(:name => 'trinidad')
|
17
17
|
Thin = new(:name => 'thin')
|
18
18
|
Puma = new(:name => 'puma')
|
19
|
+
PHP = new(:name => 'php')
|
19
20
|
|
20
21
|
def self.defaults
|
21
22
|
[Memcached, Monit]
|
@@ -24,7 +25,7 @@ module DNApi
|
|
24
25
|
def self.all
|
25
26
|
[Monit, Memcached, Nginx, NginxPassenger, ApachePassenger,
|
26
27
|
Mongrel, Unicorn, Mysql51, Mysql55, Nginxtcp, Node,
|
27
|
-
Trinidad,Thin,Puma]
|
28
|
+
Trinidad, Thin, Puma, PHP]
|
28
29
|
end
|
29
30
|
end
|
30
31
|
end
|
data/lib/dnapi/stack.rb
CHANGED
@@ -81,9 +81,15 @@ module DNApi
|
|
81
81
|
:ruby_versions => DNApi::Components::RubyVersion.all,
|
82
82
|
:recipes => [Recipe::Nginx, Recipe::Puma])
|
83
83
|
|
84
|
+
NginxPHP = new(:name => 'nginx_fpm',
|
85
|
+
:label => 'PHP-FPM',
|
86
|
+
:web_server => :nginx,
|
87
|
+
:rack_server => :fpm,
|
88
|
+
:ruby_versions => DNApi::Components::PHP,
|
89
|
+
:recipes => [Recipe::Nginx, Recipe::PHP])
|
84
90
|
|
85
91
|
def self.all
|
86
|
-
[NginxMongrel, NginxPassenger, NginxPassenger3, ApachePassenger, NginxUnicorn, Trinidad, Nginxtcp,NginxThin,NginxPuma]
|
92
|
+
[NginxMongrel, NginxPassenger, NginxPassenger3, ApachePassenger, NginxUnicorn, Trinidad, Nginxtcp, NginxThin, NginxPuma, NginxPHP]
|
87
93
|
end
|
88
94
|
|
89
95
|
def self.get(name)
|
data/lib/dnapi/struct.rb
CHANGED
@@ -129,10 +129,7 @@ module DNApi
|
|
129
129
|
def to_hash
|
130
130
|
data = members.zip(values)
|
131
131
|
association_data = _many.zip(_many_values) + _ones.zip(_ones_values)
|
132
|
-
|
133
|
-
h.update(k => v)
|
134
|
-
end #.reject {|k,v| v.nil? }
|
135
|
-
hash
|
132
|
+
(data + association_data).inject({}) {|h,(k,v)| h.update(k => v) } #.reject {|k,v| v.nil? }
|
136
133
|
end
|
137
134
|
|
138
135
|
def ==(other)
|
data/lib/dnapi/test.rb
CHANGED
data/lib/dnapi/version.rb
CHANGED
data/spec/proxies_spec.rb
CHANGED
data/spec/stack_spec.rb
CHANGED
metadata
CHANGED
@@ -1,67 +1,76 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: dnapi
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 961239185
|
5
|
+
prerelease: true
|
6
|
+
segments:
|
7
|
+
- 1
|
8
|
+
- 1
|
9
|
+
- 83
|
10
|
+
- php
|
11
|
+
version: 1.1.83.php
|
6
12
|
platform: ruby
|
7
|
-
authors:
|
13
|
+
authors:
|
8
14
|
- Engine Yard
|
9
15
|
autorequire:
|
10
16
|
bindir: bin
|
11
17
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
18
|
+
|
19
|
+
date: 2011-07-26 00:00:00 -07:00
|
20
|
+
default_executable:
|
21
|
+
dependencies:
|
22
|
+
- !ruby/object:Gem::Dependency
|
15
23
|
name: json
|
16
|
-
requirement: &2165535080 !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
|
-
requirements:
|
19
|
-
- - ! '>='
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version: '0'
|
22
|
-
type: :runtime
|
23
24
|
prerelease: false
|
24
|
-
|
25
|
-
- !ruby/object:Gem::Dependency
|
26
|
-
name: extlib
|
27
|
-
requirement: &2165534600 !ruby/object:Gem::Requirement
|
25
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
28
26
|
none: false
|
29
|
-
requirements:
|
30
|
-
- -
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
|
27
|
+
requirements:
|
28
|
+
- - ">="
|
29
|
+
- !ruby/object:Gem::Version
|
30
|
+
hash: 3
|
31
|
+
segments:
|
32
|
+
- 0
|
33
|
+
version: "0"
|
33
34
|
type: :runtime
|
35
|
+
version_requirements: *id001
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: extlib
|
34
38
|
prerelease: false
|
35
|
-
|
36
|
-
- !ruby/object:Gem::Dependency
|
37
|
-
name: sexp_processor
|
38
|
-
requirement: &2165534120 !ruby/object:Gem::Requirement
|
39
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
39
40
|
none: false
|
40
|
-
requirements:
|
41
|
-
- -
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
|
41
|
+
requirements:
|
42
|
+
- - ">="
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
hash: 3
|
45
|
+
segments:
|
46
|
+
- 0
|
47
|
+
version: "0"
|
44
48
|
type: :runtime
|
49
|
+
version_requirements: *id002
|
50
|
+
- !ruby/object:Gem::Dependency
|
51
|
+
name: sexp_processor
|
45
52
|
prerelease: false
|
46
|
-
|
47
|
-
- !ruby/object:Gem::Dependency
|
48
|
-
name: jexp
|
49
|
-
requirement: &2165533640 !ruby/object:Gem::Requirement
|
53
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
50
54
|
none: false
|
51
|
-
requirements:
|
52
|
-
- -
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
|
55
|
+
requirements:
|
56
|
+
- - ">="
|
57
|
+
- !ruby/object:Gem::Version
|
58
|
+
hash: 3
|
59
|
+
segments:
|
60
|
+
- 0
|
61
|
+
version: "0"
|
55
62
|
type: :runtime
|
56
|
-
|
57
|
-
version_requirements: *2165533640
|
63
|
+
version_requirements: *id003
|
58
64
|
description: API for chef DNA.
|
59
|
-
email:
|
65
|
+
email:
|
60
66
|
- gems@engineyard.com
|
61
67
|
executables: []
|
68
|
+
|
62
69
|
extensions: []
|
70
|
+
|
63
71
|
extra_rdoc_files: []
|
64
|
-
|
72
|
+
|
73
|
+
files:
|
65
74
|
- lib/dnapi/app.rb
|
66
75
|
- lib/dnapi/component.rb
|
67
76
|
- lib/dnapi/component_possessor.rb
|
@@ -75,6 +84,7 @@ files:
|
|
75
84
|
- lib/dnapi/components/newrelic.rb
|
76
85
|
- lib/dnapi/components/nodejs.rb
|
77
86
|
- lib/dnapi/components/passenger3.rb
|
87
|
+
- lib/dnapi/components/php.rb
|
78
88
|
- lib/dnapi/components/ruby.rb
|
79
89
|
- lib/dnapi/components/ssmtp.rb
|
80
90
|
- lib/dnapi/components/stunneled.rb
|
@@ -85,6 +95,7 @@ files:
|
|
85
95
|
- lib/dnapi/db_stack.rb
|
86
96
|
- lib/dnapi/ebuild_dep.rb
|
87
97
|
- lib/dnapi/environment.rb
|
98
|
+
- lib/dnapi/extensions.rb
|
88
99
|
- lib/dnapi/gem_dep.rb
|
89
100
|
- lib/dnapi/instance.rb
|
90
101
|
- lib/dnapi/monitoring.rb
|
@@ -116,31 +127,43 @@ files:
|
|
116
127
|
- spec/spec_helper.rb
|
117
128
|
- spec/stack_spec.rb
|
118
129
|
- spec/struct_spec.rb
|
130
|
+
has_rdoc: true
|
119
131
|
homepage: http://github.com/engineyard/dnapi
|
120
132
|
licenses: []
|
133
|
+
|
121
134
|
post_install_message:
|
122
135
|
rdoc_options: []
|
123
|
-
|
136
|
+
|
137
|
+
require_paths:
|
124
138
|
- lib
|
125
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
139
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
126
140
|
none: false
|
127
|
-
requirements:
|
128
|
-
- -
|
129
|
-
- !ruby/object:Gem::Version
|
130
|
-
|
131
|
-
|
141
|
+
requirements:
|
142
|
+
- - ">="
|
143
|
+
- !ruby/object:Gem::Version
|
144
|
+
hash: 3
|
145
|
+
segments:
|
146
|
+
- 0
|
147
|
+
version: "0"
|
148
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
132
149
|
none: false
|
133
|
-
requirements:
|
134
|
-
- -
|
135
|
-
- !ruby/object:Gem::Version
|
150
|
+
requirements:
|
151
|
+
- - ">"
|
152
|
+
- !ruby/object:Gem::Version
|
153
|
+
hash: 25
|
154
|
+
segments:
|
155
|
+
- 1
|
156
|
+
- 3
|
157
|
+
- 1
|
136
158
|
version: 1.3.1
|
137
159
|
requirements: []
|
160
|
+
|
138
161
|
rubyforge_project:
|
139
|
-
rubygems_version: 1.
|
162
|
+
rubygems_version: 1.3.7
|
140
163
|
signing_key:
|
141
164
|
specification_version: 3
|
142
165
|
summary: API for chef DNA.
|
143
|
-
test_files:
|
166
|
+
test_files:
|
144
167
|
- spec/app_spec.rb
|
145
168
|
- spec/component_spec.rb
|
146
169
|
- spec/components/addons_spec.rb
|
@@ -159,4 +182,3 @@ test_files:
|
|
159
182
|
- spec/spec_helper.rb
|
160
183
|
- spec/stack_spec.rb
|
161
184
|
- spec/struct_spec.rb
|
162
|
-
has_rdoc:
|