As of this morning, the portion of the Katello code base that handles
the UI (nicknamed Bastion) has been split into common functionality
and the Katello specific pieces. The common pieces were split out into
their own gem  (named Bastion) and published both on rubygems.org
 and made available as an RPM in the foreman-plugins repository.
What does this mean?
The common pieces that were split out into the Bastion gem are built
such that they require Foreman but not Katello. Further, the idea is
to allow, similar to declaring a Foreman plugin, an engine to declare
itself a Bastion 'plugin', along with a few parameters, and the
Bastion gem will handle UI routing and asset loading. For Katello, the
Katello specific pieces live in roughly the same place as before, just
now named bastion_katello.
For an example of a UI plugin that stands alone outside of Katello and
has been adapted to make use of the Bastion gem see .
For any currently open PRs that touch the UI code in Katello, you will
need to rebase your pull request and ensure that your code lives in
the correct area (bastion_katello) and ensure engines/bastion no
If you have any questions, please find me on IRC or reply here and I
will help sort things out. Documentation updates to follow.