Skip to content
Katello integrates open source systems management tools into a single solution for controlling the lifecycle of your machines. http://katello.org
Ruby JavaScript HTML CSS Other
Find file
Pull request Compare This branch is 1 commit ahead, 4359 commits behind Katello:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.tx
app
autotest
bundler.d
ca
config
db
deploy/common
doc
engines
etc
lib
locale
man
public
rel-eng
script
spec
test
vendor
yard-template/default
.gitignore
.rspec
.rubocop.yml
.simplecov
.travis.yml
.yardopts
CONTRIBUTING.md
Gemfile
LICENSE.txt
README.md
config.ru
katello.gemspec
katello.spec

README.md

Katello Build Status

Full documentation is at http://katello.github.io/katello

About

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.

Development

To setup a development environment begin with following the standard setup for Katello from git instructions - development instructions. From here on in, the assumption is that you have installed Katello and converted your setup to a git checkout. If you already have a Foreman git checkout, skip ahead to the section on setting Katello up, otherwise follow the instructions below to setup a local git checkout of Foreman.

Setup Foreman

Start by cloning Foreman beside your git checkout of Katello such that:

workspace/
    foreman/
    katello/

Change directories into the Foreman checkout and copy the sample settings and database files:

cd foreman
cp config/settings.yaml.example config/settings.yaml
cp config/database.yml.example config/database.yml

Edit config/settings.yaml:

:require_ssl: false
# ...
:organizations_enabled: true

Ensure you have libvirt-devel installed:

sudo yum install libvirt-devel

Now create a local gemfile, add two basic gems and install dependencies:

touch bundler.d/Gemfile.local.rb
echo "gem 'facter'" >> bundler.d/Gemfile.local.rb
echo "gem 'puppet'" >> bundler.d/Gemfile.local.rb
bundle install

Finally, create and migrate the database:

rake db:create db:migrate

Setup Katello

The Katello setup assumes that you have a previously setup Foreman checkout or have followed the instructions in the Setup Foreman section. The first step is to add the Katello engine and install dependencies:

echo "gem 'katello', :path => '../katello'" >> bundler.d/Gemfile.local.rb
bundle update

Now add the Katello migrations and initial seed data:

rake db:migrate && rake db:seed

If you have set RAILS_RELATIVE_URL_ROOT in the past then you need to be sure to unset it and remove it from .bashrc or .bash_profile as appropriate.

unset RAILS_RELATIVE_URL_ROOT

Make sure that use_ssl: false is set in config/katello.yml. (debatable)

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

  1. Start the development server

    pwd
    ~/workspace/foreman
    
    rails s
  2. Access Foreman in your browser (e.g. http://<hostname>:3000/)

  3. Login to Foreman (default: admin and changeme)
  4. Create an initial Foreman organization
  5. Navigate to the Katello engine (e.g. http://<hostname>:3000/katello)

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 on our Bugzilla or in Github.

Contributing

See development instructions.

What's included in this repository:

  • script - various development scripts
  • actual Rails app of Katello

Contact & Resources

Documentation

Documentation is generated with YARD and hosted at http://katello.github.io/katello/. 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/YARDDocumentation.md}
  • {file:doc/Graphs.md}

Debugging

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

Packaging

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

Other

  • {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

Source

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