blob: c6ff3d2c6eba7263859feef798458f5fef34c1d0 [file] [log] [blame]
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +02001
2=======
3Horizon
4=======
5
Ales Komarek3b2babb2015-11-28 00:35:15 +01006Horizon is the canonical implementation of OpenStacks Dashboard, which provides a web based user interface to OpenStack services including Nova, Swift, Keystone, etc.
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +02007
8Sample pillars
9==============
10
11Packaged version of horizon
12---------------------------
13
14One horizon on server
15
16Simplest horizon setup with managed cloud-archive repo on ubuntu 12.04
17
18 linux:
19 system:
20 name: horizon
21 repo:
22 - cloudarchive-havana:
23 enabled: true
24 source: 'deb http://ubuntu-cloud.archive.canonical.com/ubuntu precise-updates/havana main'
25 pgpcheck: 0
26 horizon:
27 server:
28 manage_repo: true
29 enabled: true
30 secret_key: MEGASECRET
31 host:
32 name: cloud.lab.cz
33 cache:
34 engine: 'memcached'
35 host: '127.0.0.1'
36 port: 11211
37 prefix: 'CACHE_HORIZON'
38 identity:
39 engine: 'keystone'
40 host: '127.0.0.1'
41 port: 5000
42 api_version: 2
43 mail:
44 host: '127.0.0.1'
45
46Simple branded horizon
47
48 horizon:
49 server:
50 enabled: true
51 branding: 'OpenStack Company Dashboard'
52 default_dashboard: 'admin'
53 help_url: 'http://doc.domain.com'
54
55Horizon package setup with SSL
56
57 horizon:
58 server:
59 enabled: true
60 secret_key: MEGASECRET
61 version: juno
62 ssl:
63 enabled: true
64 authority: CA_Authority
65 host:
66 name: cloud.lab.cz
67 cache:
68 engine: 'memcached'
69 host: '127.0.0.1'
70 port: 11211
71 prefix: 'CACHE_HORIZON'
72 identity:
73 engine: 'keystone'
74 host: '127.0.0.1'
75 port: 5000
76 api_version: 2
77 mail:
78 host: '127.0.0.1'
79
80Multi-regional horizon setup
81
82 horizon:
83 server:
84 enabled: true
85 version: juno
86 secret_key: MEGASECRET
87 cache:
88 engine: 'memcached'
89 host: '127.0.0.1'
90 port: 11211
91 prefix: 'CACHE_HORIZON'
92 identity:
93 engine: 'keystone'
94 host: '127.0.0.1'
95 port: 5000
96 api_version: 2
97 mail:
98 host: '127.0.0.1'
99 regions:
100 - name: cluster1
101 address: http://cluster1.example.com:5000/v2.0
102 - name: cluster2
103 address: http://cluster2.example.com:5000/v2.0
104
105Horizon setup with sensu plugin
106
107 horizon:
108 server:
109 enabled: true
110 version: juno
111 sensu_api:
112 host: localhost
113 port: 4567
114 plugins:
115 - name: monitoring
116 app: horizon_monitoring
117 source:
118 type: git
119 address: git@repo1.robotice.cz:django/horizon-monitoring.git
120 rev: develop
121 - name: api-mask
122 app: api_mask
123 mask_url: 'custom-url.cz'
124 mask_protocol: 'http'
125 source:
126 type: git
127 address: git@repo1.robotice.cz:django/horizon-api-mask.git
128 rev: develop
129
130Sensu multi API
131
132 horizon:
133 server:
134 enabled: true
135 version: juno
136 sensu_api:
137 dc1:
138 host: localhost
139 port: 4567
140 dc2:
141 host: anotherhost
142 port: 4567
143
144Horizon setup with billometer plugin
145
146 horizon:
147 server:
148 enabled: true
149 version: juno
150 billometer_api:
151 host: localhost
152 port: 9753
153 api_version: 1
154 plugins:
155 - name: billing
156 app: horizon_billing
157 source:
158 type: git
159 address: git@repo1.robotice.cz:django/horizon-billing.git
160 rev: develop
161
162Horizon setup with contrail plugin
163
164 horizon:
165 server:
166 enabled: true
167 version: icehouse
168 plugins:
169 - name: contrail
170 app: contrail_openstack_dashboard
171 override: true
172 source:
173 type: git
174 address: git@repo1.robotice.cz:django/horizon-contrail.git
175 rev: develop
176
177Horizon setup with sentry log handler
178
179 horizon:
180 server:
181 enabled: true
182 version: juno
183 ...
184 logging:
185 engine: raven
186 dsn: http://pub:private@sentry1.test.cz/2
187
188Multisite with Git source
189-------------------------
190
191Simple Horizon setup from git repository
192
193 horizon:
194 server:
195 enabled: true
196 app:
197 default:
198 secret_key: MEGASECRET
199 source:
200 engine: git
201 address: https://github.com/openstack/horizon.git
202 rev: stable/havana
203 cache:
204 engine: 'memcached'
205 host: '127.0.0.1'
206 port: 11211
207 prefix: 'CACHE_DEFAULT'
208 identity:
209 engine: 'keystone'
210 host: '127.0.0.1'
211 port: 5000
212 api_version: 2
213 mail:
214 host: '127.0.0.1'
215
216Themed multisite setup
217
218 horizon:
219 server:
220 enabled: true
221 app:
222 openstack1c:
223 secret_key: MEGASECRET1
224 source:
225 engine: git
226 address: https://github.com/openstack/horizon.git
227 rev: stable/havana
228 plugin:
229 contrail:
230 app: contrail_openstack_dashboard
231 override: true
232 source:
233 type: git
234 address: git@repo1.robotice.cz:django/horizon-contrail.git
235 rev: develop
236 theme:
237 app: site1_theme
238 source:
239 type: git
240 address: git@repo1.domain.com:django/horizon-site1-theme.git
241 cache:
242 engine: 'memcached'
243 host: '127.0.0.1'
244 port: 11211
245 prefix: 'CACHE_SITE1'
246 identity:
247 engine: 'keystone'
248 host: '127.0.0.1'
249 port: 5000
250 api_version: 2
251 mail:
252 host: '127.0.0.1'
253 openstack2:
254 secret_key: MEGASECRET2
255 source:
256 engine: git
257 address: https://repo1.domain.com/openstack/horizon.git
258 rev: stable/icehouse
259 plugin:
260 contrail:
261 app: contrail_openstack_dashboard
262 override: true
263 source:
264 type: git
265 address: git@repo1.domain.com:django/horizon-contrail.git
266 rev: develop
267 monitoring:
268 app: horizon_monitoring
269 source:
270 type: git
271 address: git@domain.com:django/horizon-monitoring.git
272 rev: develop
273 theme:
274 app: bootswatch_theme
275 source:
276 type: git
277 address: git@repo1.robotice.cz:django/horizon-bootswatch-theme.git
278 rev: develop
279 cache:
280 engine: 'memcached'
281 host: '127.0.0.1'
282 port: 11211
283 prefix: 'CACHE_SITE2'
284 identity:
285 engine: 'keystone'
286 host: '127.0.0.1'
287 port: 5000
288 api_version: 3
289 mail:
290 host: '127.0.0.1'
291
292API versions override
293
294 horizon:
295 server:
296 enabled: true
297 app:
298 openstack_api_overrride:
299 secret_key: MEGASECRET1
300 api_versions:
301 identity: 3
302 volume: 2
303 source:
304 engine: git
305 address: https://github.com/openstack/horizon.git
306 rev: stable/havana
307
308Control dashboard behaviour
309
310 horizon:
311 server:
312 enabled: true
313 app:
314 openstack_dashboard_overrride:
315 secret_key: MEGASECRET1
316 dashboards:
317 settings:
318 enabled: true
319 project:
320 enabled: false
321 order: 10
322 admin:
323 enabled: false
324 order: 20
325 source:
326 engine: git
327 address: https://github.com/openstack/horizon.git
328 rev: stable/juno
329
330Read more
331=========
332
333* https://github.com/openstack/horizon
334* http://dijks.wordpress.com/2012/07/06/how-to-change-screen-resolution-of-novnc-client-in-openstack-essex-dashboard-nova-horizon/
335
336
337Things to improve
338=================
339
340* ALLOWED_HOSTS - do not use * - introduce parameters
341* CACHES - configure caching engine - is it not allowed by default?
342* SESSION_ENGINE - change it from signed cookie to something else
343* policy files - look into these files and think of further configuration/parametrisation