Ruby HTML JavaScript Python CSS Shell
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.github Update PULL_REQUEST_TEMPLATE.md Feb 13, 2018
.storybook Fixes #22847 - Use pf-react donut chart in facts page May 10, 2018
.tx fixes #8874 - rework POT/PO updates for gettext 3's edit.po Feb 3, 2016
app refs #22847 - remove unused charts code. May 25, 2018
bin Fixes #21757 - Move dynflow executor to script/dynflowd Nov 24, 2017
bundler.d Fixes #23518 - Use puma for Capybara tests May 7, 2018
config fixes #23681 - move auth_source_ldap js to webpack (#5607) May 25, 2018
db Fixes #23679 - Nil error in migrate_template_to_parameters_macros (#5606 May 24, 2018
extras Fixes #19877 - Fix Style/NegatedIf cop Jan 15, 2018
lib Fixes #23635 - Centralize use of facter May 22, 2018
locale Fixes #22856 - Extract the strings from a bare foreman Apr 2, 2018
log WIP rails3 migration Nov 28, 2011
man refs #17044 - update foreman-debug man page for -s option change Nov 7, 2016
public Fixes #13936 - Drop support for legacy browsers Sep 15, 2016
script Fixes #23511 - Generate webpack plugins in context of vendor/bundle May 11, 2018
test Fixes #23550 - add to_hash method to Menu::Manager May 24, 2018
vendor/assets fixes #14178 - introduce patternfly toast notifications May 8, 2017
webpack fixes #23681 - move auth_source_ldap js to webpack (#5607) May 25, 2018
.babelrc Fixes #22101 - Reduce lodash affect on the bundle Jan 1, 2018
.eslintignore Fixes #16074 - Adds BIND variable to startup process Sep 14, 2016
.eslintrc Fixes #22847 - Use pf-react donut chart in facts page May 10, 2018
.gitignore Fixes #21130: Use patternfly-react npm package Nov 8, 2017
.hound.yml fixes #20275 - add css linter support Jul 12, 2017
.mention-bot Refs #17602 - correct typo in mention-bot config Dec 27, 2016
.rubocop.yml Fixes #19855 - Disable Style/ConditionalAssignment cop May 22, 2018
.rubocop_todo.yml Fixes #19855 - Disable Style/ConditionalAssignment cop May 22, 2018
.stylelintrc fixes #20275 - add css linter support Jul 12, 2017
.travis.yml Fixes #22493 - structured logging support Mar 13, 2018
CHANGELOG Bump version to 1.18-develop Jan 10, 2018
CONTRIBUTING.md Fixes #16139 - Add link to code contribution in CONTRIBUTING.md Aug 17, 2016
Contributors Bump version to 1.18-develop Jan 10, 2018
Gemfile Fixes #23443 - relax pinning of rails-i18n May 1, 2018
LICENSE Fixes #23483: edit Foreman license info for GitHub UI May 10, 2018
Procfile Fixes #16160 - added start-foreman-dev helper Jul 20, 2017
README.md Fixes #23483: edit Foreman license info for GitHub UI May 10, 2018
Rakefile fixes #19050 - add Ruby on Rails 5.0 support Jul 5, 2017
Rakefile.dist Refs #7719 - explicitly create .ssh dir in home Oct 21, 2014
VERSION Bump version to 1.18-develop Jan 10, 2018
config.ru Refs #18675 - Optionally load prometheus exporter Feb 26, 2018
package.json Fixes #23364 - add search input in breadcrumbs switcher May 16, 2018

README.md

Foreman

Build Status Code Climate Coverage Status Issue Stats Support IRC channel

Foreman is a free open source project that gives you the power to easily automate repetitive tasks, quickly deploy applications, and proactively manage your servers lifecyle, on-premises or in the cloud.

From provisioning and configuration to orchestration and monitoring, Foreman integrates with your existing infrastructure to make operations easier.

Using Puppet, Ansible, Chef, Salt and Foreman's smart proxy architecture, you can easily automate repetitive tasks, quickly deploy applications, and proactively manage change, both on-premise with VMs and bare-metal or in the cloud.

Foreman provides comprehensive, interaction facilities including a web frontend, CLI and RESTful API which enables you to build higher level business logic on top of a solid foundation.

Foreman is a mature project, deployed in many organizations, managing from 10s to 10000s of servers. It is used in distributions such as RDO and RHOS (Red Hat OpenStack distribution) and has an extensive library of plugins.

Features

  • Automate your mixed infrastructure to make operations enjoyable
  • Discover, provision and upgrade your entire bare-metal infrastructure
  • Create and manage instances across private and public clouds
  • Group your hosts and manage them in bulk, regardless of location
  • Review historical changes for auditing or troubleshooting
  • Extend as needed via a robust plugin architecture
  • Automatically build images (on each platform) per system definition to optimize deployment
  • LDAP authentication and RBAC authorization to your infrastructure
  • and so much more

Screenshots

Hosts list New host EC2 Provisioning templates Subnets Compute Resource Edit Puppet class Reports Statistics Partition tables Installation media

Installation

Read the quickstart section of the manual. If you know your setup has some specific needs, read the installation scenarios section.

Documentation

Our main documentation reference is the Foreman manual. If you find some gaps you would like to fill in the manual, please contribute in this repo.

API

We document our API using apipie.The API chapter has more information about accessing the API and the layout of requests and responses. Also see the reference documentation available on our website, or via your own Foreman installation by appending /apidoc to the URL to see the API routes available.

Plugins

Plugins are tools to extend and modify the functionality of Foreman. They are implemented as Rails engines that are packaged as gems and thus easily installed into Foreman.

The plugins page lists all available plugins and has more information about how to install and develop them.

How to contribute?

Generally, follow the Foreman guidelines. For code-related contributions, fork this project and send a pull request with all changes. Some things to keep in mind:

  • Follow the rules about commit message style and create a Redmine issue. Doing this right will help reviewers to get your contribution merged faster.
  • We have a development handbook to help developers understand how Foreman developers code.
  • Rubocop will analyze your code, you can run it locally with rake rubocop.
  • All of our pull requests run the full test suite in our Jenkins CI system. Please include tests in your pull requests for any additions or changes in functionality

Media

We keep a repository of talks, tutorials, articles about everything in the Foreman ecosystem in the media section of our web. If you want to get yours published, just submit a pull request to theforeman.org repository

Special thanks

The original authors of this project are Ohad Levy and Paul Kelly. You can find a more thorough list of people who have contributed to this project at some point in Contributors.

Licensing

See LICENSE file.

The Foreman repository/package is licensed under the GNU GPL v3 or newer, with some exceptions.

Copyright (c) 2009-2018 to Ohad Levy, Paul Kelly and their respective owners.

All copyright holders for the Foreman project are in the separate file called Contributors.

Except where specified below, this program and entire repository is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see GNU licenses.

The following files and directories are exceptions:

  • app/views/unattended/ztp/provision.erb is (c) 2013, Juniper Networks under 2-clause BSD license.
  • lib/tasks/convert.rake is (c) 2008, Matson Systems, Inc. under Revised BSD license.
  • extras/noVNC/websockify is (c) 2011, Joel Martin under LGPL v3 license.
  • vendor/assets/fonts/ is (c) 2011-2016, Red Hat Inc. under SIL Open Font License v1.1 or LGPL v2.1 licenses.
  • vendor/assets/javascripts/noVNC/ is (c) 1999 AT&T Laboratories Cambridge, (c) 1996 Widget Workshop, Inc., (c) 1996 Jef Poskanzer jef@acme.com, (c) 2011 Joel Martin, (c) Hiroshi Ichikawa http://gimite.net/en/, (c) Martijn Pieters mj@digicool.com, Samuel Sieb samuel@sieb.net under (MPL 1.1 or GPL v2+ or LGPL v2.1+) and LGPL v3 and LGPL v2+ and MIT and Revised BSD licenses.
  • vendor/assets/javascripts/jquery.flot.axislabels.js is (c) 2010 Xuan Luo under MIT license.
  • app/assetshttps://github.com/images/RancherOS.png is (c) 2018 Rancher Labs, Inc.

All rights reserved.

The LICENSE file contains the full text of the GNU GPL v3 license, along with the text for all additional licenses referenced above.