Added tutorial folder for future tutorials.
Added tutorial for creating and installing plugins.
Moved dashboard tutorial into tutorial folder.
Change-Id: I17c1ff279b47292d723c100b580667418aa05636
Closes-Bug: #1511593
This patch adds a topic guide explaining how developers should write and
organise SCSS within Horizon.
Change-Id: I4de2d1da73f6c7977a16fba9d09678923d7c443c
Closes-Bug: 1514869
This document is intended for horizon developers, adding
background on packaging topics. It even might be useful
for distribution packagers.
A few distributions are mentioned here, the list is neither complete
nor has been selected on purpose in that way.
Co-Authored-By: Thomas Goirand <thomas@goirand.fr>
Co-Authored-By: Andreas Jaeger <aj@suse.com>
Change-Id: If771636a086c384748f4cf34847d0a7a84a590ac
Currently, there is no list of plugins for Horizon. This patch adds an
initial list to the docs, which should be added to over time.
Change-Id: I5b00948886758e56770c0672c05b5e1d8fc81cc1
Closes-Bug: #1486080
This patch is a first pass at reducing the levels of "tribal knowledge"
and making the AngularJS codebase more accessible. It details code
style, file structures, testing and translation.
Change-Id: I22e6e5627216739fc92a5c9a5b417c6c6b16476d
Closes-Bug: 1373310
* Add "Using Horizon" section to the docs, which describes
how to install and configure Horizon. It is for operators
who install Horizon from source code.
* Clean up README.rst as much of the information is out-of-date
and most of it is covered by the developer docs.
* Minor update of page titles.
Change-Id: I09aab0d0bc47e07c8d663e7f7b5801e456434950
*Updating to avoid use of manage.py directly.
*Making it more DevStack friendly.
*Adding a sample DevStack local.conf to allow for exercise Horizon
against more services.
*Added simple developer instructions so new developers aren't tempted
to work on the DevStack instance of Horizon.
Change-Id: I0840c63183e7cec3b08e4f2ce208479ff7552f60
Adding documentation of DataTable decorators.
Adding documentation and example of complex workflow.
Connecting topics with api reference.
Change-Id: I2653e0c5c52179dcc45cee689cde50afcd6ae0de
Fixes: bug #1212559
Adding file based RBAC engine for Horizon using copies of nova and
keystone policy.json files
Policy engine builds on top of oslo incubator policy.py, fileutils
was also pulled from oslo incubator as a dependency of policy.py
When Horizon runs and a policy check is made, a path and mapping of
services to policy files is used to load the rules into the policy
engine. Each check is mapped to a service type and validated. This
extra level of mapping is required because the policy.json files
may each contain a 'default' rule or unqualified (no service name
include) rule. Additionally, maintaining separate policy.json
files per service will allow easier syncing with the service
projects.
The engine allows for compound 'and' checks at this time. E.g.,
the way the Create User action is written, multiple APIs are
called to read data (roles, projects) and more are required to
update data (grants, user).
Other workflows e.g., Edit Project, should have separate save
actions per step as they are unrelated. Only the applicable
policy checks to that step were added. The separating unrelated
steps saves will should be future work.
The underlying engine supports more rule types that are used in the
underlying policy.json files.
Policy checks were added for all actions on tables in the Identity
Panel only. And the service policy files imported are limited in
this commit to reduce scope of the change.
Additionally, changes were made to the base action class to add
support or setting policy rules and an overridable method for
determining the policy check target. This reduces the need for
redundant code in each action policy check.
Note, the benefit Horizon has is that the underlying APIs will
correct us if we get it wrong, so if a policy file is not found for
a particular service, permission is assumed and the actual API call
to the service will fail if the action isn't authorized for that user.
Finally, adding documentation regarding policy enforcement.
Implements: blueprint rbac
Change-Id: I4a4a71163186b973229a0461b165c16936bc10e5
In addition to thoroughly documenting the settings and config
options for Horizon/OpenStack Dashboard, this clarifies some
misconceptions around how to enable Object Storage/Swift
and Netowrking/Quantum in the OpenStack Dashboard.
Fixes bug 1064412. DocImpact.
Change-Id: I85fc7592c55111f5bc69a7cdab49679eaf81c6ca
Switch to using the self-contained django_openstack_auth
package which is a proper django.contrib.auth pluggable
backend.
Notable functional improvements include:
* Better overall security via use of standard Django
auth code (well-vetted by security experts).
* Token expiration checking.
* User "enabled" attribute checking.
* Support for full range of Django auth attributes
such as is_anonymous, is_active, is_superuser, etc.
* Improved hooks for RBAC/permission-based acess control.
Regarding the RBAC/permission-based access control, this
patch moves all "role" and "service"-oriented checks to
permission checks. This will make transitioning to
policy-driven checking much easier once that fully lands
in OpenStack.
Implements blueprint move-keystone-support-to-django-auth-backend
Change-Id: I4f3112af797aff8c4c5e9930c6ca33a70e45589d
To better facilitate the building and publishing of sphinx
documentation by Jenkins we are moving all openstack projects with
sphinx documentation to a common doc tree structure. Documentation
goes in project/doc and build results go in project/doc/build.
Change-Id: Ic523a716e4113198b777d6dc3db8bb8a729e7696
Implements blueprint extensible-architecture.
Implements blueprint improve-dev-documentation.
Implements blueprint gettext-everywhere.
Implements blueprint sphinx-docs.
Complete re-architecture of the dashboard to transform it from a standalone django-openstack app to a Horizon framework for building dashboards. See the docs for more information.
Incidentally fixes the following bugs:
Fixes bug 845868 -- no PEP8 violations.
Fixes bug 766096 -- the dashboard can now be installed at any arbitrary URL.
Fixes bug 879111 -- tenant id is now controlled solely by the tenant switcher, not the url (which was disregarded anyway)
Fixes bug 794754 -- output of venv installation is considerably reduced.
Due to the scale and scope of this patch I recommend reviewing it on github: https://github.com/gabrielhurley/horizon/tree/extensible_architecture
Change-Id: I8e63f7ea235f904247df40c33cb66338d973df9e