It was discovered that Directory Index was enabled by default, leading to potential leak of data. A patch was done in puppet-openstacklib[1], but horizon doesn't use this common lib, meaning it wasn't properly fixed. [1] change id Icba53f4e32237556608f4cb6dcd9da1a71705c19 Related-Bug: #1854442 Related: https://bugzilla.redhat.com/show_bug.cgi?id=1729423 Change-Id: Ife921f8409f58b70c5da4c344e330eec56669e20
Team and repository tags
horizon
Table of Contents
- Overview - What is the horizon module?
- Module Description - What does the module do?
- Setup - The basics of getting started with horizon
- Implementation - An under-the-hood peek at what the module is doing
- Limitations - OS compatibility, etc.
- Beaker-Rspec - Beaker-rspec tests for the project
- Development - Guide for contributing to the module
- Release Notes - Release notes for the project
- Contributors - Those with commits
- Repository - The project source code repository
Overview
The horizon module is a part of OpenStack, an effort by the OpenStack infrastructure team to provide continuous integration testing and code review for OpenStack and OpenStack community projects as part of the core software. The module its self is used to flexibly configure and manage the dashboard service for OpenStack.
Module Description
The horizon module is a thorough attempt to make Puppet capable of managing the entirety of horizon. Horizon is a fairly classic django application, which results in a fairly simply Puppet module.
This module is tested in combination with other modules needed to build and leverage an entire OpenStack software stack.
Setup
What the horizon module affects
- Horizon, the dashboard service for OpenStack.
Installing horizon
puppet module install openstack/horizon
Beginning with horizon
To utilize the horizon module's functionality you will need to declare multiple resources but you'll find that doing so is much less complicated than the other OpenStack component modules. We recommend you consult and understand the core openstack documentation.
Define a horizon dashboard
class { 'memcached':
listen_ip => '127.0.0.1',
tcp_port => '11211',
udp_port => '11211',
}
class { 'horizon':
cache_server_ip => '127.0.0.1',
cache_server_port => '11211',
secret_key => '12345',
django_debug => 'True',
api_result_limit => '2000',
}
Implementation
horizon
Horizon is a simple module using the combination of a package, template, and the file_line type. Most all the configuration lives inside the included local_settings template and the file_line type is for selectively inserting needed lines into configuration files that aren't explicitly managed by the horizon module.
Limitations
- Only supports Apache using mod_wsgi.
Beaker-Rspec
This module has beaker-rspec tests
To run:
bundle install
bundle exec rspec spec/acceptance
Development
Developer documentation for the entire puppet-openstack project.