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,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
+ }