chef-server-api 0.8.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. data/LICENSE +201 -0
  2. data/README.rdoc +92 -0
  3. data/Rakefile +59 -0
  4. data/app/controllers/application.rb +289 -0
  5. data/app/controllers/clients.rb +111 -0
  6. data/app/controllers/cookbooks.rb +213 -0
  7. data/app/controllers/data.rb +75 -0
  8. data/app/controllers/data_item.rb +108 -0
  9. data/app/controllers/exceptions.rb +40 -0
  10. data/app/controllers/main.rb +18 -0
  11. data/app/controllers/nodes.rb +102 -0
  12. data/app/controllers/roles.rb +73 -0
  13. data/app/controllers/search.rb +60 -0
  14. data/app/controllers/users.rb +77 -0
  15. data/app/helpers/application_helper.rb +163 -0
  16. data/app/helpers/exceptions_helper.rb +6 -0
  17. data/app/helpers/global_helpers.rb +25 -0
  18. data/app/helpers/nodes_helper.rb +26 -0
  19. data/app/helpers/roles_helper.rb +5 -0
  20. data/app/helpers/tarball_helper.rb +82 -0
  21. data/app/views/exceptions/bad_request.json.erb +1 -0
  22. data/app/views/exceptions/internal_server_error.html.erb +216 -0
  23. data/app/views/exceptions/not_acceptable.html.haml +5 -0
  24. data/app/views/exceptions/not_found.html.erb +47 -0
  25. data/app/views/exceptions/standard_error.html.erb +217 -0
  26. data/app/views/layout/chef_server_api.html.haml +23 -0
  27. data/app/views/main/index.html.haml +5 -0
  28. data/config/init.rb +45 -0
  29. data/config/router.rb +6 -0
  30. data/lib/chef-server-api.rb +158 -0
  31. data/lib/chef-server-api/merbtasks.rb +103 -0
  32. data/lib/chef-server-api/slicetasks.rb +20 -0
  33. data/lib/chef-server-api/spectasks.rb +53 -0
  34. data/public/images/avatar.png +0 -0
  35. data/public/images/indicator.gif +0 -0
  36. data/public/images/merb.jpg +0 -0
  37. data/public/stylesheets/base.css +336 -0
  38. data/public/stylesheets/chef.css +157 -0
  39. data/public/stylesheets/themes/bec-green/style.css +290 -0
  40. data/public/stylesheets/themes/bec/style.css +301 -0
  41. data/public/stylesheets/themes/blue/style.css +280 -0
  42. data/public/stylesheets/themes/default/style.css +267 -0
  43. data/public/stylesheets/themes/djime-cerulean/style.css +298 -0
  44. data/public/stylesheets/themes/kathleene/style.css +272 -0
  45. data/public/stylesheets/themes/orange/style.css +263 -0
  46. data/public/stylesheets/themes/reidb-greenish/style.css +301 -0
  47. data/stubs/app/controllers/application.rb +2 -0
  48. data/stubs/app/controllers/main.rb +2 -0
  49. metadata +193 -0
@@ -0,0 +1,298 @@
1
+ /**
2
+ * Cerulean web-app-theme made for Djime: http://github.com/mikl/djime/
3
+ *
4
+ * Please note that we're using CSSEdit's @group comment syntax.
5
+ *
6
+ * Colour sheme:
7
+ * Cerulean: #007BA7
8
+ * Bright blue: #01B8DE
9
+ * Near-white: #F7F7F8
10
+ * Silver grey: #C2C8D1
11
+ * Dark blue: #001C26
12
+ *
13
+ * http://www.colourlovers.com/palette/646252/Cerulean_touch
14
+ */
15
+
16
+ /* @group General styles */
17
+
18
+ .small { font-size:11px; }
19
+ .gray { color:#999; }
20
+ .hightlight { background-color:#ffc; }
21
+
22
+ a:link, a:visited, a:hover, a:active, h1, h2, h3 { color: #007BA7; }
23
+
24
+ body {
25
+ color: #222;
26
+ background: #C2C8D1;
27
+ font-family: "Helvetica Neue",Helvetica,Arial,"Bitstream Vera Sans",sans-serif;
28
+ }
29
+
30
+ hr {
31
+ background: #EEF0F0;
32
+ color: #EEF0F0;
33
+ }
34
+
35
+ /* @end */
36
+
37
+ /* @group Header */
38
+
39
+ #header {
40
+ background: #007BA7;
41
+ }
42
+
43
+ #header h1 {
44
+ padding: 20px 0;
45
+ }
46
+
47
+ #header h1 a:link, #header h1 a:active, #header h1 a:hover, #header h1 a:visited {
48
+ color: #F7F7F8;
49
+ }
50
+
51
+ /* @end */
52
+
53
+ #user-navigation {
54
+ top: auto;
55
+ bottom: 5px;
56
+ right: 25px;
57
+ }
58
+
59
+ #main .block .content {
60
+ background: #F7F7F8;
61
+ padding-top: 1px;
62
+ }
63
+
64
+ #main .block .content h2 {
65
+ margin-left: 15px;
66
+ }
67
+
68
+
69
+
70
+ /* @group Main navigation */
71
+
72
+ #main-navigation ul li {
73
+ padding-left: 0;
74
+ }
75
+
76
+ #main-navigation ul li a {
77
+ padding: 8px 0;
78
+ }
79
+
80
+ #main-navigation ul li a {
81
+ padding: 8px 15px;
82
+ }
83
+
84
+ #main-navigation {
85
+ background-color: #005573;
86
+ }
87
+
88
+ #main-navigation ul li a:hover {
89
+ background-color: #001C26;
90
+ }
91
+
92
+ #main-navigation ul li.active a {
93
+ background-color: #C2C8D1;
94
+ background: -webkit-gradient(linear, left top, left bottom, from(#C2C8D1), to(#C2C8D1), color-stop(0.5, #F7F7F8), color-stop(0.5, #F7F7F8));
95
+
96
+ }
97
+
98
+ /* @end */
99
+
100
+ /* @group Secondary navigation */
101
+
102
+ .secondary-navigation li a:hover {
103
+ background: #005573;
104
+ }
105
+
106
+ .secondary-navigation {
107
+ background: #007BA7;
108
+ border-bottom-width: 7px;
109
+ border-bottom-color: #005573;
110
+ }
111
+
112
+ .secondary-navigation ul li.active, .secondary-navigation ul li.active a:hover {
113
+ background-color: #005573;
114
+ }
115
+
116
+ /* @end */
117
+
118
+ /* @group Sidebar */
119
+
120
+ #sidebar .block {
121
+ background: #F7F7F8;
122
+ }
123
+
124
+ #sidebar h3 {
125
+ background: #007BA7;
126
+ color: #F7F7F8;
127
+ border-bottom: 7px solid #005573;
128
+ }
129
+
130
+ #sidebar ul li a:link, #sidebar ul li a:visited {
131
+ background: #F7F7F8;
132
+ border-bottom: 1px solid #EEF0F0;
133
+ text-decoration: none;
134
+ }
135
+
136
+ #sidebar ul li a:hover, #sidebar ul li a:active {
137
+ background: #005573;
138
+ color: #F7F7F8;
139
+ }
140
+
141
+ /* @end */
142
+
143
+ #main-navigation ul li a:link, #main-navigation ul li a:visited, #main-navigation ul li a:hover, #main-navigation ul li a:active,
144
+ .secondary-navigation ul li a:link, .secondary-navigation ul li a:visited, .secondary-navigation ul li a:hover, .secondary-navigation ul li a:active,
145
+ #user-navigation ul li a:link, #user-navigation ul li a:visited, #user-navigation ul li a:hover, #user-navigation ul li a:active {
146
+ text-decoration: none;
147
+ color: #F7F7F8;
148
+ }
149
+
150
+ #main-navigation ul li.active a:link, #main-navigation ul li.active a:visited, #main-navigation ul li.active a:hover, #main-navigation ul li.active a:active {
151
+ color: #001C26;
152
+ }
153
+
154
+ #footer .block {
155
+ color: #F7F7F8;
156
+ background: #005573;
157
+ }
158
+
159
+ #footer .block p {
160
+ margin: 0;
161
+ padding: 10px;
162
+ }
163
+
164
+ /* pagination */
165
+
166
+ .pagination span.current {
167
+ background: #005573;
168
+ color: #F7F7F8;
169
+ border-color: #005573;
170
+ }
171
+
172
+ .pagination a,
173
+ .pagination span {
174
+ color: #001C26;
175
+ border-color: #005573;
176
+ }
177
+
178
+ .pagination a:hover {
179
+ color: #F7F7F8;
180
+ background: #005573;
181
+ }
182
+
183
+ /* tables */
184
+
185
+ .table th {
186
+ background: #C2C8D1;
187
+ color: #001C26;
188
+ }
189
+
190
+ .table td {
191
+ border-bottom:1px solid #EEF0F0;
192
+ }
193
+
194
+ /* forms */
195
+
196
+ .form input.text_field, .form textarea.text_area {
197
+ width: 100%;
198
+ border: 1px solid #001C26;
199
+ }
200
+
201
+ .form input.button {
202
+ background: #EEE;
203
+ color: #001C26;
204
+ padding: 2px 5px;
205
+ border: 1px solid #001C26;
206
+ cursor: pointer;
207
+ }
208
+
209
+ .form .description {
210
+ color: #8C8C8C;
211
+ font-size: .9em;
212
+ }
213
+
214
+ /* @group Flash messages */
215
+
216
+ .flash .message {
217
+ -moz-border-radius: 3px;
218
+ -webkit-border-radius: 3px;
219
+ text-align:center;
220
+ margin: 0 auto 15px;
221
+ }
222
+
223
+ .flash .message p {
224
+ margin:8px;
225
+ }
226
+ .flash .error {
227
+ border: 1px solid #fbb;
228
+ background-color: #fdd;
229
+ }
230
+ .flash .warning {
231
+ border: 1px solid #e0d300;
232
+ background-color: #ffffcc;
233
+ }
234
+ .flash .notice {
235
+ border: 1px solid #8ec4df;
236
+ background-color: #dffaff;
237
+ }
238
+
239
+ /* @end */
240
+
241
+ /* lists */
242
+
243
+ ul.list li {
244
+ border-bottom-color: #EEF0F0;
245
+ border-bottom-width: 1px;
246
+ border-bottom-style: solid;
247
+ }
248
+
249
+ ul.list li .item .avatar {
250
+ border-color: #EEF0F0;
251
+ border-width: 1px;
252
+ border-style: solid;
253
+ padding: 2px;
254
+ }
255
+
256
+ /* box */
257
+
258
+ #box .block {
259
+ background: #F7F7F8;
260
+ }
261
+
262
+ #box .block h2 {
263
+ background: #005573;
264
+ color: #F7F7F8;
265
+ }
266
+
267
+
268
+ /* rounded borders */
269
+
270
+ #main, #main-navigation, #main-navigation li, #main-navigation li a, .secondary-navigation, #main .block, #sidebar .block, #sidebar h3, ul.list li,
271
+ #footer .block, .form input.button, #box .block, #box .block h2 {
272
+ -moz-border-radius-topleft: 4px;
273
+ -webkit-border-top-left-radius: 4px;
274
+ -moz-border-radius-topright: 4px;
275
+ -webkit-border-top-right-radius: 4px;
276
+ }
277
+
278
+ .secondary-navigation li.first a, .secondary-navigation ul li.first, .table th.first, .table th.first {
279
+ -moz-border-radius-topleft: 4px;
280
+ -webkit-border-top-left-radius: 4px;
281
+ }
282
+
283
+ .table th.last {
284
+ -moz-border-radius-topright: 4px;
285
+ -webkit-border-top-right-radius: 4px;
286
+ }
287
+
288
+ .secondary-navigation ul li.first {
289
+ -moz-border-radius-topleft: 4px;
290
+ -webkit-border-top-left-radius: 4px;
291
+ }
292
+
293
+ #sidebar, #sidebar .block, #main .block, #sidebar ul.navigation, ul.list li, #footer .block, .form input.button, #box .block {
294
+ -moz-border-radius-bottomleft: 4px;
295
+ -webkit-border-bottom-left-radius: 4px;
296
+ -moz-border-radius-bottomright: 4px;
297
+ -webkit-border-bottom-right-radius: 4px;
298
+ }
@@ -0,0 +1,272 @@
1
+ .small { font-size:11px; }
2
+ .gray { color:#999999; }
3
+ .hightlight { background-color:#FFFFCC; }
4
+
5
+ a:link, a:visited, a:hover, a:active, h1, h2, h3 { color: #AF0000; }
6
+ a { -moz-outline: none; }
7
+
8
+ body {
9
+ color: #222;
10
+ background: #f0f0ee;
11
+ font-family: helvetica, arial, sans-serif;
12
+ }
13
+
14
+ hr {
15
+ background: #f0f0ee;
16
+ color: #f0f0ee;
17
+ }
18
+
19
+ #header {
20
+ background: #AF0000;
21
+ }
22
+
23
+ #header h1 {
24
+ padding: 20px 0;
25
+ }
26
+
27
+ #header h1 a:link, #header h1 a:active, #header h1 a:hover, #header h1 a:visited {
28
+ color: #FFF;
29
+ }
30
+
31
+ #user-navigation {
32
+ top: auto;
33
+ bottom: 5px;
34
+ right: 25px;
35
+ }
36
+
37
+ #main .block .content {
38
+ background: #FFF;
39
+ padding-top: 1px;
40
+ }
41
+
42
+ #main .block .content h2 {
43
+ margin-left: 15px;
44
+ }
45
+
46
+ #sidebar .block {
47
+ background: #FFF;
48
+ }
49
+
50
+ #sidebar h3 {
51
+ background: #AF0000;
52
+ color: #FFF;
53
+ border-bottom: 5px solid #2a0000;
54
+ }
55
+
56
+ #main-navigation ul li {
57
+ padding-left: 15px;
58
+ }
59
+
60
+ #main-navigation ul li a {
61
+ padding: 8px 0;
62
+ }
63
+
64
+ #main-navigation ul li.active {
65
+ padding: 0;
66
+ margin-left: 15px;
67
+ }
68
+
69
+ #main-navigation ul li.active {
70
+ margin-left: 15px;
71
+ }
72
+
73
+ #main-navigation ul li.active a {
74
+ padding: 8px 15px;
75
+ }
76
+
77
+ #sidebar ul li a:link, #sidebar ul li a:visited {
78
+ background: #FFF;
79
+ border-bottom: 1px solid #F0F0EE;
80
+ text-decoration: none;
81
+ }
82
+
83
+ #sidebar ul li a:hover, #sidebar ul li a:active {
84
+ background: #470E0E;
85
+ color: #FFF;
86
+ }
87
+
88
+ #main-navigation {
89
+ background: #2a0000;
90
+ }
91
+
92
+ #main-navigation ul li {
93
+ background: #2a0000;
94
+ margin-right: 0;
95
+ }
96
+
97
+ #main-navigation ul li.active {
98
+ background: #f0f0ee;
99
+ }
100
+
101
+ #main-navigation ul li a:link, #main-navigation ul li a:visited, #main-navigation ul li a:hover, #main-navigation ul li a:active,
102
+ .secondary-navigation ul li a:link, .secondary-navigation ul li a:visited, .secondary-navigation ul li a:hover, .secondary-navigation ul li a:active,
103
+ #user-navigation ul li a:link, #user-navigation ul li a:visited, #user-navigation ul li a:hover, #user-navigation ul li a:active {
104
+ text-decoration: none;
105
+ color: #FFF;
106
+ }
107
+
108
+ .secondary-navigation li a:hover {
109
+ background: #470E0E;
110
+ }
111
+
112
+ #main-navigation ul li.active a:link, #main-navigation ul li.active a:visited, #main-navigation ul li.active a:hover, #main-navigation ul li.active a:active {
113
+ color: #2a0000;
114
+ }
115
+
116
+ .secondary-navigation {
117
+ background: #AF0000;
118
+ border-bottom-color: #2a0000;
119
+ }
120
+
121
+ .secondary-navigation ul li.active, .secondary-navigation ul li.active a:hover {
122
+ background-color: #2a0000;
123
+ }
124
+
125
+ #footer .block {
126
+ color: #FFF;
127
+ background: #2a0000;
128
+ }
129
+
130
+ #footer .block p {
131
+ margin: 0;
132
+ padding: 10px;
133
+ }
134
+
135
+ /* pagination */
136
+
137
+ .pagination span.current {
138
+ background: #2a0000;
139
+ color: #FFF;
140
+ border-color: #2a0000;
141
+ }
142
+
143
+ .pagination a {
144
+ color: #2a0000;
145
+ border-color: #2a0000;
146
+ }
147
+
148
+ .pagination a:hover {
149
+ color: #FFF;
150
+ background: #2a0000;
151
+ }
152
+
153
+ /* tables */
154
+
155
+ .table th {
156
+ background: #100000;
157
+ border-bottom: 3px solid #700000;
158
+ color: #FFF;
159
+ }
160
+
161
+ .table td {
162
+ border-bottom:1px solid #F0F0EE;
163
+ }
164
+
165
+ /* forms */
166
+
167
+ .form input.text_field, .form textarea.text_area {
168
+ width: 100%;
169
+ border: 1px solid #2a0000;
170
+ }
171
+
172
+ .form input.button {
173
+ background: #EEE;
174
+ color: #2a0000;
175
+ padding: 2px 5px;
176
+ border: 1px solid #2a0000;
177
+ cursor: pointer;
178
+ }
179
+
180
+ .form .description {
181
+ font-style: italic;
182
+ color: #8C8C8C;
183
+ font-size: .9em;
184
+ }
185
+
186
+ /* flash-messages */
187
+ .flash .message {
188
+ -moz-border-radius: 3px;
189
+ -webkit-border-radius: 3px;
190
+ text-align:center;
191
+ margin: 0 auto 15px;
192
+
193
+ }
194
+
195
+ .flash .message p {
196
+ margin:8px;
197
+ }
198
+ .flash .error {
199
+ border: 1px solid #fbb;
200
+ background-color: #fdd;
201
+ }
202
+ .flash .warning {
203
+ border: 1px solid #fffaaa;
204
+ background-color: #ffffcc;
205
+ }
206
+ .flash .notice {
207
+ border: 1px solid #1FDF00;
208
+ background-color: #BBFFB6;
209
+ }
210
+
211
+ /* lists */
212
+
213
+ ul.list li {
214
+ border-bottom-color: #F0F0EE;
215
+ border-bottom-width: 1px;
216
+ border-bottom-style: solid;
217
+ }
218
+
219
+ ul.list li .item .avatar {
220
+ border-color: #F0F0EE;
221
+ border-width: 1px;
222
+ border-style: solid;
223
+ padding: 2px;
224
+ }
225
+
226
+ /* box */
227
+
228
+ #box .block {
229
+ background: #FFF;
230
+ }
231
+
232
+ #box .block h2 {
233
+ background: #AF0000;
234
+ color: #FFF;
235
+ }
236
+
237
+
238
+ /* rounded borders */
239
+
240
+ #main, #main-navigation, #main-navigation li, .secondary-navigation, #main .block, #sidebar .block, #sidebar h3, ul.list li,
241
+ #footer .block, .form input.button, #box .block, #box .block h2 {
242
+ -moz-border-radius-topleft: 4px;
243
+ -webkit-border-top-left-radius: 4px;
244
+ -moz-border-radius-topright: 4px;
245
+ -webkit-border-top-right-radius: 4px;
246
+ }
247
+
248
+ .secondary-navigation li.first a, .secondary-navigation ul li.first, .table th.first, .table th.first {
249
+ -moz-border-radius-topleft: 4px;
250
+ -webkit-border-top-left-radius: 4px;
251
+ }
252
+
253
+ .table th.last {
254
+ -moz-border-radius-topright: 4px;
255
+ -webkit-border-top-right-radius: 4px;
256
+ }
257
+
258
+ .secondary-navigation ul li.first {
259
+ -moz-border-radius-topleft: 4px;
260
+ -webkit-border-top-left-radius: 4px;
261
+ }
262
+
263
+ #sidebar, #sidebar .block, #main .block, #sidebar ul.navigation, ul.list li, #footer .block, .form input.button, #box .block {
264
+ -moz-border-radius-bottomleft: 4px;
265
+ -webkit-border-bottom-left-radius: 4px;
266
+ -moz-border-radius-bottomright: 4px;
267
+ -webkit-border-bottom-right-radius: 4px;
268
+ }
269
+
270
+ .secondary-navigation {
271
+ border-bottom-width: 5px;
272
+ }