Foreman (software)

Last updated

Foreman
Original author(s) Paul Kelly and Ohad Levy
Initial release10 September 2009
(13 years ago)
 (2009-09-10) [1]
Stable release
3.7.0 [2] OOjs UI icon edit-ltr-progressive.svg / 20 June 2023;44 days ago (20 June 2023)
Repository
Written in Ruby and JavaScript
Platform Cross-platform: Unix, Linux, Microsoft Windows, OS X
Available inEnglish, French, German, Spanish
Type Systems management
License GPL-3.0
Website theforeman.org

Foreman (also known as The Foreman) is an open source complete life cycle systems management tool for provisioning, configuring and monitoring of physical and virtual servers. Foreman has deep integration to configuration management software, with Ansible, Puppet, Chef, Salt and other solutions through plugins, which allows users to automate repetitive tasks, deploy applications, and manage change to deployed servers.

Contents

Foreman provides provisioning on bare-metal (through managed DHCP, DNS, TFTP, and PXE-based unattended installations), virtualization and cloud. Foreman provides comprehensive, auditable interaction facilities, including a web frontend, a command line interface, and a robust REST API.

History

Initial development on Foreman started in July 2009 under a different project name. The initial release 0.1 was committed in September 2009 [1] by Ohad Levy.

Availability

Foreman is targeted on Linux operating systems, but users reported successful installations on Microsoft Windows, BSD, and macOS.

The core Foreman team maintains repositories for various Linux distributions: Fedora, Red Hat Enterprise Linux (and derivatives such as CentOS), Debian, and Ubuntu.

Plugins

Foreman comes with freely available plugins to increase functionality. All plugins are available on GitHub.

Release history

DateVersionChanges and additions
14 October 20131.3.0Improvements were made in the installation process, API, scalability, existing hosts mapping to compute resources, and more. A new official CLI.
30 January 20141.4.0New compute profiles feature, improved plugin registration and web UI extensibility, Kerberos authentication support, and new smart proxy features.
9 May 20141.5.0Config groups feature for Puppet management, integration with FreeIPA, improved authorization system and image provisioning on oVirt, libvirt and VMware ESX.
11 September 20141.6.0Plugin support for Foreman's Smart Proxy, new API version, support for LDAP or Kerberos groups.
2 December 20141.7.0New features for Foreman's smart class matchers supplying data to Puppet, more advanced networking support, and a build health checker.
28 April 20151.8.0Networking user interface and improved provisioning support, new installer features, and performance enhancements.
18 August 20151.9.0User interface enhancements, improved logging, image provisioning, and e-mail notifications.
23 December 20151.10.0Various host management user interface enhancements, DNS plugin support in Foreman's Smart Proxy.
1 April 20161.11.0Parameter management improvements, new Smart Proxy user interfaces, DHCP plugin support in the Smart Proxy.
8 July 20161.12.0Puppet 4 support, New OS support (Ubuntu Xenial, Fedora 24)
5 October 20161.13.0IPv6 addressing and partial orchestration support, Support for different PXE boot loaders for UEFI booting, ISC DHCP performance improvement, Compute resource enhancements, Facter structured facts support
16 January 20171.14.0Automatic IPv6 addressing for hosts in compute resources, support for exporting templates and see help on how to create them, LDAP enhancements to support putting users in organizations/locations
12 May 20171.15.0Default owner for new hosts, notifications drawer, templates and roles locking, import hosts that are in compute resources, SSH keys deployed differently depending on who creates the host. Many VMWare-related fixes, including performance and host editing.
30 November 20171.16.0Netgroup LDAP authentication, Puppet 5 support, VMWare SCSI controllers with per-disk configuration, Plugin Role Locking
17 April 20181.17.0HTTP proxy for outgoing requests, Vertical navigation, Host interfaces auditing, Warning for unsupported PXE loader combinations
19 July 20181.18.0Template importing, RancherOS provisioning support, MTU support for subnets, breadcrumb navigation
31 August 20181.19.0Ubuntu Bionic support, Support for logging to journald or syslog, Full cloud-init support for oVirt
18 November 20181.20.0Report templates, Template rendering engine rewrite, FIPS compliance, UI improvements
1 March 20191.21.0New Diff viewer, Huawei VRP support, Performance, and stabilization
4 June 20191.22.0 [3] Array, Boolean, and other types support in Parameters, Compute resource libraries update, Graphql API, Smart Proxy Exposed Capabilities and Settings, Puppet 6 support [4]
29 August 20191.22.1 [3] Maintenance release [4]
4 November 20201.22.2 [3] Maintenance release [4]
10 September 20191.23.0 [3] New Login Page, Foreman Userdata plugin has been merged into Foreman Core, Impersonation capability added, Multiple improvements to GCE compute resource, Javascript stack improvements, Experimental Redis cache support [5]
4 November 20201.23.1 [3] Maintenance release [5]
12 March 20201.23.2 [3] Maintenance release [5]
9 December 20191.24.0 [3] Support for Azure Resource Manager Compute Resource, Single Sign-On (SSO) support using OpenID-Connect, Debian 10 (Buster) support, Dynflow deployment with Sidekiq, Cockpit single sign-on, New status API endpoints [6]
8 January 20201.24.1 [3] Maintenance release [6]
21 January 20201.24.2 [3] Maintenance release [6]
20 May 20201.24.3 [3] Maintenance release [6]
2 April 20202.0.0 [3] New sidekiq-based implementation for Dynflow, Consolidating on PostgreSQL as only supported database, Database migrations and seeding no longer run as part of package installation, Improved UI for managing authentication sources [7]
9 June 20202.0.1 [3] Maintenance release [7]
19 August 20202.0.2 [3] Maintenance release [7]
1 July 20202.1.0 [3] External IPAM, Rails 6 upgrade, Support installation on EL8 distributions, Switch default web server from Passenger to Puma [8]
3 August 20202.1.1 [3] Maintenance release [8]
20 August 20202.1.2 [3] Maintenance release [8]
28 October 2020 [9] 2.2.0 [10] • Templates DSL documentation
• Disabling users
• API pagination supports ‘all’
• Experimental host details page
1 December 2020 [9] 2.3.0 [11] • Host registration
• Safe mode template preview when safe mode rendering is disabled
• Show instance name in top menu
19 March 2021 [9] 2.4.0 [12] Ansible inventory template
• Services only allow TLS 1.2+ connections by default
• Managing personal access tokens through the Foreman web UI
• Support for Redfish to BMC Smart Proxy
2 June 2021 [9] 2.5.0 [13] Ubuntu 20.04 (Focal) support
CentOS Stream 8 support
• Host registration improvements
• Audits performance improvements
• Removal of mod_passenger support
• New kind of facts in Discovery plugin
7 September 2021 [9] 3.0.0 [14] • Puppet ENC functionality extracted to foreman_puppet plugin
• Kerberos authentication using mod_auth_gssapi
• Fact parsers are included in core
• Deprecated support for running Foreman on Ubuntu 18.04 or EL 7
9 December 2021 [9] 3.1.0 [15] • Improvements and additions to the new Host Details page: Insights tab, Ansible tab, PatternFly 4 Search tab, New Build button and card for BMC Power Management
• Descriptions for all of the provisioning templates
• New purge:puppet rake task
• Cron job to clean old Audits
• Provisioning snippets support Puppet 7
• Performance improvements for index pages and Host Config Status
• Dropped support for running Foreman on Ubuntu 18.04
• Deprecated the :unattended setting
15 March 2022 [9] 3.2.0 [16] Debian 11 (Bullseye) support
require_ssl_smart_proxies setting dropped
• Deprecated support for running Foreman on EL7 and Debian 10 (Buster)
9 June 2022 [9] 3.3.0 [17] • DSL Autocompletion in templates
• EL9 Client repository
• Disabling unattended mode dropped
• BMC credentials access turned off by default
• Updated browser compatibility
• Deprecated support for running Foreman on Ruby 2.5
8 September 2022 [9] 3.4.0 [18]
14 December 2022 [9] 3.5.0 [19] • Improved inventory pages
• Enabled HTTP/2 on Apache
• Use of system crypto policy with Apache on Enterprise Linux 8
• Redis 6 on Enterprise Linux 8
• Allow manual modifications of ansible.cfg
21 March 2023 [9] 3.6.0 [20] • Redis cache can now be managed by the installer
• New installations will disable Puppetserver’s telemetry by default
foreman_memcache plugin was removed
• Puppet 6 is EOL
20 June 2023 [9] 3.7.0 [21] • Plugin translation infrastructure in frontend
• Puma updated to version 6
• Puppet 6 support dropped

See also

Related Research Articles

The following tables compare general and technical information for a number of wiki software packages.

<span class="mw-page-title-main">Git</span> Software for version control of files

Git is a distributed version control system that tracks changes in any set of computer files, usually used for coordinating work among programmers collaboratively developing source code during software development. Its goals include speed, data integrity, and support for distributed, non-linear workflows.

<span class="mw-page-title-main">Capistrano (software)</span>

Capistrano is an open-source tool for running scripts on multiple servers; its main use is deploying web applications. It automates the process of making a new version of an application available on one or more web servers, including supporting tasks such as changing databases.

<span class="mw-page-title-main">QGIS</span> Open source desktop GIS software

QGIS is a free and open-source cross-platform desktop geographic information system (GIS) application that supports viewing, editing, printing, and analysis of geospatial data.

<span class="mw-page-title-main">Aptana</span> Text editor

Aptana, Inc. is a company that makes web application development tools for use with a variety of programming languages. Aptana's main products include Aptana Studio, Aptana Cloud and Aptana Jaxer.


This is a comparison of notable free and open-source configuration management software, suitable for tasks like server configuration, orchestration and infrastructure as code typically performed by a system administrator.

oVirt Free, open-source virtualization management platform

oVirt is a free, open-source virtualization management platform. It was founded by Red Hat as a community project on which Red Hat Virtualization is based. It allows centralized management of virtual machines, compute, storage and networking resources, from an easy-to-use web-based front-end with platform independent access. KVM on x86-64, PowerPC64 and s390x architecture are the only hypervisors supported, but there is an ongoing effort to support ARM architecture in a future releases.

Spacewalk is open-source systems management software for system provisioning, patching and configuration licensed under the GNU GPLv2.

Progress Chef is a configuration management tool written in Ruby and Erlang. It uses a pure-Ruby, domain-specific language (DSL) for writing system configuration "recipes". Chef is used to streamline the task of configuring and maintaining a company's servers, and can integrate with cloud-based platforms such as Amazon EC2, Google Cloud Platform, Oracle Cloud, OpenStack, IBM Cloud, Microsoft Azure, and Rackspace to automatically provision and configure new machines. Chef contains solutions for both small and large scale systems.

<span class="mw-page-title-main">Vagrant (software)</span> Software for portable virtual development environments

Vagrant is an open-source software product for building and maintaining portable virtual software development environments; e.g., for VirtualBox, KVM, Hyper-V, Docker containers, VMware, Parallels, and AWS. It tries to simplify the software configuration management of virtualization in order to increase development productivity. Vagrant is written in the Ruby language, but its ecosystem supports development in a few other languages.

Ansible is a suite of software tools that enables infrastructure as code. It is open-source and the suite includes software provisioning, configuration management, and application deployment functionality.

bhyve is a type-2 hypervisor initially written for FreeBSD. It can also be used on a number of illumos based distributions including SmartOS, OpenIndiana, and OmniOS. A port of bhyve to macOS called xhyve is also available.

<span class="mw-page-title-main">Rudder (software)</span> Audit and configuration management utility

Rudder is an open source audit and configuration management utility to help automate system configuration across large IT infrastructures. Rudder relies on a lightweight local agent installed on each managed machine.

Infrastructure as code (IaC) is the process of managing and provisioning computer data centers through machine-readable definition files, rather than physical hardware configuration or interactive configuration tools. The IT infrastructure managed by this process comprises both physical equipment, such as bare-metal servers, as well as virtual machines, and associated configuration resources. The definitions may be in a version control system. The code in the definition files may use either scripts or declarative definitions, rather than maintaining the code through manual processes, but IaC more often employs declarative approaches.

<span class="mw-page-title-main">Windows Subsystem for Linux</span> Compatibility layer for running Linux binary executables natively on Windows

Windows Subsystem for Linux (WSL) is a feature of Windows that allows developers to run a Linux environment without the need for a separate virtual machine or dual booting. There are two versions of WSL: WSL 1 and WSL 2. WSL 1 was first released on August 2, 2016, and acts as a compatibility layer for running Linux binary executables by implementing Linux system calls on the Windows kernel. It is available on Windows 10, Windows 10 LTSB/LTSC, Windows 11, Windows Server 2016, Windows Server 2019 and Windows Server 2022.

<span class="mw-page-title-main">Art of Illusion</span>

Art of Illusion is a free software, and open source software package for making 3D graphics.

Microsoft, a technology company historically known for its opposition to the open source software paradigm, turned to embrace the approach in the 2010s. From the 1970s through 2000s under CEOs Bill Gates and Steve Ballmer, Microsoft viewed the community creation and sharing of communal code, later to be known as free and open source software, as a threat to its business, and both executives spoke negatively against it. In the 2010s, as the industry turned towards cloud, embedded, and mobile computing—technologies powered by open source advances—CEO Satya Nadella led Microsoft towards open source adoption although Microsoft's traditional Windows business continued to grow throughout this period generating revenues of 26.8 billion in the third quarter of 2018, while Microsoft's Azure cloud revenues nearly doubled.

<span class="mw-page-title-main">Netdata</span> Open-source system monitor software

Netdata is an open source tool designed to collect real-time metrics, such as CPU usage, disk activity, bandwidth usage, website visits, etc., and then display them in live, easy-to-interpret charts.

<span class="mw-page-title-main">Rocky Linux</span> Operating system by Rocky Enterprise Software Foundation

Rocky Linux is a Linux distribution developed by Rocky Enterprise Software Foundation, which is a privately owned benefit corporation that describes itself as a "self-imposed not-for-profit". It is intended to be a downstream, complete binary-compatible release using the Red Hat Enterprise Linux (RHEL) operating system source code. The project's aim is to provide a community-supported, production-grade enterprise operating system. Rocky Linux, along with Red Hat Enterprise Linux and SUSE Linux Enterprise, has become popular for enterprise operating system use.

References

  1. 1 2 "Initial tag in git". GitHub .
  2. "Release 3.7.0". 20 June 2023. Retrieved 4 July 2023.
  3. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 "theforeman/foreman". GitHub. Retrieved 3 September 2020.
  4. 1 2 3 "Foreman :: Manual". theforeman.org. Retrieved 3 September 2020.
  5. 1 2 3 "Foreman :: Manual". theforeman.org. Retrieved 3 September 2020.
  6. 1 2 3 4 "Foreman :: Manual". theforeman.org. Retrieved 3 September 2020.
  7. 1 2 3 "Foreman :: Manual". theforeman.org. Retrieved 3 September 2020.
  8. 1 2 3 "Foreman :: Manual". theforeman.org. Retrieved 3 September 2020.
  9. 1 2 3 4 5 6 7 8 9 10 11 12 "Tags · theforeman/Foreman". GitHub .
  10. "Foreman :: Manual".
  11. "Foreman :: Manual".
  12. "Foreman :: Manual".
  13. "Foreman :: Manual".
  14. "Foreman :: Manual".
  15. "Foreman :: Manual".
  16. "Foreman :: Manual".
  17. "Foreman :: Manual".
  18. "Foreman :: Manual".
  19. "Foreman :: Manual".
  20. "Foreman :: Manual".
  21. "Foreman :: Manual".