Foreman (software)

Last updated

Foreman
Original author(s) Paul Kelly and Ohad Levy
Initial release10 September 2009
(15 years ago)
 (2009-09-10) [1]
Stable release
3.11.1 [2] OOjs UI icon edit-ltr-progressive.svg / 17 July 2024;2 months ago (17 July 2024)
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

<span class="mw-page-title-main">Cacti (software)</span> Free open source RRDtool

Cacti is an open-source, web-based network monitoring, performance, fault and configuration management framework designed as a front-end application for the open-source, industry-standard data logging tool RRDtool. Cacti allows a user to poll services at predetermined intervals and graph the resulting data. Through the use of Cacti plugins, it has been extended to encompass all of the FCAPS operational management categories. It is generally used to graph time-series data of metrics such as CPU load and network bandwidth utilization. A common usage is to monitor network traffic by polling a network switch or router interface via Simple Network Management Protocol (SNMP).

This article provides basic comparisons for notable text editors. More feature details for text editors are available from the Category of text editor features and from the individual products' articles. This article may not be up-to-date or necessarily all-inclusive.

The following tables compare general and technical information for many wiki software packages.

<span class="mw-page-title-main">Git</span> Distributed version control software system

Git is a distributed version control system that tracks versions of files. It is often used to control source code by programmers who are developing software collaboratively.

<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 geographic information system (GIS) software that is free and open-source. QGIS supports Windows, macOS, and Linux. It supports viewing, editing, printing, and analysis of geospatial data in a range of data formats. QGIS was previously also known as Quantum GIS.


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.

Avant Window Navigator is a dock-like bar for Linux, which sits on an edge of a user's screen and tracks open windows. Instead of representing open windows as buttons or segments on a bar, it uses large icons on a translucent background to increase readability and add visual appeal. The program was created by Neil J. Patel.

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 a source-available 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 (hosted) 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 center resources 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, rather than maintaining the code through manual processes. The code in the definition files may use either scripts or declarative definitions, 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 Microsoft 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 is not available to all Windows 10 users by default. It can be installed either by joining the Windows Insider program or manually via Microsoft Store or Winget.

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

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

Netdata is a partially 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.

References

  1. 1 2 "Initial tag in git". GitHub .
  2. "Release 3.11.1". 17 July 2024. Retrieved 23 July 2024.
  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".