# Foreman (software)

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.
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 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

| Date | Version | Changes and additions |
| 14 October 2013 | 1.3.0 | Improvements were made in the installation process, API, scalability, existing hosts mapping to compute resources, and more. A new official CLI. |
| 30 January 2014 | 1.4.0 | New compute profiles feature, improved plugin registration and web UI extensibility, Kerberos authentication support, and new smart proxy features. |
| 9 May 2014 | 1.5.0 | Config groups feature for Puppet management, integration with FreeIPA, improved authorization system and image provisioning on oVirt, libvirt and VMware ESX. |
| 11 September 2014 | 1.6.0 | Plugin support for Foreman's Smart Proxy, new API version, support for LDAP or Kerberos groups. |
| 2 December 2014 | 1.7.0 | New features for Foreman's smart class matchers supplying data to Puppet, more advanced networking support, and a build health checker. |
| 28 April 2015 | 1.8.0 | Networking user interface and improved provisioning support, new installer features, and performance enhancements. |
| 18 August 2015 | 1.9.0 | User interface enhancements, improved logging, image provisioning, and e-mail notifications. |
| 23 December 2015 | 1.10.0 | Various host management user interface enhancements, DNS plugin support in Foreman's Smart Proxy. |
| 1 April 2016 | 1.11.0 | Parameter management improvements, new Smart Proxy user interfaces, DHCP plugin support in the Smart Proxy. |
| 8 July 2016 | 1.12.0 | Puppet 4 support, New OS support (Ubuntu Xenial, Fedora 24) |
| 5 October 2016 | 1.13.0 | IPv6 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 2017 | 1.14.0 | Automatic 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 2017 | 1.15.0 | Default 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 2017 | 1.16.0 | Netgroup LDAP authentication, Puppet 5 support, VMWare SCSI controllers with per-disk configuration, Plugin Role Locking |
| 17 April 2018 | 1.17.0 | HTTP proxy for outgoing requests, Vertical navigation, Host interfaces auditing, Warning for unsupported PXE loader combinations |
| 19 July 2018 | 1.18.0 | Template importing, RancherOS provisioning support, MTU support for subnets, breadcrumb navigation |
| 31 August 2018 | 1.19.0 | Ubuntu Bionic support, Support for logging to journald or syslog, Full cloud-init support for oVirt |
| 18 November 2018 | 1.20.0 | Report templates, Template rendering engine rewrite, FIPS compliance, UI improvements |
| 1 March 2019 | 1.21.0 | New Diff viewer, Huawei VRP support, Performance, and stabilization |
| 4 June 2019 | 1.22.0 | Array, Boolean, and other types support in Parameters, Compute resource libraries update, Graphql API, Smart Proxy Exposed Capabilities and Settings, Puppet 6 support |
| 29 August 2019 | 1.22.1 | Maintenance release |
| 4 November 2020 | 1.22.2 | Maintenance release |
| 10 September 2019 | 1.23.0 | 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 |
| 4 November 2020 | 1.23.1 | Maintenance release |
| 12 March 2020 | 1.23.2 | Maintenance release |
| 9 December 2019 | 1.24.0 | 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 |
| 8 January 2020 | 1.24.1 | Maintenance release |
| 21 January 2020 | 1.24.2 | Maintenance release |
| 20 May 2020 | 1.24.3 | Maintenance release |
| 2 April 2020 | 2.0.0 | 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 |
| 9 June 2020 | 2.0.1 | Maintenance release |
| 19 August 2020 | 2.0.2 | Maintenance release |
| 1 July 2020 | 2.1.0 | External IPAM, Rails 6 upgrade, Support installation on EL8 distributions, Switch default web server from Passenger to Puma |
| 3 August 2020 | 2.1.1 | Maintenance release |
| 20 August 2020 | 2.1.2 | Maintenance release |
| 28 October 2020 | 2.2.0 | • Templates DSL documentation • Disabling users • API pagination supports ‘all’ • Experimental host details page |
| 1 December 2020 | 2.3.0 | • Host registration • Safe mode template preview when safe mode rendering is disabled • Show instance name in top menu |
| 19 March 2021 | 2.4.0 | • 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 | 2.5.0 | • 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 | 3.0.0 | • 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 | 3.1.0 | • 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 | 3.2.0 | • Debian 11 (Bullseye) support • require_ssl_smart_proxies setting dropped • Deprecated support for running Foreman on EL7 and Debian 10 (Buster) |
| 9 June 2022 | 3.3.0 | • 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 | 3.4.0 | |
| 14 December 2022 | 3.5.0 | • 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 | 3.6.0 | • 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 | 3.7.0 | • Plugin translation infrastructure in frontend • Puma updated to version 6 • Puppet 6 support dropped |