bonethug 0.0.67 → 0.0.68

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.
Files changed (151) hide show
  1. data/.gitignore +1 -0
  2. data/Gemfile +0 -0
  3. data/ISSUES.txt +0 -0
  4. data/LICENSE.txt +0 -0
  5. data/README.md +0 -0
  6. data/Rakefile +0 -0
  7. data/TODO.txt +5 -4
  8. data/bin/bonethug +0 -0
  9. data/bin/thug +0 -0
  10. data/bonethug.gemspec +0 -0
  11. data/config/backup.rb +0 -0
  12. data/config/cnf.yml +184 -177
  13. data/config/deploy.rb +68 -26
  14. data/config/schedule.rb +0 -0
  15. data/config/syncer.rb +0 -0
  16. data/lib/bonethug/cli.rb +242 -242
  17. data/lib/bonethug/conf.rb +0 -0
  18. data/lib/bonethug/installer.rb +378 -378
  19. data/lib/bonethug/utils.rb +0 -0
  20. data/lib/bonethug/version.rb +2 -2
  21. data/lib/bonethug/watcher.rb +0 -0
  22. data/lib/bonethug.rb +0 -0
  23. data/lib/tasks/bonethug.rake +0 -0
  24. data/scripts/ubuntu_setup.sh +0 -0
  25. data/scripts/ubuntu_setup_2.4.sh +106 -0
  26. data/skel/base/.gitignore +0 -0
  27. data/skel/base/Gemfile +0 -0
  28. data/skel/base/README.md +0 -0
  29. data/skel/base/config/example/.gitkeep +0 -0
  30. data/skel/base/lib/.gitkeep +0 -0
  31. data/skel/base/log/.gitkeep +0 -0
  32. data/skel/base/public/favicon.ico +0 -0
  33. data/skel/base/public/robots.txt +0 -0
  34. data/skel/project_types/drupal/.gitignore +0 -0
  35. data/skel/project_types/drupal/composer.json +0 -0
  36. data/skel/project_types/drupal/lib/flush_drupal_cache.php +0 -0
  37. data/skel/project_types/drupal/public/sites/all/themes/project/.keep +0 -0
  38. data/skel/project_types/drupal/public/sites/default/development.settings.php +0 -0
  39. data/skel/project_types/drupal/public/sites/default/production.settings.php +0 -0
  40. data/skel/project_types/drupal/public/sites/default/settings.php +0 -0
  41. data/skel/project_types/drupal/public/sites/default/staging.settings.php +0 -0
  42. data/skel/project_types/drupal6/.gitignore +0 -0
  43. data/skel/project_types/drupal6/composer.json +0 -0
  44. data/skel/project_types/drupal6/lib/flush_drupal_cache.php +0 -0
  45. data/skel/project_types/drupal6/public/sites/all/themes/project/.keep +0 -0
  46. data/skel/project_types/drupal6/public/sites/default/development.settings.php +0 -0
  47. data/skel/project_types/drupal6/public/sites/default/production.settings.php +0 -0
  48. data/skel/project_types/drupal6/public/sites/default/settings.php +0 -0
  49. data/skel/project_types/drupal6/public/sites/default/staging.settings.php +0 -0
  50. data/skel/project_types/drupal7/.gitignore +0 -0
  51. data/skel/project_types/drupal7/composer.json +0 -0
  52. data/skel/project_types/drupal7/lib/flush_drupal_cache.php +0 -0
  53. data/skel/project_types/drupal7/public/sites/all/themes/project/.keep +0 -0
  54. data/skel/project_types/drupal7/public/sites/default/development.settings.php +0 -0
  55. data/skel/project_types/drupal7/public/sites/default/production.settings.php +0 -0
  56. data/skel/project_types/drupal7/public/sites/default/settings.php +0 -0
  57. data/skel/project_types/drupal7/public/sites/default/staging.settings.php +0 -0
  58. data/skel/project_types/drupal8/.gitignore +0 -0
  59. data/skel/project_types/drupal8/composer.json +0 -0
  60. data/skel/project_types/drupal8/lib/flush_drupal_cache.php +0 -0
  61. data/skel/project_types/drupal8/public/sites/all/themes/project/.keep +0 -0
  62. data/skel/project_types/drupal8/public/sites/default/development.settings.php +0 -0
  63. data/skel/project_types/drupal8/public/sites/default/production.settings.php +0 -0
  64. data/skel/project_types/drupal8/public/sites/default/settings.php +0 -0
  65. data/skel/project_types/drupal8/public/sites/default/staging.settings.php +0 -0
  66. data/skel/project_types/php/.gitignore +0 -0
  67. data/skel/project_types/php/composer.json +0 -0
  68. data/skel/project_types/rails3/Gemfile +0 -0
  69. data/skel/project_types/rails3/README.md +0 -0
  70. data/skel/project_types/rails4/Gemfile +0 -0
  71. data/skel/project_types/rails4/README.md +0 -0
  72. data/skel/project_types/rails4/app/assets/fonts/.keep +0 -0
  73. data/skel/project_types/rails4/app/assets/images/.keep +0 -0
  74. data/skel/project_types/rails4/app/assets/images/favicons/apple-touch-icon-114x114.png +0 -0
  75. data/skel/project_types/rails4/app/assets/images/favicons/apple-touch-icon-120x120.png +0 -0
  76. data/skel/project_types/rails4/app/assets/images/favicons/apple-touch-icon-144x144.png +0 -0
  77. data/skel/project_types/rails4/app/assets/images/favicons/apple-touch-icon-152x152.png +0 -0
  78. data/skel/project_types/rails4/app/assets/images/favicons/apple-touch-icon-57x57.png +0 -0
  79. data/skel/project_types/rails4/app/assets/images/favicons/apple-touch-icon-60x60.png +0 -0
  80. data/skel/project_types/rails4/app/assets/images/favicons/apple-touch-icon-72x72.png +0 -0
  81. data/skel/project_types/rails4/app/assets/images/favicons/apple-touch-icon-76x76.png +0 -0
  82. data/skel/project_types/rails4/app/assets/images/favicons/apple-touch-icon.png +0 -0
  83. data/skel/project_types/rails4/app/assets/images/favicons/favicon.ico +0 -0
  84. data/skel/project_types/rails4/app/assets/images/favicons/iconifier-readme.txt +0 -0
  85. data/skel/project_types/rails4/app/assets/javascripts/application.js +0 -0
  86. data/skel/project_types/rails4/app/assets/javascripts/lte-ie8-shims.js +0 -0
  87. data/skel/project_types/rails4/app/assets/javascripts/main.js.coffee +0 -0
  88. data/skel/project_types/rails4/app/assets/stylesheets/application.css.scss +0 -0
  89. data/skel/project_types/rails4/app/assets/stylesheets/main.scss +0 -0
  90. data/skel/project_types/rails4/app/controllers/errors_controller.rb +0 -0
  91. data/skel/project_types/rails4/app/helpers/application_helper.rb +0 -0
  92. data/skel/project_types/rails4/app/views/application/index.html.erb +0 -0
  93. data/skel/project_types/rails4/app/views/errors/not_found.html.erb +0 -0
  94. data/skel/project_types/rails4/app/views/errors/server_error.html.erb +0 -0
  95. data/skel/project_types/rails4/app/views/layouts/application.html.erb +0 -0
  96. data/skel/project_types/rails4/config/application.rb +0 -0
  97. data/skel/project_types/rails4/config/environments/development.rb +0 -0
  98. data/skel/project_types/rails4/config/environments/production.rb +0 -0
  99. data/skel/project_types/rails4/config/environments/staging.rb +0 -0
  100. data/skel/project_types/rails4/config/environments/test.rb +0 -0
  101. data/skel/project_types/rails4/config/routes.rb +0 -0
  102. data/skel/project_types/silverstripe3/.bowerrc +0 -0
  103. data/skel/project_types/silverstripe3/.gitignore +0 -0
  104. data/skel/project_types/silverstripe3/README.md +0 -0
  105. data/skel/project_types/silverstripe3/bower.json +0 -0
  106. data/skel/project_types/silverstripe3/composer.json +26 -26
  107. data/skel/project_types/silverstripe3/lib/ss_loadconf.php +0 -0
  108. data/skel/project_types/silverstripe3/public/.htaccess +0 -0
  109. data/skel/project_types/silverstripe3/public/_ss_environment.php +0 -0
  110. data/skel/project_types/silverstripe3/public/assets/error-404.html +0 -0
  111. data/skel/project_types/silverstripe3/public/assets/error-500.html +0 -0
  112. data/skel/project_types/silverstripe3/public/index.php.bak +0 -0
  113. data/skel/project_types/silverstripe3/public/project/.htaccess +0 -0
  114. data/skel/project_types/silverstripe3/public/project/_config/config.yml +0 -0
  115. data/skel/project_types/silverstripe3/public/project/_config.php +0 -0
  116. data/skel/project_types/silverstripe3/public/project/code/Controllers/.gitkeep +0 -0
  117. data/skel/project_types/silverstripe3/public/project/code/Extensions/.gitkeep +0 -0
  118. data/skel/project_types/silverstripe3/public/project/code/Forms/.gitkeep +0 -0
  119. data/skel/project_types/silverstripe3/public/project/code/Objects/.gitkeep +0 -0
  120. data/skel/project_types/silverstripe3/public/project/code/Pages/HomePage.php +0 -0
  121. data/skel/project_types/silverstripe3/public/project/code/Pages/Page.php +0 -0
  122. data/skel/project_types/silverstripe3/public/project/code/Pages/RootPage.php +0 -0
  123. data/skel/project_types/silverstripe3/public/project/code/Tasks/.gitkeep +0 -0
  124. data/skel/project_types/silverstripe3/public/project/coffee/application.js.coffee +0 -0
  125. data/skel/project_types/silverstripe3/public/project/javascript/.gitkeep +0 -0
  126. data/skel/project_types/silverstripe3/public/silverstripe-cache/.gitkeep +0 -0
  127. data/skel/project_types/silverstripe3/public/themes/project/css/.gitkeep +0 -0
  128. data/skel/project_types/silverstripe3/public/themes/project/css/editor.css +0 -0
  129. data/skel/project_types/silverstripe3/public/themes/project/css/typography.css +0 -0
  130. data/skel/project_types/silverstripe3/public/themes/project/images/favicons/apple-touch-icon-114x114.png +0 -0
  131. data/skel/project_types/silverstripe3/public/themes/project/images/favicons/apple-touch-icon-120x120.png +0 -0
  132. data/skel/project_types/silverstripe3/public/themes/project/images/favicons/apple-touch-icon-144x144.png +0 -0
  133. data/skel/project_types/silverstripe3/public/themes/project/images/favicons/apple-touch-icon-152x152.png +0 -0
  134. data/skel/project_types/silverstripe3/public/themes/project/images/favicons/apple-touch-icon-57x57.png +0 -0
  135. data/skel/project_types/silverstripe3/public/themes/project/images/favicons/apple-touch-icon-60x60.png +0 -0
  136. data/skel/project_types/silverstripe3/public/themes/project/images/favicons/apple-touch-icon-72x72.png +0 -0
  137. data/skel/project_types/silverstripe3/public/themes/project/images/favicons/apple-touch-icon-76x76.png +0 -0
  138. data/skel/project_types/silverstripe3/public/themes/project/images/favicons/apple-touch-icon.png +0 -0
  139. data/skel/project_types/silverstripe3/public/themes/project/images/favicons/favicon.ico +0 -0
  140. data/skel/project_types/silverstripe3/public/themes/project/images/favicons/iconifier-readme.txt +0 -0
  141. data/skel/project_types/silverstripe3/public/themes/project/scss/_functions.scss +0 -0
  142. data/skel/project_types/silverstripe3/public/themes/project/scss/_mixins.scss +0 -0
  143. data/skel/project_types/silverstripe3/public/themes/project/scss/_vars.scss +0 -0
  144. data/skel/project_types/silverstripe3/public/themes/project/scss/main.scss +0 -0
  145. data/skel/project_types/silverstripe3/public/themes/project/scss/typography.scss +0 -0
  146. data/skel/project_types/silverstripe3/public/themes/project/templates/Includes/.gitkeep +0 -0
  147. data/skel/project_types/silverstripe3/public/themes/project/templates/Layout/Page.ss +0 -0
  148. data/skel/project_types/silverstripe3/public/themes/project/templates/Layout/Security.ss +0 -0
  149. data/skel/project_types/silverstripe3/public/themes/project/templates/Page.ss +0 -0
  150. data/skel/skel.yml +0 -0
  151. metadata +3 -2
data/.gitignore CHANGED
@@ -15,6 +15,7 @@ rdoc
15
15
  spec/reports
16
16
  test/tmp
17
17
  test/version_tmp
18
+ .ruby-version
18
19
  tmp
19
20
  *.sublime-project
20
21
  *.sublime-workspace
data/Gemfile CHANGED
File without changes
data/ISSUES.txt CHANGED
File without changes
data/LICENSE.txt CHANGED
File without changes
data/README.md CHANGED
File without changes
data/Rakefile CHANGED
File without changes
data/TODO.txt CHANGED
@@ -1,4 +1,5 @@
1
- - Create front end skeleton
2
- - Need to have project specific cnf.yml files
3
- - Local sync for assets
4
- - thug auth {staging|production} - this would inject your ssh pub key into the authorized_keys file
1
+ - Create front end skeleton
2
+ - Need to have project specific cnf.yml files
3
+ - Local sync for assets
4
+ - thug auth {staging|production} - this would inject your ssh pub key into the authorized_keys file
5
+ - need to allow support for other environment types
data/bin/bonethug CHANGED
File without changes
data/bin/thug CHANGED
File without changes
data/bonethug.gemspec CHANGED
File without changes
data/config/backup.rb CHANGED
File without changes
data/config/cnf.yml CHANGED
@@ -1,178 +1,185 @@
1
- deploy:
2
- common:
3
- project_type: rails3 | rails4 | silverstripe3 | drupal6 | drupal7 | drupal8 | php | sinatra
4
- base_dir: /var/www
5
- repository: git@gitlab.....
6
- project_slug: tradespot
7
- default_branch: master
8
- domain: domain.com
9
- user: root
10
- port: 22
11
- keep: 2
12
- environments:
13
- development:
14
- staging:
15
- domain: staging.domain.com
16
- default_branch: master
17
- production:
18
- domain: production.domain.com
19
- default_branch: stable
20
- dbs:
21
- default:
22
- development:
23
- name: project_development
24
- user: project_development
25
- pass:
26
- host: localhost
27
- port: 3306
28
- staging:
29
- name: project_staging
30
- user: project_staging
31
- pass: passw0rd
32
- host: localhost
33
- port: 3306
34
- production:
35
- name: project_production
36
- user: project_production
37
- pass: passw0rd
38
- host: localhost
39
- port: 3306
40
- backup:
41
- local:
42
- keep:2
43
- ftp:
44
- keep: 10
45
- host: backup-host.com
46
- user: remote_backup
47
- pass: passw0rd
48
- sftp:
49
- keep: 10
50
- host: backup-host.com
51
- user: remote_backup
52
- pass: passw0rd
53
- s3:
54
- keep: 10
55
- key: key
56
- secret: secret
57
- bucket: bucket
58
- rsync:
59
- host: backup-host.com
60
- user: remote_backup
61
- pass: passw0rd
62
- mail:
63
- smtp:
64
- development:
65
- default_from:
66
- name: dev
67
- email: dev@domain.com
68
- server: smtp.gmail.com
69
- domain: gmail.com
70
- authenticate: true
71
- user: username@domain.com
72
- pass: passw0rd
73
- secure: tls
74
- charset_encoding: utf-8
75
- port: 587
76
- staging:
77
- default_from:
78
- name: staging
79
- email: dev@domain.com
80
- server: smtp.gmail.com
81
- domain: gmail.com
82
- authenticate: true
83
- user: username@domain.com
84
- pass: passw0rd
85
- secure: tls
86
- charset_encoding: utf-8
87
- port: 587
88
- production:
89
- default_from:
90
- name: production
91
- email: dev@domain.com
92
- server: smtp.gmail.com
93
- domain: gmail.com
94
- authenticate: true
95
- user: username@domain.com
96
- pass: passw0rd
97
- secure: tls
98
- charset_encoding: utf-8
99
- port: 587
100
- apache:
101
- development:
102
- version: 2.4
103
- server_name: development.domain.local
104
- server_aliases:
105
- - www.development.domain.local
106
- env_vars:
107
- RAILS_ENV: development
108
- APPLICATION_ENV: development
109
- staging:
110
- version: 2.2
111
- server_name: staging.domain.com
112
- server_aliases:
113
- - www.staging.domain.com
114
- env_vars:
115
- RAILS_ENV: staging
116
- APPLICATION_ENV: staging
117
- production:
118
- version: 2.4
119
- server_name: production.domain.com
120
- server_aliases:
121
- - www.production.domain.com
122
- server_admin: dev@domain.com
123
- env_vars:
124
- RAILS_ENV: production
125
- APPLICATION_ENV: production
126
- chown:
127
- development:
128
- staging:
129
- -
130
- path: public/uploads
131
- user: www-data
132
- production:
133
- -
134
- path: public/uploads
135
- user: www-data
136
- chmod:
137
- development:
138
- staging:
139
- -
140
- path: public/uploads
141
- mode: 775
142
- production:
143
- -
144
- path: public/uploads
145
- mode: 775
146
- chgrp:
147
- development:
148
- staging:
149
- -
150
- path: public/uploads
151
- group: www-data
152
- production:
153
- -
154
- path: public/uploads
155
- group: www-data
156
- resources:
157
- - public/assets
158
- - public/uploads
159
- vendor:
160
- - vendor
161
- - public/vendor
162
- watch:
163
- sass:
164
- -
165
- src: public/themes/project/scss
166
- dest: public/themes/project/css
167
- filter: !ruby/regexp '/main\.scss$/'
168
- -
169
- src: public/themes/project/scss
170
- dest: public/themes/project/css
171
- filter: !ruby/regexp '/typography\.scss$/'
172
- coffee:
173
- -
174
- src: public/project/coffee
175
- dest: public/project/javascript
176
- filter: !ruby/regexp '/^.+\.coffee$/'
177
- log_dirs:
1
+ deploy:
2
+ common:
3
+ project_type: rails3 | rails4 | silverstripe3 | drupal6 | drupal7 | drupal8 | php | sinatra
4
+ base_dir: /var/www
5
+ repository: git@gitlab.....
6
+ project_slug: tradespot
7
+ default_branch: master
8
+ domain: domain.com
9
+ user: root
10
+ port: 22
11
+ keep: 2
12
+ environments:
13
+ development:
14
+ staging:
15
+ domain: staging.domain.com
16
+ default_branch: master
17
+ production:
18
+ domain: production.domain.com
19
+ default_branch: stable
20
+ dbs:
21
+ default:
22
+ development:
23
+ name: project_development
24
+ user: project_development
25
+ pass:
26
+ host: localhost
27
+ port: 3306
28
+ staging:
29
+ name: project_staging
30
+ user: project_staging
31
+ pass: passw0rd
32
+ host: localhost
33
+ port: 3306
34
+ production:
35
+ name: project_production
36
+ user: project_production
37
+ pass: passw0rd
38
+ host: localhost
39
+ port: 3306
40
+ backup:
41
+ local:
42
+ keep:2
43
+ ftp:
44
+ keep: 10
45
+ host: backup-host.com
46
+ user: remote_backup
47
+ pass: passw0rd
48
+ sftp:
49
+ keep: 10
50
+ host: backup-host.com
51
+ user: remote_backup
52
+ pass: passw0rd
53
+ s3:
54
+ keep: 10
55
+ key: key
56
+ secret: secret
57
+ bucket: bucket
58
+ rsync:
59
+ host: backup-host.com
60
+ user: remote_backup
61
+ pass: passw0rd
62
+ mail:
63
+ smtp:
64
+ development:
65
+ default_from:
66
+ name: dev
67
+ email: dev@domain.com
68
+ server: smtp.gmail.com
69
+ domain: gmail.com
70
+ authenticate: true
71
+ user: username@domain.com
72
+ pass: passw0rd
73
+ secure: tls
74
+ charset_encoding: utf-8
75
+ port: 587
76
+ staging:
77
+ default_from:
78
+ name: staging
79
+ email: dev@domain.com
80
+ server: smtp.gmail.com
81
+ domain: gmail.com
82
+ authenticate: true
83
+ user: username@domain.com
84
+ pass: passw0rd
85
+ secure: tls
86
+ charset_encoding: utf-8
87
+ port: 587
88
+ production:
89
+ default_from:
90
+ name: production
91
+ email: dev@domain.com
92
+ server: smtp.gmail.com
93
+ domain: gmail.com
94
+ authenticate: true
95
+ user: username@domain.com
96
+ pass: passw0rd
97
+ secure: tls
98
+ charset_encoding: utf-8
99
+ port: 587
100
+ apache:
101
+ development:
102
+ version: 2.4
103
+ server_name: development.domain.local
104
+ server_aliases:
105
+ - www.development.domain.local
106
+ env_vars:
107
+ RAILS_ENV: development
108
+ APPLICATION_ENV: development
109
+ staging:
110
+ version: 2.2
111
+ server_name: staging.domain.com
112
+ server_aliases:
113
+ - www.staging.domain.com
114
+ env_vars:
115
+ RAILS_ENV: staging
116
+ APPLICATION_ENV: staging
117
+ basic_auth:
118
+ -
119
+ user: username1
120
+ pass: passw0rd1
121
+ -
122
+ user: username2
123
+ pass: passw0rd2
124
+ production:
125
+ version: 2.4
126
+ server_name: production.domain.com
127
+ server_aliases:
128
+ - www.production.domain.com
129
+ server_admin: dev@domain.com
130
+ env_vars:
131
+ RAILS_ENV: production
132
+ APPLICATION_ENV: production
133
+ chown:
134
+ development:
135
+ staging:
136
+ -
137
+ path: public/uploads
138
+ user: www-data
139
+ production:
140
+ -
141
+ path: public/uploads
142
+ user: www-data
143
+ chmod:
144
+ development:
145
+ staging:
146
+ -
147
+ path: public/uploads
148
+ mode: 775
149
+ production:
150
+ -
151
+ path: public/uploads
152
+ mode: 775
153
+ chgrp:
154
+ development:
155
+ staging:
156
+ -
157
+ path: public/uploads
158
+ group: www-data
159
+ production:
160
+ -
161
+ path: public/uploads
162
+ group: www-data
163
+ resources:
164
+ - public/assets
165
+ - public/uploads
166
+ vendor:
167
+ - vendor
168
+ - public/vendor
169
+ watch:
170
+ sass:
171
+ -
172
+ src: public/themes/project/scss
173
+ dest: public/themes/project/css
174
+ filter: !ruby/regexp '/main\.scss$/'
175
+ -
176
+ src: public/themes/project/scss
177
+ dest: public/themes/project/css
178
+ filter: !ruby/regexp '/typography\.scss$/'
179
+ coffee:
180
+ -
181
+ src: public/project/coffee
182
+ dest: public/project/javascript
183
+ filter: !ruby/regexp '/^.+\.coffee$/'
184
+ log_dirs:
178
185
  - log
data/config/deploy.rb CHANGED
@@ -36,7 +36,7 @@ raise 'could not find deployment environment' unless conf.get('deploy.environmen
36
36
  deploy = conf.node_merge('deploy.common','deploy.environments.'+env)
37
37
  resources = conf.get('resources','Array') || []
38
38
  log_dirs = conf.get('log_dirs','Array') || []
39
- vendor = conf.get('vendor','Array') || []
39
+ vendor = conf.get('vendor','Array') || []
40
40
 
41
41
  # vhost name
42
42
  vhost = deploy.get('project_slug') + '_' + env
@@ -44,7 +44,7 @@ vhost = deploy.get('project_slug') + '_' + env
44
44
  # composer?
45
45
  use_composer = ['silverstripe','silverstripe3','drupal','drupal6','drupal7','drupal8','php'].include? deploy.get('project_type')
46
46
 
47
- # composer?
47
+ # bower?
48
48
  use_bower = ['silverstripe','silverstripe3','drupal','drupal6','drupal7','drupal8','php'].include? deploy.get('project_type')
49
49
 
50
50
  # directories we need to track
@@ -72,7 +72,7 @@ set :user, deploy.get('user')
72
72
  set :port, deploy.get('port')
73
73
  set :rails_env, env
74
74
  set :shared_paths, shared
75
-
75
+
76
76
 
77
77
  # Tasks
78
78
  # ---------------------------------------------------------------
@@ -94,7 +94,7 @@ task :setup => :environment do
94
94
  resources.each do |path|
95
95
  queue! %[chown -R www-data:www-data "#{deploy_to}/shared/#{path}"]
96
96
  queue! %[chmod -R 0775 "#{deploy_to}/shared/#{path}"]
97
- end
97
+ end
98
98
 
99
99
  # set appropriate permissions on the logs
100
100
  log_dirs.each do |path|
@@ -109,11 +109,11 @@ task :setup => :environment do
109
109
  queue! %[mkdir -p "#{deploy_to}/shared/tmp"]
110
110
  queue! %[touch "#{deploy_to}/shared/tmp/restart.txt"]
111
111
  queue! %[cd #{deploy_to}/shared/tmp && chown -R www-data:www-data . && chmod -R 775 .]
112
-
112
+
113
113
  # init composer
114
114
  if use_composer
115
115
  queue! %[mkdir -p "#{deploy_to}/shared/vendor"]
116
- queue! %[cd #{deploy_to}/shared && curl -s http://getcomposer.org/installer | php]
116
+ queue! %[cd #{deploy_to}/shared && curl -s http://getcomposer.org/installer | php]
117
117
  end
118
118
 
119
119
  # create the backup folder
@@ -130,7 +130,7 @@ end
130
130
 
131
131
  desc "Sets up an environment"
132
132
  task :setup_env => :environment do
133
- Bonethug::Installer.get_setup_env_cmds.each do |cmd|
133
+ Bonethug::Installer.get_setup_env_cmds.each do |cmd|
134
134
  queue! %[#{cmd}]
135
135
  end
136
136
  end
@@ -159,7 +159,7 @@ task :init_db => :environment do
159
159
 
160
160
  #rails
161
161
  queue! %[cd #{deploy_to}/current && bundle exec rake db:reset RAILS_ENV="#{env}"] if deploy.get('project_type') =~ /rails[0-9]?/
162
-
162
+
163
163
  # drpual
164
164
  if deploy.get('project_type') =~ /drupal[0-9]?/
165
165
  conf.get('dbs').each do |name,envs|
@@ -178,18 +178,18 @@ end
178
178
 
179
179
  desc "Syncs files to a location"
180
180
  task :sync_from => :environment do
181
- if rsync = conf.get('backup.rsync')
181
+ if rsync = conf.get('backup.rsync')
182
182
  path = deploy.get('project_slug') + "_" + env + "_sync"
183
183
  ssh_pass = rsync.get('pass') ? "sshpass -p #{rsync.get('pass')}" : ""
184
184
  queue! %[#{ssh_pass} ssh #{rsync.get('user')}@#{rsync.get('host')} mkdir -p #{path}]
185
185
  (resources + log_dirs).each do |item|
186
-
186
+
187
187
  queue! %[cd #{deploy_to}/current && rsync -r -a -v -e "#{ssh_pass} ssh -l #{rsync.get('user')}" --delete --copy-dirlinks ./#{item} #{rsync.get('host')}:#{path}/]
188
188
 
189
189
  end
190
190
  else
191
191
  raise 'no rsync conf'
192
- end
192
+ end
193
193
  end
194
194
 
195
195
  desc "Restores files from a location"
@@ -201,7 +201,7 @@ task :sync_to => :environment do
201
201
  (resources + log_dirs).each do |item|
202
202
 
203
203
  queue! %[cd #{deploy_to}/current && rsync -r -a -v -e "#{ssh_pass} ssh -l #{rsync.get('user')}" --delete --copy-dirlinks #{rsync.get('host')}:#{path}/#{item} ./]
204
-
204
+
205
205
  end
206
206
  else
207
207
  raise 'no rsync conf'
@@ -272,7 +272,7 @@ task :deploy => :environment do
272
272
  Order allow,deny
273
273
  Allow from all
274
274
  #{vh_cnf.get('version').to_f > 2.4 ? 'Require all granted' : ''}
275
-
275
+
276
276
  </Directory>
277
277
 
278
278
  </VirtualHost>
@@ -296,7 +296,7 @@ task :deploy => :environment do
296
296
  # ensure that the correct directory permissions are set - public is a bit heavy handed
297
297
  queue! %[cd #{deploy_to}/current/public && chown -R www-data:www-data . && chmod -R 775 .]
298
298
  queue! %[cd #{deploy_to}/shared/tmp && chown -R www-data:www-data . && chmod -R 775 .]
299
-
299
+
300
300
  # set appropriate permissions on the resource dirs - if they just need read / write - should prob be 0666
301
301
  resources.each do |path|
302
302
  queue! %[chown -R www-data:www-data "#{deploy_to}/shared/#{path}"]
@@ -307,23 +307,23 @@ task :deploy => :environment do
307
307
  chowns = conf.get('chown.'+env)
308
308
  if chowns
309
309
  chowns.each do |index, chown|
310
- queue! %[cd #{deploy_to}/current/#{chown.get('path')} && chown -R #{chown.get('user')} .]
310
+ queue! %[chown -R #{chown.get('user')} #{deploy_to}/current/#{chown.get('path')}]
311
311
  end
312
312
  end
313
-
313
+
314
314
  # apply defined permissions
315
315
  chgrps = conf.get('chgrp.'+env)
316
316
  if chgrps
317
317
  chgrps.each do |index, chgrp|
318
- queue! %[cd #{deploy_to}/current/#{chgrp.get('path')} && chgrp -R #{chgrp.get('group')} .]
318
+ queue! %[chgrp -R #{chgrp.get('group')} #{deploy_to}/current/#{chgrp.get('path')}]
319
319
  end
320
- end
321
-
320
+ end
321
+
322
322
  # apply defined permissions
323
323
  chmods = conf.get('chmod.'+env)
324
324
  if chmods
325
325
  chmods.each do |index, chmod|
326
- queue! %[cd #{deploy_to}/current/#{chmod.get('path')} && chmod -R #{chmod.get('mode')} .]
326
+ queue! %[chmod -R #{chmod.get('mode')} #{deploy_to}/current/#{chmod.get('path')}]
327
327
  end
328
328
  end
329
329
 
@@ -331,17 +331,59 @@ task :deploy => :environment do
331
331
  queue! %[php #{deploy_to}/shared/composer.phar install] if use_composer
332
332
 
333
333
  # update bower
334
- queue! %[cd #{deploy_to}/current && bower install --allow-root] if use_bower
334
+ queue! %[cd #{deploy_to}/current && bower install --allow-root] if use_bower
335
+
336
+ # trigger a restart on rack based systems
337
+ queue! %[touch #{deploy_to}/current/tmp/restart.txt]
338
+
339
+ # handle basic auth
340
+ if vh_cnf.get 'basic_auth'
341
+
342
+ # handle auto creation of .htaccess
343
+ htaccess = "
344
+ ## BONETHUG ##
345
+ AuthName \"test\"
346
+ AuthType Basic
347
+ AuthUserFile #{deploy_to}/current/.htpasswd
348
+ require valid-user
349
+ ## END_BONETHUG ##
350
+ "
351
+
352
+ # htaccess
353
+ htpass = ""
354
+ vh_cnf.get('basic_auth').each do |index, cred|
355
+ htpass += cred.get('user').to_s + ":" + cred.get('pass').to_s.crypt('bonethugisreallydope') + "\n"
356
+ end
357
+
358
+ # write the to the .haccess file
359
+ queue! %[touch #{deploy_to}/current/public/.htaccess]
360
+ clean = File.read("#{deploy_to}/current/public/.htaccess").gsub(/\n?## BONETHUG ##.+## END_BONETHUG ##\n?/m, '');
361
+ escaped = (clean.to_s + htaccess).gsub(/"/, '\"')
362
+ queue! %[echo "#{escaped}" > #{deploy_to}/current/public/.htaccess]
335
363
 
336
- # trigger a restart on rack based systems
337
- queue! %[touch #{deploy_to}/current/tmp/restart.txt]
364
+ # write to the .htpasswd file
365
+ queue! %[touch #{deploy_to}/current/.htpasswd]
366
+ queue! %[echo "#{htpass}" > #{deploy_to}/current/.htpasswd]
367
+ else
338
368
 
339
- # handle apache and cron
369
+ # write the to the .haccess file
370
+ queue! %[touch #{deploy_to}/current/public/.htaccess]
371
+ clean = File.read("#{deploy_to}/current/public/.htaccess").gsub(/\n?## BONETHUG ##.+## END_BONETHUG ##\n?/m, '');
372
+ escaped = (clean.to_s).gsub(/"/, '\"')
373
+ queue! %[echo "#{escaped}" > #{deploy_to}/current/public/.htaccess]
374
+
375
+ end
376
+
377
+ # handle apache
340
378
  queue! %[a2ensite #{vhost}.conf]
341
379
  queue! %[/etc/init.d/apache2 reload]
380
+
381
+ # handle cron
342
382
  invoke :'whenever:update'
383
+ queue "echo \"\nPlease review the crontab below!!\n\n\""
384
+ queue 'crontab -l'
343
385
 
344
- # run chache flushes / manifest rebuilds
386
+ # run cache flushes / manifest rebuilds
345
387
  queue! %[export APPLICATION_ENV=#{env} && php #{deploy_to}/current/public/framework/cli-script.php dev/build] if ['silverstripe','silverstripe3'].include? deploy.get('project_type')
346
388
  queue! %[cd #{deploy_to}/current/lib && php flush_drupal_cache.php] if ['drupal','drupal6','drupal7','drupal8'].include? deploy.get('project_type')
347
389
 
@@ -350,7 +392,7 @@ task :deploy => :environment do
350
392
 
351
393
  # cleanup!
352
394
  invoke :'deploy:cleanup'
353
-
395
+
354
396
  end
355
397
  end
356
398
  end
data/config/schedule.rb CHANGED
File without changes
data/config/syncer.rb CHANGED
File without changes