chef-server-api 0.8.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 (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,263 @@
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: #ff7900; }
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: #ff7900;
21
+ }
22
+
23
+ #header h1 a:link, #header h1 a:active, #header h1 a:hover, #header h1 a:visited {
24
+ color: #FFF;
25
+ }
26
+
27
+ #user-navigation {
28
+ top: auto;
29
+ bottom: 5px;
30
+ right: 25px;
31
+ }
32
+
33
+ #main .block .content {
34
+ background: #FFF;
35
+ padding-top: 1px;
36
+ }
37
+
38
+ #main .block .content h2 {
39
+ margin-left: 15px;
40
+ }
41
+
42
+ #sidebar .block {
43
+ background: #FFF;
44
+ }
45
+
46
+ #sidebar h3 {
47
+ background: #ff7900;
48
+ color: #FFF;
49
+ border-bottom: 10px solid #262626;
50
+ }
51
+
52
+ #main-navigation ul li {
53
+ padding-left: 15px;
54
+ }
55
+
56
+ #main-navigation ul li a {
57
+ padding: 8px 0;
58
+ }
59
+
60
+ #main-navigation ul li.active {
61
+ padding: 0;
62
+ margin-left: 15px;
63
+ }
64
+
65
+ #main-navigation ul li.active {
66
+ margin-left: 15px;
67
+ }
68
+
69
+ #main-navigation ul li.active a {
70
+ padding: 8px 15px;
71
+ }
72
+
73
+ #sidebar ul li a:link, #sidebar ul li a:visited {
74
+ background: #FFF;
75
+ border-bottom: 1px solid #F0F0EE;
76
+ text-decoration: none;
77
+ }
78
+
79
+ #sidebar ul li a:hover, #sidebar ul li a:active {
80
+ background: #863800;
81
+ color: #FFF;
82
+ }
83
+
84
+ #main-navigation {
85
+ background: #262626;
86
+ }
87
+
88
+ #main-navigation ul li {
89
+ background: #262626;
90
+ margin-right: 0;
91
+ }
92
+
93
+ #main-navigation ul li.active {
94
+ background: #f0f0ee;
95
+ }
96
+
97
+ #main-navigation ul li a:link, #main-navigation ul li a:visited, #main-navigation ul li a:hover, #main-navigation ul li a:active,
98
+ .secondary-navigation ul li a:link, .secondary-navigation ul li a:visited, .secondary-navigation ul li a:hover, .secondary-navigation ul li a:active,
99
+ #user-navigation ul li a:link, #user-navigation ul li a:visited, #user-navigation ul li a:hover, #user-navigation ul li a:active {
100
+ text-decoration: none;
101
+ color: #FFF;
102
+ }
103
+
104
+ .secondary-navigation li a:hover {
105
+ background: #863800;
106
+ }
107
+
108
+ #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 {
109
+ color: #262626;
110
+ }
111
+
112
+ .secondary-navigation {
113
+ background: #ff7900;
114
+ border-bottom-color: #262626;
115
+ }
116
+
117
+ .secondary-navigation ul li.active, .secondary-navigation ul li.active a:hover {
118
+ background-color: #262626;
119
+ }
120
+
121
+ #footer .block {
122
+ color: #FFF;
123
+ background: #262626;
124
+ width: 70%;
125
+ }
126
+
127
+ #footer .block p {
128
+ margin: 0;
129
+ padding: 10px;
130
+ }
131
+
132
+ /* pagination */
133
+
134
+ .pagination span.current {
135
+ background: #262626;
136
+ color: #FFF;
137
+ border-color: #262626;
138
+ }
139
+
140
+ .pagination a {
141
+ color: #262626;
142
+ border-color: #262626;
143
+ }
144
+
145
+ .pagination a:hover {
146
+ color: #FFF;
147
+ background: #262626;
148
+ }
149
+
150
+ /* tables */
151
+
152
+ .table th {
153
+ background: #262626;
154
+ color: #FFF;
155
+ }
156
+
157
+ .table td {
158
+ border-bottom:1px solid #F0F0EE;
159
+ }
160
+
161
+ /* forms */
162
+
163
+ .form input.text, .form textarea {
164
+ width: 100%;
165
+ border: 1px solid #262626;
166
+ }
167
+
168
+ .form input.button {
169
+ background: #EEE;
170
+ color: #262626;
171
+ padding: 2px 5px;
172
+ border: 1px solid #262626;
173
+ cursor: pointer;
174
+ }
175
+
176
+ .form .description {
177
+ font-style: italic;
178
+ color: #8C8C8C;
179
+ font-size: .9em;
180
+ }
181
+
182
+ /* flash-messages */
183
+ .flash .message {
184
+ -moz-border-radius: 3px;
185
+ -webkit-border-radius: 3px;
186
+ text-align:center;
187
+ margin:0 auto 5px;
188
+
189
+ }
190
+ .flash .message p {
191
+ margin:8px;
192
+ }
193
+ .flash .error {
194
+ border: 1px solid #fbb;
195
+ background-color: #fdd;
196
+ }
197
+ .flash .warning {
198
+ border: 1px solid #fffaaa;
199
+ background-color: #ffffcc;
200
+ }
201
+ .flash .notice {
202
+ border: 1px solid #1FDF00;
203
+ background-color: #BBFFB6;
204
+ }
205
+
206
+ /* lists */
207
+
208
+ ul.list li {
209
+ border-bottom-color: #F0F0EE;
210
+ border-bottom-width: 1px;
211
+ border-bottom-style: solid;
212
+ }
213
+
214
+ ul.list li .item .avatar {
215
+ border-color: #F0F0EE;
216
+ border-width: 1px;
217
+ border-style: solid;
218
+ padding: 2px;
219
+ }
220
+
221
+ /* box */
222
+
223
+ #box .block {
224
+ background: #FFF;
225
+ }
226
+
227
+ #box .block h2 {
228
+ background: #ff7900;
229
+ color: #FFF;
230
+ }
231
+
232
+
233
+ /* rounded borders */
234
+
235
+ #main, #main-navigation, #main-navigation li, .secondary-navigation, #main .block, #sidebar .block, #sidebar h3, ul.list li,
236
+ #footer .block, .form input.button, #box .block, #box .block h2 {
237
+ -moz-border-radius-topleft: 4px;
238
+ -webkit-border-top-left-radius: 4px;
239
+ -moz-border-radius-topright: 4px;
240
+ -webkit-border-top-right-radius: 4px;
241
+ }
242
+
243
+ .secondary-navigation li.first a, .secondary-navigation ul li.first, .table th.first, .table th.first {
244
+ -moz-border-radius-topleft: 4px;
245
+ -webkit-border-top-left-radius: 4px;
246
+ }
247
+
248
+ .table th.last {
249
+ -moz-border-radius-topright: 4px;
250
+ -webkit-border-top-right-radius: 4px;
251
+ }
252
+
253
+ .secondary-navigation ul li.first {
254
+ -moz-border-radius-topleft: 4px;
255
+ -webkit-border-top-left-radius: 4px;
256
+ }
257
+
258
+ #sidebar, #sidebar .block, #main .block, #sidebar ul.navigation, ul.list li, #footer .block, .form input.button, #box .block {
259
+ -moz-border-radius-bottomleft: 4px;
260
+ -webkit-border-bottom-left-radius: 4px;
261
+ -moz-border-radius-bottomright: 4px;
262
+ -webkit-border-bottom-right-radius: 4px;
263
+ }
@@ -0,0 +1,301 @@
1
+ .small { font-size:11px; }
2
+ .gray { color:#a2b0b6; }
3
+ .hightlight { background-color:#d6e7c7; }
4
+
5
+ a:link, a:visited, a:hover, a:active { color: #81B953; }
6
+ h1, h2, h3 { color: #3B5526; }
7
+ a { -moz-outline: none; }
8
+
9
+ body {
10
+ color: #222;
11
+ background: #e4ebe4;
12
+ font-family: helvetica, arial, sans-serif;
13
+ }
14
+
15
+ hr {
16
+ background: #f0f0ee;
17
+ color: #f0f0ee;
18
+ }
19
+
20
+ #header {
21
+ background: #c9deb7;
22
+
23
+ }
24
+
25
+ #header h1{
26
+ padding: 20px 0;
27
+ font-weight: bold;
28
+
29
+ }
30
+
31
+ #header h1 a:link, #header h1 a:active,
32
+ #header h1 a:hover, #header h1 a:visited {
33
+ color: #3B5526;
34
+ }
35
+
36
+ #main .block .content {
37
+ background: #FFF;
38
+ padding-top: 1px;
39
+ }
40
+
41
+ #main .block .content h2 {
42
+ margin-left: 15px;
43
+ }
44
+
45
+ #main .content { border: 1px solid #81B953;}
46
+
47
+ #sidebar .block {
48
+ background: #FFF;
49
+ border: none;
50
+ }
51
+
52
+ #sidebar h3 {
53
+ padding: 8px 12px;
54
+ background: #3B5526;
55
+ color: #FFF;
56
+ font-weight: bold;
57
+ border-bottom: 5px solid #81B953;
58
+ }
59
+
60
+
61
+ #sidebar ul li a:link,
62
+ #sidebar ul li a:visited {
63
+ background: #FFF;
64
+ border-bottom: 1px solid #F0F0EE;
65
+ text-decoration: none;
66
+ }
67
+
68
+ #sidebar ul li a:hover,
69
+ #sidebar ul li a:active {
70
+ background: #D3E8C1;
71
+ color: #FFF;
72
+ }
73
+
74
+ #main-navigation {
75
+ background: #44721e;
76
+ margin-right: 20px;
77
+ padding: 7px 7px 0 7px;
78
+ }
79
+
80
+ #main-navigation ul li {
81
+ background: #91B96F;
82
+ margin-right: 7px;
83
+ }
84
+
85
+ #main-navigation ul li a {
86
+ padding: 10px 10px 5px 10px;
87
+ }
88
+
89
+ #main-navigation ul li.active {
90
+ background: #e4ebe4;
91
+ border: 1px solid #91B96F;
92
+ border-bottom: none;
93
+ font-weight: bold;
94
+ }
95
+
96
+ #main-navigation ul li a:hover,
97
+ #main-navigation ul li a:link,
98
+ #main-navigation ul li a:visited,
99
+ #main-navigation ul li a:active,
100
+ .secondary-navigation ul li a:link, .secondary-navigation ul li a:visited,
101
+ .secondary-navigation ul li a:hover, .secondary-navigation ul li a:active {
102
+ text-decoration: none;
103
+ color: #FFF;
104
+ }
105
+
106
+ #user-navigation ul li a:link,
107
+ #user-navigation ul li a:visited,
108
+ #user-navigation ul li a:active {
109
+ color: #3B5526;
110
+ }
111
+
112
+ #user-navigation ul li a:hover { color: #fff; }
113
+
114
+ #main-navigation ul li.active a:link,
115
+ #main-navigation ul li.active a:visited,
116
+ #main-navigation ul li.active a:hover,
117
+ #main-navigation ul li.active a:active {
118
+ color: #262626;
119
+ }
120
+
121
+ .secondary-navigation {
122
+ background: #3B5526;
123
+ border-bottom: 5px solid #81b953;
124
+ }
125
+
126
+ .secondary-navigation ul li a {
127
+ display:block;
128
+ padding: 8px 12px;
129
+ }
130
+
131
+ .secondary-navigation ul li.active {background: #81b953; font-weight: bold;}
132
+ .secondary-navigation ul li.active a:hover {
133
+ background-color: #81B953;
134
+ }
135
+
136
+ .secondary-navigation li a:hover {
137
+ background: #81B953;
138
+ }
139
+
140
+ #footer .block {
141
+ color: #FFF;
142
+ background: #3B5526;
143
+ }
144
+
145
+ #footer .block p {
146
+ margin: 0;
147
+ padding: 5px;
148
+ }
149
+
150
+ /* pagination */
151
+
152
+ .pagination span.current {
153
+ background: #262626;
154
+ color: #FFF;
155
+ border-color: #262626;
156
+ }
157
+
158
+ .pagination a {
159
+ color: #262626;
160
+ border-color: #262626;
161
+ }
162
+
163
+ .pagination a:hover {
164
+ color: #FFF;
165
+ background: #262626;
166
+ }
167
+
168
+ /* tables */
169
+
170
+
171
+ .table th {
172
+ background: #253618;
173
+ color: #FFF;
174
+ }
175
+
176
+ .table tr th { padding: 5px; }
177
+
178
+ .table td {
179
+ border-bottom:1px solid #F0F0EE;
180
+ }
181
+ .table tr.odd {background: #ebfadf;}
182
+ .table tr.even {background: #d3e8c1;}
183
+
184
+
185
+ /* forms */
186
+
187
+ .form input.text_field, .form textarea.text_area {
188
+ width: 100%;
189
+ border: 1px solid #262626;
190
+ }
191
+
192
+ .form input.button {
193
+ background: #EEE;
194
+ color: #262626;
195
+ padding: 2px 5px;
196
+ border: 1px solid #262626;
197
+ cursor: pointer;
198
+ }
199
+
200
+ .form .description {
201
+ font-style: italic;
202
+ color: #8C8C8C;
203
+ font-size: .9em;
204
+ }
205
+
206
+ /* flash-messages */
207
+ .flash .message {
208
+ -moz-border-radius: 3px;
209
+ -webkit-border-radius: 3px;
210
+ text-align:center;
211
+ margin: 0 auto 15px;
212
+
213
+ }
214
+
215
+ .flash .message p {
216
+ margin:8px;
217
+ }
218
+ .flash .error {
219
+ border: 1px solid #fbb;
220
+ background-color: #fdd;
221
+ }
222
+ .flash .warning {
223
+ border: 1px solid #fffaaa;
224
+ background-color: #ffffcc;
225
+ }
226
+ .flash .notice {
227
+ border: 1px solid #1FDF00;
228
+ background-color: #BBFFB6;
229
+ }
230
+
231
+ /* lists */
232
+
233
+ ul.list li {
234
+ border-bottom-color: #F0F0EE;
235
+ border-bottom-width: 1px;
236
+ border-bottom-style: solid;
237
+ }
238
+
239
+ ul.list li .item .avatar {
240
+ border-color: #F0F0EE;
241
+ border-width: 1px;
242
+ border-style: solid;
243
+ padding: 2px;
244
+ }
245
+
246
+ /* box */
247
+
248
+ #box .block {
249
+ background: #FFF;
250
+ }
251
+
252
+ #box .block h2 {
253
+ color: #fff;
254
+ background: #3B5526;
255
+ border-bottom: 5px solid #81b953;
256
+ }
257
+
258
+ #box .block .content { border: 1px solid #81b953; border}
259
+
260
+ /* login */
261
+
262
+ #block-login { }
263
+ #block-login h2 { background: #3B5526;border-bottom: 5px solid #81b953;}
264
+
265
+ /* rounded borders */
266
+
267
+ #main, #main-navigation, #main-navigation li,
268
+ .secondary-navigation, #main .block, #sidebar .block,
269
+ #sidebar h3, ul.list li, #footer .block,
270
+ .form input.button, #box .block, #box .block h2 {
271
+ -moz-border-radius-topleft: 4px;
272
+ -webkit-border-top-left-radius: 4px;
273
+ -moz-border-radius-topright: 4px;
274
+ -webkit-border-top-right-radius: 4px;
275
+ }
276
+
277
+ .secondary-navigation li.first a,
278
+ .secondary-navigation ul li.first,
279
+ .table th.first, .table th.first {
280
+ -moz-border-radius-topleft: 4px;
281
+ -webkit-border-top-left-radius: 4px;
282
+ }
283
+
284
+ .table th.last {
285
+ -moz-border-radius-topright: 4px;
286
+ -webkit-border-top-right-radius: 4px;
287
+ }
288
+
289
+ .secondary-navigation ul li.first {
290
+ -moz-border-radius-topleft: 4px;
291
+ -webkit-border-top-left-radius: 4px;
292
+ }
293
+
294
+ #sidebar, #sidebar .block, #main .block,
295
+ #sidebar ul.navigation, ul.list li,
296
+ #footer .block, .form input.button, #box .block {
297
+ -moz-border-radius-bottomleft: 4px;
298
+ -webkit-border-bottom-left-radius: 4px;
299
+ -moz-border-radius-bottomright: 4px;
300
+ -webkit-border-bottom-right-radius: 4px;
301
+ }