RETIRED, Horizon salt formula
Go to file
Filip Pytloun 3646eba28a Add doc dir 2016-01-26 11:59:32 +01:00
debian Initial commit 2015-10-06 16:40:56 +02:00
doc/source Add doc dir 2016-01-26 11:59:32 +01:00
horizon Billing enabled file updated 2016-01-20 22:26:16 +01:00
metadata/service wsgi processes 2015-12-15 19:50:12 +01:00
tests horizon tests 2016-01-25 23:18:44 +01:00
.gitignore part of tests for horizon 2016-01-25 23:14:48 +01:00
CHANGELOG.rst Initial commit 2015-10-06 16:40:56 +02:00
LICENSE Initial commit 2015-10-06 16:40:56 +02:00
README.rst Fixed missing code block declarations in README 2016-01-25 21:12:26 +01:00
VERSION Initial commit 2015-10-06 16:40:56 +02:00
metadata.yml part of tests for horizon 2016-01-25 23:14:48 +01:00

README.rst

Horizon

Horizon is the canonical implementation of OpenStacks Dashboard, which provides a web based user interface to OpenStack services including Nova, Swift, Keystone, etc.

Sample pillars

Packaged version of horizon

One horizon on server

Simplest horizon setup with managed cloud-archive repo on ubuntu 12.04

linux:
  system:
    name: horizon
    repo:
     - cloudarchive-havana:
        enabled: true
        source: 'deb http://ubuntu-cloud.archive.canonical.com/ubuntu precise-updates/havana main'
        pgpcheck: 0
horizon:
  server:
    manage_repo: true
    enabled: true
    secret_key: MEGASECRET
    host:
      name: cloud.lab.cz
    cache:
      engine: 'memcached'
      host: '127.0.0.1'
      port: 11211
      prefix: 'CACHE_HORIZON'
    identity:
      engine: 'keystone'
      host: '127.0.0.1'
      port: 5000
      api_version: 2
    mail:
      host: '127.0.0.1'

Simple branded horizon

horizon:
  server:
    enabled: true
    branding: 'OpenStack Company Dashboard'
    default_dashboard: 'admin'
    help_url: 'http://doc.domain.com'

Horizon package setup with SSL

horizon:
  server:
    enabled: true
    secret_key: MEGASECRET
    version: juno
    ssl:
      enabled: true
      authority: CA_Authority
    host:
      name: cloud.lab.cz
    cache:
      engine: 'memcached'
      host: '127.0.0.1'
      port: 11211
      prefix: 'CACHE_HORIZON'
    identity:
      engine: 'keystone'
      host: '127.0.0.1'
      port: 5000
      api_version: 2
    mail:
      host: '127.0.0.1'

Multi-regional horizon setup

horizon:
  server:
    enabled: true
    version: juno
    secret_key: MEGASECRET
    cache:
      engine: 'memcached'
      host: '127.0.0.1'
      port: 11211
      prefix: 'CACHE_HORIZON'
    identity:
      engine: 'keystone'
      host: '127.0.0.1'
      port: 5000
      api_version: 2
    mail:
      host: '127.0.0.1'
    regions:
    - name: cluster1
      address: http://cluster1.example.com:5000/v2.0
    - name: cluster2
      address: http://cluster2.example.com:5000/v2.0

Horizon setup with sensu plugin

horizon:
  server:
    enabled: true
    version: juno
    sensu_api:
      host: localhost
      port: 4567
    plugins:
    - name: monitoring
      app: horizon_monitoring
      source:
        type: git
        address: git@repo1.robotice.cz:django/horizon-monitoring.git
        rev: develop
    - name: api-mask
      app: api_mask
      mask_url: 'custom-url.cz'
      mask_protocol: 'http'
      source:
        type: git
        address: git@repo1.robotice.cz:django/horizon-api-mask.git
        rev: develop

Sensu multi API

horizon:
  server:
    enabled: true
    version: juno
    sensu_api:
      dc1:
        host: localhost
        port: 4567
      dc2:
        host: anotherhost
        port: 4567

Horizon setup with billometer plugin

horizon:
  server:
    enabled: true
    version: juno
    billometer_api:
      host: localhost
      port: 9753
      api_version: 1
    plugins:
    - name: billing
      app: horizon_billing
      source:
        type: git
        address: git@repo1.robotice.cz:django/horizon-billing.git
        rev: develop

Horizon setup with contrail plugin

horizon:
  server:
    enabled: true
    version: icehouse
    plugins:
    - name: contrail
      app: contrail_openstack_dashboard
      override: true
      source:
        type: git
        address: git@repo1.robotice.cz:django/horizon-contrail.git
        rev: develop

Horizon setup with sentry log handler

horizon:
  server:
    enabled: true
    version: juno
    ...
    logging:
      engine: raven
      dsn: http://pub:private@sentry1.test.cz/2

Multisite with Git source

Simple Horizon setup from git repository

horizon:
  server:
    enabled: true
    app:
      default:
        secret_key: MEGASECRET
        source:
          engine: git
          address: https://github.com/openstack/horizon.git
          rev: stable/havana
        cache:
          engine: 'memcached'
          host: '127.0.0.1'
          port: 11211
          prefix: 'CACHE_DEFAULT'
        identity:
          engine: 'keystone'
          host: '127.0.0.1'
          port: 5000
          api_version: 2
        mail:
          host: '127.0.0.1'

Themed multisite setup

horizon:
  server:
    enabled: true
    app:
      openstack1c:
        secret_key: MEGASECRET1
        source:
          engine: git
          address: https://github.com/openstack/horizon.git
          rev: stable/havana
        plugin:
          contrail:
            app: contrail_openstack_dashboard
            override: true
            source:
              type: git
              address: git@repo1.robotice.cz:django/horizon-contrail.git
              rev: develop
          theme:
            app: site1_theme
            source:
              type: git
              address: git@repo1.domain.com:django/horizon-site1-theme.git
        cache:
          engine: 'memcached'
          host: '127.0.0.1'
          port: 11211
          prefix: 'CACHE_SITE1'
        identity:
          engine: 'keystone'
          host: '127.0.0.1'
          port: 5000
          api_version: 2
        mail:
          host: '127.0.0.1'
      openstack2:
        secret_key: MEGASECRET2
        source:
          engine: git
          address: https://repo1.domain.com/openstack/horizon.git
          rev: stable/icehouse
        plugin:
          contrail:
            app: contrail_openstack_dashboard
            override: true
            source:
              type: git
              address: git@repo1.domain.com:django/horizon-contrail.git
              rev: develop
          monitoring:
            app: horizon_monitoring
            source:
              type: git
              address: git@domain.com:django/horizon-monitoring.git
              rev: develop
          theme:
            app: bootswatch_theme
            source:
              type: git
              address: git@repo1.robotice.cz:django/horizon-bootswatch-theme.git
              rev: develop
        cache:
          engine: 'memcached'
          host: '127.0.0.1'
          port: 11211
          prefix: 'CACHE_SITE2'
        identity:
          engine: 'keystone'
          host: '127.0.0.1'
          port: 5000
          api_version: 3
        mail:
          host: '127.0.0.1'

API versions override

horizon:
  server:
    enabled: true
    app:
      openstack_api_overrride:
        secret_key: MEGASECRET1
        api_versions:
          identity: 3
          volume: 2
        source:
          engine: git
          address: https://github.com/openstack/horizon.git
          rev: stable/havana

Control dashboard behaviour

horizon:
  server:
    enabled: true
    app:
      openstack_dashboard_overrride:
        secret_key: MEGASECRET1
        dashboards:
          settings:
            enabled: true
          project:
            enabled: false
            order: 10
          admin:
            enabled: false
            order: 20
        source:
          engine: git
          address: https://github.com/openstack/horizon.git
          rev: stable/juno

Read more

Things to improve

  • ALLOWED_HOSTS - do not use * - introduce parameters
  • CACHES - configure caching engine - is it not allowed by default?
  • SESSION_ENGINE - change it from signed cookie to something else
  • policy files - look into these files and think of further configuration/parametrisation