openshift-origin-console 1.3.2

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 (291) hide show
  1. data/COPYRIGHT +1 -0
  2. data/Gemfile +21 -0
  3. data/LICENSE +203 -0
  4. data/README.md +123 -0
  5. data/Rakefile +44 -0
  6. data/app/assets/images/cartridge-edge.gif +0 -0
  7. data/app/assets/images/console/arrow-down.png +0 -0
  8. data/app/assets/images/console/console-sprite.png +0 -0
  9. data/app/assets/images/favicon-32.png +0 -0
  10. data/app/assets/images/loader-dark.gif +0 -0
  11. data/app/assets/images/loader.gif +0 -0
  12. data/app/assets/images/sprite-vert.png +0 -0
  13. data/app/assets/javascripts/console.js +10 -0
  14. data/app/assets/javascripts/console/form.js.coffee +51 -0
  15. data/app/assets/stylesheets/_alerts.scss +84 -0
  16. data/app/assets/stylesheets/_breadcrumbs.scss +31 -0
  17. data/app/assets/stylesheets/_buttons.scss +229 -0
  18. data/app/assets/stylesheets/_code.scss +86 -0
  19. data/app/assets/stylesheets/_custom.scss +207 -0
  20. data/app/assets/stylesheets/_footer.scss +54 -0
  21. data/app/assets/stylesheets/_forms.scss +710 -0
  22. data/app/assets/stylesheets/_grid.scss +28 -0
  23. data/app/assets/stylesheets/_input-prepend-append.scss +138 -0
  24. data/app/assets/stylesheets/_labels.scss +40 -0
  25. data/app/assets/stylesheets/_mixins.scss +76 -0
  26. data/app/assets/stylesheets/_override-variables.scss +1 -0
  27. data/app/assets/stylesheets/_responsive.scss +438 -0
  28. data/app/assets/stylesheets/_ribbon.scss +57 -0
  29. data/app/assets/stylesheets/_type.scss +306 -0
  30. data/app/assets/stylesheets/_utilities.scss +10 -0
  31. data/app/assets/stylesheets/_variables.scss +131 -0
  32. data/app/assets/stylesheets/common.css.scss +82 -0
  33. data/app/assets/stylesheets/console/_application.scss +194 -0
  34. data/app/assets/stylesheets/console/_base.scss +26 -0
  35. data/app/assets/stylesheets/console/_breadcrumbs.scss +32 -0
  36. data/app/assets/stylesheets/console/_buttons.scss +214 -0
  37. data/app/assets/stylesheets/console/_core.scss +1002 -0
  38. data/app/assets/stylesheets/console/_dropdowns.scss +63 -0
  39. data/app/assets/stylesheets/console/_help.scss +54 -0
  40. data/app/assets/stylesheets/console/_mixins.scss +11 -0
  41. data/app/assets/stylesheets/console/_navbar.scss +415 -0
  42. data/app/assets/stylesheets/console/_ribbon.scss +82 -0
  43. data/app/assets/stylesheets/console/_tile.scss +122 -0
  44. data/app/assets/stylesheets/origin.css.scss +37 -0
  45. data/app/controllers/account/dashboard.rb +13 -0
  46. data/app/controllers/account_controller.rb +3 -0
  47. data/app/controllers/application_types_controller.rb +80 -0
  48. data/app/controllers/applications_controller.rb +183 -0
  49. data/app/controllers/building_controller.rb +81 -0
  50. data/app/controllers/capability_aware.rb +18 -0
  51. data/app/controllers/cartridge_types_controller.rb +53 -0
  52. data/app/controllers/cartridges_controller.rb +43 -0
  53. data/app/controllers/console/auth/basic.rb +65 -0
  54. data/app/controllers/console/auth/none.rb +5 -0
  55. data/app/controllers/console/auth/remote_user.rb +69 -0
  56. data/app/controllers/console/rescue.rb +48 -0
  57. data/app/controllers/console_controller.rb +19 -0
  58. data/app/controllers/console_index_controller.rb +14 -0
  59. data/app/controllers/domain_aware.rb +26 -0
  60. data/app/controllers/domain_session_sweeper.rb +29 -0
  61. data/app/controllers/domains_controller.rb +30 -0
  62. data/app/controllers/keys_controller.rb +43 -0
  63. data/app/controllers/scaling_controller.rb +46 -0
  64. data/app/controllers/sshkey_aware.rb +23 -0
  65. data/app/controllers/sshkey_session_sweeper.rb +29 -0
  66. data/app/controllers/user_session_sweeper.rb +29 -0
  67. data/app/helpers/console/community_helper.rb +78 -0
  68. data/app/helpers/console/console_helper.rb +26 -0
  69. data/app/helpers/console/help_helper.rb +270 -0
  70. data/app/helpers/console/html5_boilerplate_helper.rb +63 -0
  71. data/app/helpers/console/layout_helper.rb +277 -0
  72. data/app/helpers/console/model_helper.rb +106 -0
  73. data/app/helpers/console/secured_helper.rb +5 -0
  74. data/app/models/alias.rb +10 -0
  75. data/app/models/application.rb +148 -0
  76. data/app/models/application_associations.rb +36 -0
  77. data/app/models/application_template.rb +90 -0
  78. data/app/models/application_type.rb +258 -0
  79. data/app/models/async_aware.rb +60 -0
  80. data/app/models/capabilities.rb +62 -0
  81. data/app/models/cartridge.rb +122 -0
  82. data/app/models/cartridge_type.rb +140 -0
  83. data/app/models/domain.rb +44 -0
  84. data/app/models/domain_associations.rb +33 -0
  85. data/app/models/embedded.rb +11 -0
  86. data/app/models/gear.rb +13 -0
  87. data/app/models/gear_group.rb +104 -0
  88. data/app/models/key.rb +87 -0
  89. data/app/models/quickstart.rb +135 -0
  90. data/app/models/rest_api.rb +130 -0
  91. data/app/models/rest_api/base.rb +781 -0
  92. data/app/models/rest_api/cacheable.rb +91 -0
  93. data/app/models/rest_api/environment.rb +13 -0
  94. data/app/models/rest_api/info.rb +34 -0
  95. data/app/models/rest_api/log_subscriber.rb +29 -0
  96. data/app/models/rest_api/railties/controller_runtime.rb +37 -0
  97. data/app/models/user.rb +27 -0
  98. data/app/models/user_associations.rb +6 -0
  99. data/app/views/account/_domain.html.haml +14 -0
  100. data/app/views/account/_keys.html.haml +20 -0
  101. data/app/views/account/_user.html.haml +5 -0
  102. data/app/views/account/show.html.haml +15 -0
  103. data/app/views/application_templates/_application_template.html.haml +5 -0
  104. data/app/views/application_types/_application_type.html.haml +19 -0
  105. data/app/views/application_types/_custom.html.haml +19 -0
  106. data/app/views/application_types/_persisted.html.haml +26 -0
  107. data/app/views/application_types/_tile.html.haml +9 -0
  108. data/app/views/application_types/index.html.haml +87 -0
  109. data/app/views/application_types/search.html.haml +67 -0
  110. data/app/views/application_types/show.html.haml +219 -0
  111. data/app/views/applications/_application.html.haml +34 -0
  112. data/app/views/applications/_applications_filter.html.haml +8 -0
  113. data/app/views/applications/_footer.html.haml +0 -0
  114. data/app/views/applications/_name.html.haml +28 -0
  115. data/app/views/applications/delete.html.haml +19 -0
  116. data/app/views/applications/get_started.html.haml +145 -0
  117. data/app/views/applications/index.html.haml +55 -0
  118. data/app/views/applications/show.html.haml +193 -0
  119. data/app/views/building/delete.html.haml +22 -0
  120. data/app/views/building/new.html.haml +57 -0
  121. data/app/views/building/show.html.haml +12 -0
  122. data/app/views/cartridge_types/_cartridge_type.html.haml +61 -0
  123. data/app/views/cartridge_types/index.html.haml +37 -0
  124. data/app/views/cartridge_types/show.html.haml +21 -0
  125. data/app/views/cartridges/next_steps.html.haml +58 -0
  126. data/app/views/cartridges/show.html.haml +1 -0
  127. data/app/views/console/error.html.haml +58 -0
  128. data/app/views/console/help.html.haml +90 -0
  129. data/app/views/console/not_found.html.haml +69 -0
  130. data/app/views/console/unauthorized.html.haml +7 -0
  131. data/app/views/domains/_domain.html.haml +14 -0
  132. data/app/views/domains/_form.html.haml +13 -0
  133. data/app/views/domains/edit.html.haml +5 -0
  134. data/app/views/domains/new.html.haml +6 -0
  135. data/app/views/keys/_form.html.haml +14 -0
  136. data/app/views/keys/_simple_form.html.haml +14 -0
  137. data/app/views/keys/new.html.haml +2 -0
  138. data/app/views/layouts/_footer.html.haml +38 -0
  139. data/app/views/layouts/_head.html.haml +35 -0
  140. data/app/views/layouts/console.html.haml +60 -0
  141. data/app/views/layouts/console/_header.html.haml +44 -0
  142. data/app/views/layouts/console/_identity.html.haml +7 -0
  143. data/app/views/layouts/console/_javascripts.html.haml +5 -0
  144. data/app/views/layouts/console/_stylesheets.html.haml +6 -0
  145. data/app/views/scaling/delete.html.haml +17 -0
  146. data/app/views/scaling/new.html.haml +24 -0
  147. data/app/views/scaling/show.html.haml +81 -0
  148. data/app/views/shared/_tracking.html.haml +0 -0
  149. data/conf/console.conf.example +108 -0
  150. data/conf/openshift_console.conf +10 -0
  151. data/config/cartridge_types.yml +54 -0
  152. data/config/initializers/barista_config.rb +86 -0
  153. data/config/initializers/cartridge_types.rb +5 -0
  154. data/config/initializers/console_security.rb +1 -0
  155. data/config/initializers/date_helper.rb +5 -0
  156. data/config/initializers/extended_logger.rb +51 -0
  157. data/config/initializers/formtastic.rb +100 -0
  158. data/config/initializers/inflections.rb +38 -0
  159. data/config/initializers/rdiscount.rb +8 -0
  160. data/config/initializers/rest_api.rb +22 -0
  161. data/config/initializers/sass.rb +30 -0
  162. data/config/initializers/session_trace.rb +32 -0
  163. data/config/initializers/x_frame_options.rb +53 -0
  164. data/config/locales/en.yml +12 -0
  165. data/lib/active_resource/associations.rb +107 -0
  166. data/lib/active_resource/associations/builder/association.rb +35 -0
  167. data/lib/active_resource/associations/builder/belongs_to.rb +5 -0
  168. data/lib/active_resource/associations/builder/has_many.rb +5 -0
  169. data/lib/active_resource/associations/builder/has_one.rb +5 -0
  170. data/lib/active_resource/persistent_connection.rb +341 -0
  171. data/lib/active_resource/persistent_http_mock.rb +68 -0
  172. data/lib/active_resource/reflection.rb +78 -0
  173. data/lib/console.rb +8 -0
  174. data/lib/console/config_file.rb +13 -0
  175. data/lib/console/configuration.rb +163 -0
  176. data/lib/console/engine.rb +28 -0
  177. data/lib/console/formtastic/bootstrap_form_builder.rb +369 -0
  178. data/lib/console/rails/app_redirector.rb +40 -0
  179. data/lib/console/rails/filter_hash.rb +15 -0
  180. data/lib/console/rails/routes.rb +51 -0
  181. data/lib/console/version.rb +5 -0
  182. data/lib/tasks/assets.rake +79 -0
  183. data/lib/tasks/stats.rake +18 -0
  184. data/lib/tasks/test_suites.rake +73 -0
  185. data/test/coverage_helper.rb +27 -0
  186. data/test/fixtures/cartridges.json +1 -0
  187. data/test/fixtures/quickstarts.csv +3 -0
  188. data/test/functional/account_controller_test.rb +14 -0
  189. data/test/functional/application_types_controller_test.rb +251 -0
  190. data/test/functional/applications_controller_sanity_test.rb +26 -0
  191. data/test/functional/applications_controller_test.rb +365 -0
  192. data/test/functional/building_controller_test.rb +203 -0
  193. data/test/functional/cartridge_types_controller_isolation_test.rb +68 -0
  194. data/test/functional/cartridge_types_controller_test.rb +48 -0
  195. data/test/functional/cartridges_controller_test.rb +83 -0
  196. data/test/functional/console_auth_basic_controller_test.rb +82 -0
  197. data/test/functional/console_auth_remote_user_controller_test.rb +90 -0
  198. data/test/functional/console_index_controller_test.rb +22 -0
  199. data/test/functional/domains_controller_test.rb +194 -0
  200. data/test/functional/keys_controller_test.rb +163 -0
  201. data/test/functional/quickstarts.json +18 -0
  202. data/test/functional/scaling_controller_test.rb +153 -0
  203. data/test/integration/assets_test.rb +34 -0
  204. data/test/integration/help_link_test.rb +43 -0
  205. data/test/integration/quickstarts_test.rb +24 -0
  206. data/test/integration/rescue_from_test.rb +25 -0
  207. data/test/integration/rest_api/application_test.rb +115 -0
  208. data/test/integration/rest_api/cartridge_test.rb +44 -0
  209. data/test/integration/rest_api/cartridge_type_test.rb +143 -0
  210. data/test/integration/rest_api/domain_test.rb +91 -0
  211. data/test/integration/rest_api/info_test.rb +9 -0
  212. data/test/integration/rest_api/key_test.rb +85 -0
  213. data/test/integration/static_pages_test.rb +44 -0
  214. data/test/rails_app/Rakefile +7 -0
  215. data/test/rails_app/app/controllers/application_controller.rb +5 -0
  216. data/test/rails_app/config.ru +4 -0
  217. data/test/rails_app/config/application.rb +48 -0
  218. data/test/rails_app/config/boot.rb +10 -0
  219. data/test/rails_app/config/database.yml +25 -0
  220. data/test/rails_app/config/environment.rb +5 -0
  221. data/test/rails_app/config/environments/development.rb +38 -0
  222. data/test/rails_app/config/environments/production.rb +70 -0
  223. data/test/rails_app/config/environments/test.rb +43 -0
  224. data/test/rails_app/config/initializers/auth.rb +0 -0
  225. data/test/rails_app/config/initializers/backtrace_silencers.rb +7 -0
  226. data/test/rails_app/config/initializers/inflections.rb +10 -0
  227. data/test/rails_app/config/initializers/mime_types.rb +5 -0
  228. data/test/rails_app/config/initializers/secret_token.rb +7 -0
  229. data/test/rails_app/config/initializers/session_store.rb +8 -0
  230. data/test/rails_app/config/locales/en.yml +5 -0
  231. data/test/rails_app/config/routes.rb +4 -0
  232. data/test/rails_app/script/rails +6 -0
  233. data/test/support/auth.rb +111 -0
  234. data/test/support/base.rb +142 -0
  235. data/test/support/errors.rb +28 -0
  236. data/test/support/rest_api.rb +189 -0
  237. data/test/test_helper.rb +14 -0
  238. data/test/unit/active_model_compliance_test.rb +23 -0
  239. data/test/unit/async_aware_test.rb +55 -0
  240. data/test/unit/configuration_test.rb +158 -0
  241. data/test/unit/filter_hash_test.rb +64 -0
  242. data/test/unit/helpers/model_helper_test.rb +61 -0
  243. data/test/unit/overrides_test.rb +9 -0
  244. data/test/unit/rest_api_test.rb +1590 -0
  245. data/vendor/assets/javascripts/MIT-LICENSE.txt +20 -0
  246. data/vendor/assets/javascripts/bootstrap-collapse.js +157 -0
  247. data/vendor/assets/javascripts/bootstrap-dropdown.js +100 -0
  248. data/vendor/assets/javascripts/bootstrap-tab.js +135 -0
  249. data/vendor/assets/javascripts/bootstrap-transition.js +61 -0
  250. data/vendor/assets/javascripts/jquery.spin.js +47 -0
  251. data/vendor/assets/javascripts/jquery.ui.widget.js +16 -0
  252. data/vendor/assets/javascripts/jquery_cookie.js +41 -0
  253. data/vendor/assets/javascripts/jquery_validate_min.js +51 -0
  254. data/vendor/assets/javascripts/modernizr.min.js +2 -0
  255. data/vendor/assets/javascripts/plugins.js +16 -0
  256. data/vendor/assets/stylesheets/bootstrap/_accordion.scss +28 -0
  257. data/vendor/assets/stylesheets/bootstrap/_alerts.scss +70 -0
  258. data/vendor/assets/stylesheets/bootstrap/_breadcrumbs.scss +22 -0
  259. data/vendor/assets/stylesheets/bootstrap/_button-groups.scss +147 -0
  260. data/vendor/assets/stylesheets/bootstrap/_buttons.scss +183 -0
  261. data/vendor/assets/stylesheets/bootstrap/_carousel.scss +121 -0
  262. data/vendor/assets/stylesheets/bootstrap/_close.scss +18 -0
  263. data/vendor/assets/stylesheets/bootstrap/_code.scss +57 -0
  264. data/vendor/assets/stylesheets/bootstrap/_component-animations.scss +18 -0
  265. data/vendor/assets/stylesheets/bootstrap/_dropdowns.scss +130 -0
  266. data/vendor/assets/stylesheets/bootstrap/_forms.scss +522 -0
  267. data/vendor/assets/stylesheets/bootstrap/_grid.scss +8 -0
  268. data/vendor/assets/stylesheets/bootstrap/_hero-unit.scss +20 -0
  269. data/vendor/assets/stylesheets/bootstrap/_labels.scss +32 -0
  270. data/vendor/assets/stylesheets/bootstrap/_layouts.scss +17 -0
  271. data/vendor/assets/stylesheets/bootstrap/_mixins.scss +602 -0
  272. data/vendor/assets/stylesheets/bootstrap/_modals.scss +84 -0
  273. data/vendor/assets/stylesheets/bootstrap/_navbar.scss +299 -0
  274. data/vendor/assets/stylesheets/bootstrap/_navs.scss +353 -0
  275. data/vendor/assets/stylesheets/bootstrap/_pager.scss +30 -0
  276. data/vendor/assets/stylesheets/bootstrap/_pagination.scss +55 -0
  277. data/vendor/assets/stylesheets/bootstrap/_popovers.scss +49 -0
  278. data/vendor/assets/stylesheets/bootstrap/_progress-bars.scss +95 -0
  279. data/vendor/assets/stylesheets/bootstrap/_reset.scss +126 -0
  280. data/vendor/assets/stylesheets/bootstrap/_scaffolding.scss +33 -0
  281. data/vendor/assets/stylesheets/bootstrap/_sprites.scss +158 -0
  282. data/vendor/assets/stylesheets/bootstrap/_tables.scss +150 -0
  283. data/vendor/assets/stylesheets/bootstrap/_thumbnails.scss +35 -0
  284. data/vendor/assets/stylesheets/bootstrap/_tooltip.scss +35 -0
  285. data/vendor/assets/stylesheets/bootstrap/_type.scss +218 -0
  286. data/vendor/assets/stylesheets/bootstrap/_utilities.scss +23 -0
  287. data/vendor/assets/stylesheets/bootstrap/_variables.scss +107 -0
  288. data/vendor/assets/stylesheets/bootstrap/_wells.scss +17 -0
  289. data/vendor/assets/stylesheets/bootstrap/bootstrap.scss +66 -0
  290. data/vendor/assets/stylesheets/bootstrap/responsive.scss +334 -0
  291. metadata +506 -0
@@ -0,0 +1,60 @@
1
+ - content_for :javascripts do
2
+ -#= javascript_include_tag status_jsonp_url('outage')
3
+ :javascript
4
+ window.loader_image = '#{image_path('loader-dark.gif')}';
5
+
6
+ !!! 5
7
+ -# http://paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither
8
+ -ie_html :class => 'no-js', :lang => 'en' do
9
+ %head
10
+ = render "layouts/head"
11
+ = render "layouts/console/stylesheets"
12
+
13
+ %body{ :class => "console #{controller.controller_name} #{controller.action_name}" }
14
+
15
+ %header
16
+ = render 'layouts/console/header'
17
+
18
+ .section-console#content{:class => content_for?(:dark_layout) ? '' : 'section-console-light'}
19
+ .container
20
+ .row-console
21
+ - if content_for? :full_layout
22
+ .row.row-flush-right
23
+ .grid-wrapper.banner-ribbon
24
+ .span12.span-flush-right
25
+ - if content_for? :breadcrumbs
26
+ %nav
27
+ = yield :breadcrumbs
28
+ = yield :top
29
+ .grid-wrapper.section-body
30
+ .span12
31
+ = flashes
32
+ = yield
33
+
34
+ - else
35
+ .row.row-flush-right
36
+ .grid-wrapper.banner-ribbon
37
+ .span12.span-flush-right
38
+ - if content_for? :breadcrumbs
39
+ %nav
40
+ = yield :breadcrumbs
41
+ - else
42
+  
43
+ = yield :top
44
+ .column-content.grid-wrapper
45
+ .span12
46
+ = flashes
47
+ = yield
48
+
49
+ %footer
50
+ = yield :footer
51
+
52
+ = render 'layouts/footer'
53
+
54
+ = render 'layouts/console/javascripts'
55
+
56
+ = render('shared/tracking',
57
+ :controller => controller.controller_name,
58
+ :action => controller.action_name,
59
+ :event => @event ||= '',
60
+ :evar8 => @evar8 ||= '') if Rails.env.production?
@@ -0,0 +1,44 @@
1
+ .navbar
2
+ .navbar-inner
3
+ .container
4
+
5
+ %ul.navbar-text.pull-right#utility-nav
6
+ %li.hidden-phone= link_to "Community", community_url, :class => 'community'
7
+ %li.hidden-phone= link_to "Developer Center", developers_url, :class => 'developer'
8
+ - if Console.config.disable_account
9
+ %li.hidden-phone= link_to "Sign Out", logout_path, :class => "sign_out"
10
+ - elsif logout_path.nil?
11
+ %li.hidden-phone= link_to "My Account", account_path
12
+ - else
13
+ %li.dropdown.username.hidden-phone
14
+ = link_to current_user_id, account_path, :class => 'dropdown-toggle', 'data-toggle' => 'dropdown', 'data-target' => '#'
15
+ %ul.dropdown-menu.hidden-phone
16
+ %li= link_to "My Account", account_path
17
+ %li= link_to "Sign Out", logout_path, :class => "sign_out"
18
+ -#%li= link_to "Status", status_url, :title => 'Track open issues on the OpenShift status page', :id => 'outage', :class => 'alert', :style => 'display:none;'
19
+
20
+ %a.btn.btn-navbar{'data-target' => '.nav-collapse', 'data-toggle' => 'collapse'}
21
+ %span.icon-bar
22
+ %span.icon-bar
23
+ %span.icon-bar
24
+
25
+ .brand
26
+ = link_to root_path do
27
+ = product_branding
28
+
29
+ %span.navbar-text.headline
30
+ Management Console
31
+
32
+ .nav-collapse.collapse
33
+ = navigation_tabs do
34
+ = navigation_tab :applications, :action => :index, :name => "My Applications"
35
+ = navigation_tab :application_types, :name => "Create Application"
36
+ = navigation_tab :console_index, :action => :help, :name => "Help"
37
+ - unless Console.config.disable_account
38
+ = navigation_tab :account, :action => :show, :name => "My Account"
39
+ %ul.nav.visible-phone
40
+ %li= link_to "Community", community_url, :class => 'community'
41
+ %li= link_to "Developer Center", developers_url, :class => 'developer'
42
+ - unless logout_path.nil?
43
+ %ul.nav.visible-phone
44
+ %li= link_to "Sign Out", logout_path, :class => "sign_out"
@@ -0,0 +1,7 @@
1
+ #identity.pull-right.right
2
+ Logged in with:
3
+ %span.username
4
+ = session_user.login
5
+ .server
6
+ On:
7
+ = RestApi::Base.site.host
@@ -0,0 +1,5 @@
1
+ = javascript_include_tag 'console'
2
+
3
+ -# Append your own using content_for :javascripts
4
+ = yield :javascripts
5
+
@@ -0,0 +1,6 @@
1
+ -# CSS: implied media="all"
2
+ = stylesheet_link_tag 'common.css', :media => 'all'
3
+ = stylesheet_link_tag 'origin.css', :media => 'all'
4
+
5
+ -# Append your own using content_for :stylesheets
6
+ = yield :stylesheets
@@ -0,0 +1,17 @@
1
+ - breadcrumb_for_application @application, 'Disable Scaling'
2
+ - content_for :page_title, 'Disable Scaling'
3
+
4
+ %h1 Disable Scaling
5
+
6
+ %section
7
+ %p
8
+ Your application is currently set to scale the web cartridge.
9
+ At this time applications that scale cannot have scaling disabled.
10
+ You must create a new application and migrate your source code if
11
+ you wish to remove the high availability proxy cartridge that
12
+ provides scaling.
13
+
14
+ %p
15
+ We hope to add this feature in the future - you can provide feedback
16
+ about this and other features in OpenShift via our #{link_to 'feature request page', suggest_features_url}.
17
+
@@ -0,0 +1,24 @@
1
+ - breadcrumb_for_application @application, 'Scaling'
2
+ - content_for :page_title, 'Scaling'
3
+
4
+ %h1 Not Scalable
5
+ = flashes
6
+
7
+ %section
8
+ %p
9
+ This application is not currently scalable. For the time being
10
+ applications must be set to scale when they are created. To make a
11
+ new application scalable you will need to pass the command line
12
+ option <code>--scale</code>:
13
+
14
+ %pre.cli
15
+ rhc app create --scaling -a &lt;your application&gt; ...
16
+
17
+ %p
18
+ For more information about scaling your applications see
19
+ #{link_to 'our scaling guide in the Developer Center', scaling_help_url}.
20
+
21
+ %p
22
+ We hope to add the ability to enable scaling on existing applications in the
23
+ future - you can provide feedback about this and other features in
24
+ OpenShift via our #{link_to 'feature request page', suggest_features_url}.
@@ -0,0 +1,81 @@
1
+ - breadcrumb_for_application @application, 'Scale your Application'
2
+ - content_for :page_title, 'Scale your Application'
3
+
4
+ %h1 Scale your Application
5
+
6
+ %section#scaling-gear-groups
7
+ - @cartridges.each do |cartridge|
8
+ .gear-group.tile
9
+ %h2
10
+ = cartridge.display_name
11
+ - if cartridge.scales?
12
+ %span.pull-right Using #{pluralize(cartridge.current_scale, 'gears')}
13
+
14
+ - if cartridge.scales?
15
+ = semantic_form_for cartridge,
16
+ :simple => true,
17
+ :method => :put,
18
+ :url => application_scaling_cartridge_path(@application.id, cartridge.name) do |f|
19
+
20
+ = f.semantic_errors :scales_from, :scales_to
21
+
22
+ - if cartridge.tags.include?(:web_framework)
23
+ %p
24
+ OpenShift is configured to scale this cartridge with
25
+ #{link_to 'the web proxy HAProxy', scaling_help_url }. OpenShift
26
+ monitors the incoming web traffic to your application and
27
+ automatically adds or removes copies of your cartridge
28
+ (each running on their own gears) to serve requests as needed.
29
+
30
+ %p Control the number of gears OpenShift will use for your cartridge:
31
+
32
+ = f.inputs :inline => true, :without_errors => true do
33
+ .input-prepend
34
+ %span.add-on Minimum
35
+ = f.input :scales_from, scale_from_options(cartridge, @user.max_gears).merge({:input_html => {:style => 'width: auto', :title => 'Minimum gears'}})
36
+ and
37
+ .input-prepend
38
+ %span.add-on Maximum
39
+ = f.input :scales_to, scale_to_options(cartridge, @user.max_gears).merge({:input_html => {:style => 'width: auto', :title => 'Maximum gears'}})
40
+
41
+ #{cartridge.gear_profile} gears
42
+
43
+ = f.commit_button :label => 'Save', :button_html => {:class => 'btn btn-small'}
44
+ = f.loading
45
+
46
+
47
+ - if cartridge.tags.include?(:web_framework)
48
+
49
+ %hr
50
+
51
+ %p
52
+ Each scaled gear is created the same way - the normal
53
+ post, pre, and deploy hooks are executed. Each cartridge will have its
54
+ own copy of runtime data, so be sure to use a database if you need to share
55
+ data across your web cartridges.
56
+
57
+ %p
58
+ For status information about traffic to your application, see the HAProxy status page:
59
+
60
+ %p.application-url.larger
61
+ = link_to @application.scale_status_url, @application.scale_status_url, :target => '_blank'
62
+
63
+ - elsif cartridge.tags.include? :scales
64
+ %p This cartridge assists other cartridges in scaling, but does not itself scale.
65
+ - else
66
+ %p This cartridge does not scale.
67
+ %p
68
+ For more information about scaling your application see
69
+ #{link_to 'our scaling guide in the Developer Center', scaling_help_url}.
70
+
71
+ - content_for :javascripts do
72
+ :javascript
73
+ jQuery('#scaling-gear-groups FORM').each(function() {
74
+ btn = $('INPUT.btn', this)[0];
75
+ $('SELECT', this).change(function() {
76
+ $(btn).addClass('btn-primary');
77
+ });
78
+ $('INPUT', this).change(function() {
79
+ $(btn).addClass('btn-primary');
80
+ });
81
+ });
File without changes
@@ -0,0 +1,108 @@
1
+ #
2
+ # The base URL for the OpenShift REST API on the broker. If your
3
+ # environment is configured with a virtual host security module that
4
+ # bypasses normal authentication, be sure to set that virtual host
5
+ # here.
6
+ #
7
+ # Required
8
+ #
9
+ BROKER_URL=https://localhost/broker/rest
10
+
11
+
12
+ #
13
+ # A proxy URL to use when connecting with the broker.
14
+ #
15
+ # Optional
16
+ #
17
+ # BROKER_PROXY_URL=
18
+
19
+
20
+ #
21
+ # SSL settings for the connection between the console and broker.
22
+ # Specified as a Ruby hash of options to be passed to Net::HTTP.
23
+ #
24
+ # Optional, will use the default Ruby environment settings
25
+ #
26
+ # No certificate checking (INSECURE, use only in trusted networks):
27
+ # BROKER_API_SSL_OPTIONS={:verify_mode => OpenSSL::SSL::VERIFY_NONE}
28
+ #
29
+ # Perform cert checking and require SSLv3 (some Mac environments may
30
+ # need this set):
31
+ # BROKER_API_SSL_OPTIONS={:verify_mode => OpenSSL::SSL::VERIFY_PEER, :ssl_version => :SSLv3}
32
+
33
+
34
+ #
35
+ # The type of security mode that OpenShift should use. There are
36
+ # two provided modules and the ability to specify a custom class.
37
+ #
38
+ # basic
39
+ # When a user accesses the console through a browser, the console
40
+ # will force BASIC authentication, and then pass that info on
41
+ # to the broker.
42
+ #
43
+ # remote_user
44
+ # The console is configured to check for the presence of one or
45
+ # more headers on incoming requests in order to determine whether
46
+ # a user is secure. Headers may be copied along to the remote
47
+ # server.
48
+ #
49
+ # Intended for use with mod_auth and other similar REMOTE_USER
50
+ # concepts in HTTP servers, where an HTTP proxy may handle
51
+ # authentication and then forward the request with information
52
+ # about the authenticated user.
53
+ #
54
+ # <class name>
55
+ # The name of a class to load that will provide a security
56
+ # implementation usable by the console. See
57
+ # Console::Auth::RemoteUser for an example of a secure
58
+ # implementation. The class will be required by Ruby code
59
+ # during startup of the console and any errors will prevent
60
+ # load.
61
+ #
62
+ CONSOLE_SECURITY=basic
63
+
64
+
65
+ #
66
+ # The name of the request env variable or header that indicates a
67
+ # user is authenticated. This value will be used as the display
68
+ # name for the user unless remote_user_name_header is set.
69
+ #
70
+ # The value you provide here will be the key used to access the
71
+ # Rack environment. All keys must be uppercase, and headers must
72
+ # be prefixed with "HTTP_". Without that prefix, the value will
73
+ # assumed to be set by Passenger into the environment.
74
+ #
75
+ # When using mod_auth this value is normally set to 'REMOTE_USER'
76
+ #
77
+ # To read the HTTP request header 'X-Remote-User', set this to
78
+ # 'HTTP_X_REMOTE_USER'.
79
+ #
80
+ # Required when CONSOLE_SECURITY=remote_user
81
+ #
82
+ # REMOTE_USER_HEADER=REMOTE_USER
83
+
84
+
85
+ #
86
+ # When using remote_user security, the value of the authentication
87
+ # header may not be human readable or intended for display. This
88
+ # optional setting will first check for the presence of
89
+ # REMOTE_USER_HEADER and then if this header is present, use it as
90
+ # the visible user name. If the header is missing, the value of
91
+ # REMOTE_USER_HEADER will be shown instead. This a Rack environment
92
+ # variable and so must follow the same rules as REMOTE_USER_HEADER.
93
+ #
94
+ # Optional
95
+ #
96
+ # REMOTE_USER_NAME_HEADER=HTTP_X_REMOTE_USER_NAME
97
+
98
+
99
+ #
100
+ # A list of headers to pass from the incoming request to the API
101
+ # calls made against the broker for preserving authentication state.
102
+ # Separate header names with commas. The console will simply copy
103
+ # these values without inspection.
104
+ #
105
+ # Required when CONSOLE_SECURITY=remote_user, may be empty
106
+ #
107
+ # REMOTE_USER_COPY_HEADERS=X-Remote-User,Cookies
108
+
@@ -0,0 +1,10 @@
1
+ BROKER_URL=https://openshift.redhat.com/broker/rest
2
+ CONSOLE_SECURITY=basic
3
+ DOMAIN_SUFFIX=rhcloud.com
4
+
5
+ #
6
+ # A proxy URL to use when connecting with the broker.
7
+ #
8
+ # Optional
9
+ #
10
+ # BROKER_PROXY_URL=
@@ -0,0 +1,54 @@
1
+ ---
2
+ - :categories:
3
+ - :blacklist
4
+ - :administration
5
+ :name: 10gen-mms-agent-0.1
6
+
7
+ - :categories:
8
+ - :administration
9
+ :display_name: phpMyAdmin 3.4
10
+ :requires:
11
+ - mysql-5.1
12
+ :name: phpmyadmin-3.4
13
+
14
+ - :name: cron-1.4
15
+ :priority: 2
16
+
17
+ - :categories:
18
+ - :administration
19
+ :requires:
20
+ - mongodb-2.2
21
+ :name: rockmongo-1.1
22
+
23
+ - :categories:
24
+ - :blacklist
25
+ :name: haproxy-1.4
26
+
27
+ - :categories:
28
+ - :premium
29
+ - :featured
30
+ - :new
31
+ :name: jbosseap-6.0
32
+ :priority: -1
33
+
34
+ - :name: zend-5.6
35
+ :priority: -1
36
+ :categories:
37
+ - :new
38
+ - :featured
39
+
40
+ - :description: Ruby is a dynamic, reflective, general-purpose object-oriented programming language. We recommend using Ruby 1.9.3 for new applications.
41
+ :name: ruby-1.8
42
+ :priority: 2
43
+
44
+ - :categories:
45
+ - :custom
46
+ :name: diy-0.1
47
+ :priority: 1
48
+
49
+ - :name: jenkins-1.4
50
+ :priority: 1
51
+
52
+ - :name: jbossews-1.0
53
+ :categories:
54
+ - :new
@@ -0,0 +1,86 @@
1
+ unless true #Console.config.disable_js
2
+ #
3
+ # Configure barista.to generate to tmp/javascripts, and configure Rack
4
+ # to attempt to serve JS out of tmp/javascripts for the /app/javascripts path
5
+ #
6
+ Barista.configure do |c|
7
+
8
+ # Change the root to use app/scripts
9
+ # c.root = Rails.root.join("app", "scripts")
10
+
11
+ # Change the output root, causing Barista to compile into tmp/javascripts
12
+ c.output_root = Rails.root.join("tmp", "javascripts")
13
+ #
14
+ # Disable auto compile, use generated file directly:
15
+ c.auto_compile = Rails.env.development?
16
+
17
+ c.register :console, :root => Console::Engine.root.join("app", "coffeescripts")
18
+
19
+ # Add a new framework:
20
+
21
+ # c.register :tests, :root => Rails.root.join('test', 'coffeescript'), :output_prefix => 'test'
22
+
23
+ # Disable wrapping in a closure:
24
+ # c.bare = true
25
+ # ... or ...
26
+ # c.bare!
27
+
28
+ # Change the output root for a framework:
29
+
30
+ # c.change_output_prefix! 'framework-name', 'output-prefix'
31
+
32
+ # or for all frameworks...
33
+
34
+ # c.each_framework do |framework|
35
+ # c.change_output_prefix! framework, "vendor/#{framework.name}"
36
+ # end
37
+
38
+ # or, prefix the path for the app files:
39
+
40
+ # c.change_output_prefix! :default, 'my-app-name'
41
+
42
+ # or, change the directory the framework goes into full stop:
43
+
44
+ # c.change_output_prefix! :tests, Rails.root.join('spec', 'javascripts')
45
+
46
+ # or, hook into the compilation:
47
+
48
+ # c.before_compilation { |path| puts "Barista: Compiling #{path}" }
49
+ # c.on_compilation { |path| puts "Barista: Successfully compiled #{path}" }
50
+ # c.on_compilation_error { |path, output| puts "Barista: Compilation of #{path} failed with:\n#{output}" }
51
+ # c.on_compilation_with_warning { |path, output| puts "Barista: Compilation of #{path} had a warning:\n#{output}" }
52
+
53
+ # Turn off preambles and exceptions on failure:
54
+
55
+ # c.verbose = false
56
+
57
+ # Or, make sure it is always on
58
+ # c.verbose!
59
+
60
+ # If you want to use a custom JS file, you can as well
61
+ # e.g. vendoring CoffeeScript in your application:
62
+ # c.js_path = Rails.root.join('public', 'javascripts', 'coffee-script.js')
63
+
64
+ # Make helpers and the HAML filter output coffee-script instead of the compiled JS.
65
+ # Used in combination with the coffeescript_interpreter_js helper in Rails.
66
+ # c.embedded_interpreter = true
67
+
68
+ end
69
+
70
+ #
71
+ # All production environments pregenerate JS using the RPM build, development
72
+ # environments use autogeneration. To trigger autogeneration you may need to
73
+ # run 'rake assets:clean'.
74
+ #
75
+ if Rails.env.development?
76
+ Rails.configuration.middleware.delete('Barista::Filter')
77
+ Rails.configuration.middleware.insert_before('Rack::Sendfile', 'Barista::Filter')
78
+ options = {
79
+ :urls => ['/javascripts'],
80
+ :root => "#{Rails.root}/tmp"
81
+ }
82
+ Rails.configuration.middleware.insert_before('Rack::Sendfile', 'Rack::Static', options)
83
+ else
84
+ Rails.configuration.middleware.delete('Barista::Filter')
85
+ end
86
+ end