blob: 6d5a076066437d7783e06e6978555436acc1e960 [file] [log] [blame]
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +02001
Ales Komarek231eb652017-04-11 16:01:19 +02002===============
3Horizon Formula
4===============
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +02005
Ales Komarek231eb652017-04-11 16:01:19 +02006Horizon is the canonical implementation of OpenStacks Dashboard, which
7provides a web based user interface to OpenStack services including Nova,
8Swift, Keystone, etc.
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +02009
Ales Komarek231eb652017-04-11 16:01:19 +020010
11Sample Pillars
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +020012==============
13
Ales Komarek2e7d83b2016-11-22 22:58:12 +010014Simplest horizon setup
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +020015
Adam Tenglerdbd1f052016-01-25 21:12:26 +010016.. code-block:: yaml
17
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +020018 horizon:
19 server:
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +020020 enabled: true
Ales Komarek2e7d83b2016-11-22 22:58:12 +010021 secret_key: secret
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +020022 host:
23 name: cloud.lab.cz
24 cache:
25 engine: 'memcached'
26 host: '127.0.0.1'
27 port: 11211
28 prefix: 'CACHE_HORIZON'
Oleksii Chupryn7d3d6482017-03-07 11:23:27 +020029 api_versions:
30 identity: 2
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +020031 identity:
32 engine: 'keystone'
33 host: '127.0.0.1'
34 port: 5000
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +020035 mail:
36 host: '127.0.0.1'
37
38Simple branded horizon
39
Adam Tenglerdbd1f052016-01-25 21:12:26 +010040.. code-block:: yaml
41
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +020042 horizon:
43 server:
44 enabled: true
45 branding: 'OpenStack Company Dashboard'
46 default_dashboard: 'admin'
47 help_url: 'http://doc.domain.com'
48
Ales Komarek231eb652017-04-11 16:01:19 +020049
50Horizon with enabled SSL security (when SSL is realised by proxy)
51
52.. code-block:: yaml
53
54 horizon:
55 server:
56 enabled: True
57 secure: True
58
59
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +020060Horizon package setup with SSL
61
Adam Tenglerdbd1f052016-01-25 21:12:26 +010062.. code-block:: yaml
63
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +020064 horizon:
65 server:
66 enabled: true
67 secret_key: MEGASECRET
68 version: juno
69 ssl:
70 enabled: true
71 authority: CA_Authority
72 host:
73 name: cloud.lab.cz
74 cache:
75 engine: 'memcached'
76 host: '127.0.0.1'
77 port: 11211
78 prefix: 'CACHE_HORIZON'
Oleksii Chupryn7d3d6482017-03-07 11:23:27 +020079 api_versions:
80 identity: 2
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +020081 identity:
82 engine: 'keystone'
83 host: '127.0.0.1'
84 port: 5000
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +020085 mail:
86 host: '127.0.0.1'
87
88Multi-regional horizon setup
89
Adam Tenglerdbd1f052016-01-25 21:12:26 +010090.. code-block:: yaml
91
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +020092 horizon:
93 server:
94 enabled: true
95 version: juno
96 secret_key: MEGASECRET
97 cache:
98 engine: 'memcached'
99 host: '127.0.0.1'
100 port: 11211
101 prefix: 'CACHE_HORIZON'
Oleksii Chupryn7d3d6482017-03-07 11:23:27 +0200102 api_versions:
103 identity: 2
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200104 identity:
105 engine: 'keystone'
106 host: '127.0.0.1'
107 port: 5000
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200108 mail:
109 host: '127.0.0.1'
110 regions:
111 - name: cluster1
112 address: http://cluster1.example.com:5000/v2.0
113 - name: cluster2
114 address: http://cluster2.example.com:5000/v2.0
115
116Horizon setup with sensu plugin
117
Adam Tenglerdbd1f052016-01-25 21:12:26 +0100118.. code-block:: yaml
119
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200120 horizon:
121 server:
122 enabled: true
123 version: juno
124 sensu_api:
125 host: localhost
126 port: 4567
Ales Komarek2e7d83b2016-11-22 22:58:12 +0100127 plugin:
128 monitoring:
129 app: horizon_monitoring
130 source:
131 type: git
132 address: git@repo1.robotice.cz:django/horizon-monitoring.git
133 rev: develop
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200134
135Sensu multi API
136
Adam Tenglerdbd1f052016-01-25 21:12:26 +0100137.. code-block:: yaml
138
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200139 horizon:
140 server:
141 enabled: true
142 version: juno
143 sensu_api:
144 dc1:
145 host: localhost
146 port: 4567
147 dc2:
148 host: anotherhost
149 port: 4567
150
Ales Komarek2e7d83b2016-11-22 22:58:12 +0100151Horizon setup with jenkins plugin
152
153.. code-block:: yaml
154
155 horizon:
156 server:
157 enabled: true
158 version: juno
159 jenkins_api:
160 url: https://localhost:8080
161 user: admin
162 password: pwd
163 plugin:
164 jenkins:
165 app: horizon_jenkins
166 source:
167 type: pkg
168
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200169Horizon setup with billometer plugin
170
Adam Tenglerdbd1f052016-01-25 21:12:26 +0100171.. code-block:: yaml
172
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200173 horizon:
174 server:
175 enabled: true
176 version: juno
177 billometer_api:
178 host: localhost
179 port: 9753
180 api_version: 1
Ales Komarek2e7d83b2016-11-22 22:58:12 +0100181 plugin:
182 billing:
183 app: horizon_billing
184 source:
185 type: git
186 address: git@repo1.robotice.cz:django/horizon-billing.git
187 rev: develop
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200188
189Horizon setup with contrail plugin
190
Adam Tenglerdbd1f052016-01-25 21:12:26 +0100191.. code-block:: yaml
192
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200193 horizon:
194 server:
195 enabled: true
196 version: icehouse
Ales Komarek2e7d83b2016-11-22 22:58:12 +0100197 plugin:
198 contrail:
199 app: contrail_openstack_dashboard
200 override: true
201 source:
202 type: git
203 address: git@repo1.robotice.cz:django/horizon-contrail.git
204 rev: develop
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200205
206Horizon setup with sentry log handler
207
Adam Tenglerdbd1f052016-01-25 21:12:26 +0100208.. code-block:: yaml
209
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200210 horizon:
211 server:
212 enabled: true
213 version: juno
214 ...
215 logging:
216 engine: raven
217 dsn: http://pub:private@sentry1.test.cz/2
218
219Multisite with Git source
220-------------------------
221
222Simple Horizon setup from git repository
223
Adam Tenglerdbd1f052016-01-25 21:12:26 +0100224.. code-block:: yaml
225
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200226 horizon:
227 server:
228 enabled: true
229 app:
230 default:
231 secret_key: MEGASECRET
232 source:
233 engine: git
234 address: https://github.com/openstack/horizon.git
235 rev: stable/havana
236 cache:
237 engine: 'memcached'
238 host: '127.0.0.1'
239 port: 11211
240 prefix: 'CACHE_DEFAULT'
Oleksii Chupryn7d3d6482017-03-07 11:23:27 +0200241 api_versions:
242 identity: 2
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200243 identity:
244 engine: 'keystone'
245 host: '127.0.0.1'
246 port: 5000
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200247 mail:
248 host: '127.0.0.1'
249
250Themed multisite setup
251
Adam Tenglerdbd1f052016-01-25 21:12:26 +0100252.. code-block:: yaml
253
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200254 horizon:
255 server:
256 enabled: true
257 app:
258 openstack1c:
259 secret_key: MEGASECRET1
260 source:
261 engine: git
262 address: https://github.com/openstack/horizon.git
263 rev: stable/havana
264 plugin:
265 contrail:
266 app: contrail_openstack_dashboard
267 override: true
268 source:
269 type: git
270 address: git@repo1.robotice.cz:django/horizon-contrail.git
271 rev: develop
272 theme:
273 app: site1_theme
274 source:
275 type: git
276 address: git@repo1.domain.com:django/horizon-site1-theme.git
277 cache:
278 engine: 'memcached'
279 host: '127.0.0.1'
280 port: 11211
281 prefix: 'CACHE_SITE1'
Oleksii Chupryn7d3d6482017-03-07 11:23:27 +0200282 api_versions:
283 identity: 2
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200284 identity:
285 engine: 'keystone'
286 host: '127.0.0.1'
287 port: 5000
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200288 mail:
289 host: '127.0.0.1'
290 openstack2:
291 secret_key: MEGASECRET2
292 source:
293 engine: git
294 address: https://repo1.domain.com/openstack/horizon.git
295 rev: stable/icehouse
296 plugin:
297 contrail:
298 app: contrail_openstack_dashboard
299 override: true
300 source:
301 type: git
302 address: git@repo1.domain.com:django/horizon-contrail.git
303 rev: develop
304 monitoring:
305 app: horizon_monitoring
306 source:
307 type: git
308 address: git@domain.com:django/horizon-monitoring.git
309 rev: develop
310 theme:
311 app: bootswatch_theme
312 source:
313 type: git
314 address: git@repo1.robotice.cz:django/horizon-bootswatch-theme.git
315 rev: develop
316 cache:
317 engine: 'memcached'
318 host: '127.0.0.1'
319 port: 11211
320 prefix: 'CACHE_SITE2'
Oleksii Chupryn7d3d6482017-03-07 11:23:27 +0200321 api_versions:
322 identity: 3
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200323 identity:
324 engine: 'keystone'
325 host: '127.0.0.1'
326 port: 5000
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200327 mail:
328 host: '127.0.0.1'
329
330API versions override
331
Adam Tenglerdbd1f052016-01-25 21:12:26 +0100332.. code-block:: yaml
333
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200334 horizon:
335 server:
336 enabled: true
337 app:
338 openstack_api_overrride:
339 secret_key: MEGASECRET1
340 api_versions:
341 identity: 3
342 volume: 2
343 source:
344 engine: git
345 address: https://github.com/openstack/horizon.git
346 rev: stable/havana
347
348Control dashboard behaviour
349
Adam Tenglerdbd1f052016-01-25 21:12:26 +0100350.. code-block:: yaml
351
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200352 horizon:
353 server:
354 enabled: true
355 app:
356 openstack_dashboard_overrride:
Ales Komarek2e7d83b2016-11-22 22:58:12 +0100357 secret_key: password
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200358 dashboards:
359 settings:
360 enabled: true
361 project:
362 enabled: false
363 order: 10
364 admin:
365 enabled: false
366 order: 20
367 source:
368 engine: git
369 address: https://github.com/openstack/horizon.git
370 rev: stable/juno
371
Alexander Noskov787a8122016-12-07 13:00:49 +0400372Enable WebSSO feature
373
374.. code-block:: yaml
375
376 horizon:
377 server:
378 enabled: true
379 websso:
380 login_url: "WEBROOT + 'auth/login/'"
381 logout_url: "WEBROOT + 'auth/logout/'"
382 websso_choices:
383 - saml2
384 - oidc
385
Ales Komarek231eb652017-04-11 16:01:19 +0200386
387More Information
388================
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200389
390* https://github.com/openstack/horizon
391* http://dijks.wordpress.com/2012/07/06/how-to-change-screen-resolution-of-novnc-client-in-openstack-essex-dashboard-nova-horizon/
Filip Pytloun219343c2017-02-02 13:02:03 +0100392
Ales Komarek231eb652017-04-11 16:01:19 +0200393
Filip Pytloun219343c2017-02-02 13:02:03 +0100394Documentation and Bugs
395======================
396
397To learn how to install and update salt-formulas, consult the documentation
398available online at:
399
400 http://salt-formulas.readthedocs.io/
401
402In the unfortunate event that bugs are discovered, they should be reported to
403the appropriate issue tracker. Use Github issue tracker for specific salt
404formula:
405
406 https://github.com/salt-formulas/salt-formula-horizon/issues
407
408For feature requests, bug reports or blueprints affecting entire ecosystem,
409use Launchpad salt-formulas project:
410
411 https://launchpad.net/salt-formulas
412
413You can also join salt-formulas-users team and subscribe to mailing list:
414
415 https://launchpad.net/~salt-formulas-users
416
417Developers wishing to work on the salt-formulas projects should always base
418their work on master branch and submit pull request against specific formula.
419
420 https://github.com/salt-formulas/salt-formula-horizon
421
422Any questions or feedback is always welcome so feel free to join our IRC
423channel:
424
425 #salt-formulas @ irc.freenode.net