Skip to content
Katello integrates open source systems management tools into a single solution for controlling the lifecycle of your machines.
Ruby JavaScript HTML CSS Other
Find file
New pull request
Latest commit c848636 @ehelms ehelms Merge pull request #5583 from beav/export
Fixes #12446 - Enable exports of yum repo data
Failed to load latest commit information.
.tx fix paths in .tx/config after git reorganization
app Merge pull request #5583 from beav/export
ca adding redhat-uep.pem to katello ca
config Fixes #12446 - Enable exports of yum repo data
db Merge pull request #5536 from johnpmitsch/subscription-fixes
engines/bastion_katello Fixes #12500, #12501 - add scoped search to host collection systems
lib Fixes #12446 - Enable exports of yum repo data
locale fixes #12499 - fix spelling error (Synchronization vs Sychronization)
script Fixes #10809: Remove unused doc/ directory.
spec Fixes #12552 - Update url helper and spec to be 1.9.x and 2.0+ compat…
test Merge pull request #5583 from beav/export
vendor Refs #10970: apply backwards compatible rails 4 changes.
.gitignore Fixes #10974 : Add downstream strings.
.rspec initial commit
.rubocop.yml Refs #9099 - Update rubocop to 0.28
.rubocop_todo.yml Fixes #12531 - Upgrade rubocop to 0.35.1
.simplecov Setup simplecov in katello
.yardopts Add documentation of db schema Refs #7242: Add 1.5-2.0 Changelog. Fixes #6272/BZ1118479 - move Bastion guide to
CONTRIBUTORS adding myself to contrib
Gemfile Engine: Removing old gem files
LICENSE.txt set Markdown as default markup updates to README file
katello.gemspec Fixes #5334 - removes traces of Elastic Search

Katello Dependency Status

Full documentation is at


Katello is a systems life cycle management plugin to Foreman. Katello allows you to manage thousands of machines with one click. Katello can pull content from remote repositories into isolated environments, and make subscriptions management a breeze.

Currently, it is able to handle Fedora and Red Hat Enterprise Linux based systems.


The most common way to set up Katello for development is to use katello-deploy. This will set up a Vagrant instance with the Katello codebase checked out. You can also run setup.rb directly with katello-deploy if you prefer to not use Vagrant.

There is also katello-devel-installer if you would like to use that.

If you have questions or issues with any of the above methods, feel free to ask for assistance on #theforeman-dev IRC channel or via the foreman-dev mailing list.

Test Run

At this point, the development environment should be completely setup and the Katello engine functionality available. To verify this, go to your Foreman checkout:

  1. Start the development server

    cd $GITDIR/foreman
    rails s
  2. Access Foreman in your browser (e.g. https://<hostname>/). Note that while Rails will listen on port 3000, the dev installer will set up a reverse proxy so HTTPS on port 443 will work.

  3. Login to Foreman (default: admin and changeme)
  4. If you go to https://<hostname>/about and view the "Plugins" tab, you should see a "Katello" plugin listed.

Reset Development Environment

In order to reset the development environment, all backend data and the database needs to be reset. To reiterate, the following will destroy all data in Pulp, Candlepin and your Foreman/Katello database. From the Foreman checkout run:

rake katello:reset

Found a bug?

That's rather unfortunate. But don't worry! We can help. Just file a bug in our project tracker.


See the developer documentation.

Contact & Resources


Documentation is generated with YARD and hosted at This documentation is intended for developers, user documentation can be found on wiki. Developer documentation contains:

  • code documentation
  • high level guides to architectures and implementation details
  • how-tos

Note: older developer guides can be found on our wiki, they are being migrated.

How to

Current documentation

  • {file:doc/}
  • {file:doc/}


  • {file:doc/how_to/ Enabling Praise} - raise/exception investigation


  • {file:doc/how_to/ How to package new gem}


  • {file:doc/katellodb.html DB schema documentation}
  • Original Rails generated README {file:doc/RailsReadme}, we may do certain things differently

    • we use doc directory for storing markdown guides instead of a generated documentation


  • {Katello::Configuration}
  • {Notifications}
Something went wrong with that request. Please try again.