-
Notifications
You must be signed in to change notification settings - Fork 0
/
metadata.rb
168 lines (149 loc) · 6.83 KB
/
metadata.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
# frozen_string_literal: true
name 'rs-application_php'
maintainer 'RightScale, Inc.'
maintainer_email '[email protected]'
license 'Apache-2.0'
description 'Installs/Configures a PHP application server'
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
version '2.0.2'
source_url 'https://github.com/rightscale-cookbooks/rs-application_php' if respond_to?(:source_url)
issues_url 'https://github.com/rightscale-cookbooks/rs-application_php/issues' if respond_to?(:issues_url)
chef_version '>= 12.0' if respond_to?(:chef_version)
supports 'ubuntu', '>= 14.04'
depends 'apache2', '~> 3.2.2'
depends 'application'
depends 'application_php', '~> 2.0.2'
depends 'mysql2_chef_gem', '>= 2.0.0'
depends 'database'
depends 'git'
depends 'php'
depends 'rs-base'
depends 'rightscale_tag'
depends 'rsc_remote_recipe'
depends 'mysql'
depends 'collectd'
depends 'curl'
depends 'yum-mysql-community'
depends 'yum-epel'
depends 'yum-ius'
depends 'apt'
recipe 'rs-application_php::default', 'Installs/configures PHP application server'
recipe 'rs-application_php::tags', 'Sets up application server tags used in a 3-tier deployment setup'
recipe 'rs-application_php::collectd', 'Sets up collectd monitoring for the application server'
recipe 'rs-application_php::application_backend', 'Attaches the application server to a load balancer'
recipe 'rs-application_php::application_backend_detached', 'Detaches the application server' \
' from a load balancer'
attribute 'rs-application_php/packages',
display_name: 'Additional PHP Packages to Install',
description: 'List of additional PHP packages to be installed before starting the deployment.' \
' Package versions can be specified. Example: pkg1, pkg2=2.0',
type: 'array',
required: 'optional',
recipes: ['rs-application_php::default']
attribute 'rs-application_php/listen_port',
display_name: 'Application Listen Port',
description: 'The port to use for the application to bind. Example: 8080',
default: '8080',
required: 'optional',
recipes: [
'rs-application_php::default',
'rs-application_php::tags',
'rs-application_php::application_backend',
]
attribute 'rs-application_php/scm/repository',
display_name: 'Application Repository URL',
description: 'The repository location to download application code. Example: git://github.com/rightscale/examples.git',
required: 'required',
recipes: ['rs-application_php::default']
attribute 'rs-application_php/scm/revision',
display_name: 'Application Repository Revision',
description: 'The revision of application code to download from the repository. Example: 37741af646ca4181972902432859c1c3857de742',
required: 'required',
recipes: ['rs-application_php::default']
attribute 'rs-application_php/scm/deploy_key',
display_name: 'Application Deploy Key',
description: 'The private key to access the repository via SSH. Example: Cred:APP_DEPLOY_KEY',
required: 'optional',
recipes: ['rs-application_php::default']
attribute 'rs-application_php/application_name',
display_name: 'Application Name',
description: 'The name of the application. This name is used to generate the path of the' \
' application code and to determine the backend pool in a load balancer server that the' \
' application server will be attached to. Application names can have only alphanumeric' \
' characters and underscores. Example: hello_world',
required: 'required',
recipes: [
'rs-application_php::default',
'rs-application_php::tags',
'rs-application_php::application_backend',
'rs-application_php::application_backend_detached',
]
attribute 'rs-application_php/vhost_path',
display_name: 'Virtual Host Name/Path',
description: 'The virtual host served by the application server. The virtual host name can be' \
' a valid domain/path name supported by the access control lists (ACLs) in a load balancer.' \
' Ensure that no two application servers in the same deployment having the same' \
' application name have different vhost paths. Example: www.example.com, /index',
required: 'required',
recipes: [
'rs-application_php::tags',
'rs-application_php::application_backend',
]
attribute 'rs-application_php/app_root',
display_name: 'Application Root',
description: 'The path of application root relative to /usr/local/www/sites/<application name> directory. Example: my_app',
default: '/',
required: 'optional',
recipes: [
'rs-application_php::default',
'rs-application_php::tags',
]
attribute 'rs-application_php/bind_network_interface',
display_name: 'Application Bind Network Interface',
description: 'The network interface to use for the bind address of the application server.' \
" It can be either 'private' or 'public' interface.",
default: 'private',
choice: %w(public private),
required: 'optional',
recipes: [
'rs-application_php::default',
'rs-application_php::tags',
]
attribute 'rs-application_php/migration_command',
display_name: 'Application Migration Command',
description: 'The command used to perform application migration. Example: php app/console doctrine:migrations:migrate',
requried: 'optional',
recipes: ['rs-application_php::default']
attribute 'rs-application_php/database/host',
display_name: 'Database Host',
description: 'The FQDN of the database server. Example: db.example.com',
default: 'localhost',
required: 'recommended',
recipes: ['rs-application_php::default']
attribute 'rs-application_php/database/user',
display_name: 'MySQL Application Username',
description: 'The username used to connect to the database. Example: cred:MYSQL_APPLICATION_USERNAME',
required: 'recommended',
recipes: ['rs-application_php::default']
attribute 'rs-application_php/database/password',
display_name: 'MySQL Application Password',
description: 'The password used to connect to the database. Example: cred:MYSQL_APPLICATION_PASSWORD',
required: 'recommended',
recipes: ['rs-application_php::default']
attribute 'rs-application_php/database/schema',
display_name: 'MySQL Database Name',
description: 'The schema name used to connect to the database. Example: mydb',
required: 'recommended',
recipes: ['rs-application_php::default']
attribute 'rs-application_php/write_settings_file',
display_name: 'Write PHP settings file',
description: 'Write PHP settings file to config/db.php',
required: 'optional',
recipes: ['rs-application_php::default']
attribute 'rs-application_php/allow_override',
display_name: 'Allow Override',
description: 'Sets Allow Override to All or None to enable/disable .htaccess',
required: 'optional',
choice: %w(All None),
default: 'None',
recipes: ['rs-application_php::default']