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.
- Website: theforeman.org
- ServerFault tag: Foreman
- Issues: Redmine
- Wiki: Foreman wiki
- Community and support: We use Freenode IRC channels
- #theforeman for general support
- #theforeman-dev for development chat
- Mailing lists:
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 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.
- 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
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 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
- 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
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
See LICENSE file.