Generated by GPT-5-mini| Horizon (OpenStack) | |
|---|---|
| Name | Horizon |
| Developer | OpenStack Foundation |
| Released | 2012 |
| Programming language | Python, JavaScript |
| Operating system | Cross-platform |
| Platform | OpenStack |
| License | Apache License 2.0 |
Horizon (OpenStack) is the official web-based dashboard for the OpenStack cloud computing platform, providing administrators and users with a graphical interface to interact with core OpenStack services. It exposes management and orchestration functions for compute, networking, storage, identity, and image services, enabling tasks normally performed via Nova (OpenStack), Neutron (OpenStack), Cinder (OpenStack), Keystone (OpenStack), and Glance (OpenStack) command-line tools. Horizon integrates with ecosystem projects and vendor distributions to present a unified user experience for public, private, and hybrid cloud deployments.
Horizon is a component of the OpenStack ecosystem developed under the governance of the OpenInfra Foundation and contributes to interoperability efforts alongside projects such as Kolla (OpenStack), Trove (OpenStack), Magnum (OpenStack), Murano (OpenStack), and Octavia (OpenStack). It serves multiple roles in cloud operations including instance lifecycle management, network topology visualization, block and object storage administration, and image handling tied to DevStack, TripleO, and vendor initiatives from companies like Red Hat, Canonical (company), SUSE, IBM, and Rackspace. The dashboard complements orchestration and configuration tools such as Heat (OpenStack), Ansible, Puppet, Chef (software), and Terraform integrations.
Horizon is written primarily in Python (programming language) and JavaScript, built on web frameworks and libraries associated with projects like Django, jQuery, and front-end toolchains used by React (JavaScript library) adopters. Its architecture follows a modular, pluggable design exposing role-based views and API-driven operations that mediate interactions with back-end services: compute via Nova (OpenStack), networking via Neutron (OpenStack), identity via Keystone (OpenStack), storage via Cinder (OpenStack) and Swift (OpenStack), and image services via Glance (OpenStack). Horizon operates as a WSGI application commonly deployed with servers such as Apache HTTP Server and Nginx, and may integrate with middleware from Memcached, RabbitMQ, and databases like PostgreSQL or MySQL for session and configuration persistence.
Horizon exposes a suite of features including instance provisioning, flavor and keypair management, security group configuration, virtual networking, load balancing, volume management, and snapshot workflows that map to services such as Octavia (OpenStack), Cinder (OpenStack), and Neutron (OpenStack). It provides multi-tenant project dashboards, quota reporting, usage metering, and image catalogs often used together with Ceilometer and Gnocchi for telemetry. The dashboard supports internationalization used by contributors from organizations like Canonical (company), Red Hat, SUSE, and IBM and is extensible to integrate vendor-specific modules from Mirantis and Hewlett Packard Enterprise.
Typical deployment patterns include packaging in distributions from Red Hat, Canonical (company), SUSE, and appliance stacks such as DevStack for development, TripleO for production cloud installs, and containerized deployments using Docker or Kubernetes. Configuration commonly involves integrating with Keystone (OpenStack) for authentication, configuring endpoints for Nova (OpenStack), Neutron (OpenStack), Cinder (OpenStack), and Glance (OpenStack), and tuning web servers like Apache HTTP Server or Nginx for secure, scalable access. Operators often combine Horizon with monitoring and logging systems such as Prometheus, Grafana, ELK Stack, and Zabbix for operational visibility.
The project follows a community-driven contribution model under the OpenStack governance with code hosted and reviewed through infrastructure and processes used by Gerrit Code Review and Launchpad historically alongside GitHub mirrors. Horizon’s plugin architecture allows third parties to add panels, workflows, and APIs interoperable with projects like Murano (OpenStack) and Horizon plugins developed by vendors including Mirantis, Red Hat, and Canonical (company). Development practices align with continuous integration systems, unit testing frameworks, and release management processes shared across OpenStack projects such as milestone-based releases and interoperability testing in the OpenStack Interoperability Program.
Access control in Horizon is enforced via Keystone (OpenStack) identity services with support for federated authentication using standards and providers like SAML, OpenID Connect, OAuth 2.0, and integrations with corporate identity systems from organizations such as Microsoft and Okta (company). Role-based access controls map to project and domain scopes defined in Keystone (OpenStack), while Horizon implements CSRF protection, secure session handling, TLS configuration commonly provided by Let's Encrypt or enterprise certificate authorities, and security hardening guidance followed by vendors like Red Hat and Canonical (company).
Horizon emerged as the OpenStack dashboard early in the OpenStack project history, aligning its releases to the OpenStack release cycle with community milestones named after neighborhoods and landmarks similar to those used across the ecosystem. Over time, Horizon evolved from monolithic templates toward modular panels, adopting modern front-end patterns and integrations with containerization and orchestration initiatives from organizations such as Kubernetes and Docker. Major contributors have included corporate participants such as Rackspace, Red Hat, Canonical (company), SUSE, Mirantis, and IBM, and the project continues to track OpenStack release cadences coordinated by the OpenInfra Foundation.