Foreman

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type Gestion de cycle de vie (provisioning, configuration, reporting)
Écrit en Ruby on Rails
Licence Open source (GPLv3)
Site officiel theforeman.org
Produit associé Red Hat Satellite (Satelite)
Voir aussi Foreman composants · Katello · Hammer foreman · Openscap foreman

Foreman est un outil open source de gestion du cycle de vie des serveurs physiques et virtuels. Il combine sous une même interface (web + API REST) le provisioning (PXE, DHCP, TFTP, kickstart/preseed), l'intégration avec un outil de gestion de configuration (Puppet, Ansible, Chef, Salt...) et le reporting. C'est le socle sur lequel s'appuie Katello pour la gestion de contenu, et qui sert de base au produit commercial Red Hat Satellite (Satelite).

Rôle et écosystème

Foreman ne remplace pas un outil de gestion de configuration : il orchestre et centralise autour de lui trois familles de fonctions :

  • Provisioning — création de VM/bare metal, boot PXE, DHCP, DNS, kickstart/preseed, intégration avec des hyperviseurs et des clouds (libvirt, EC2, OpenStack, Google Compute Engine, oVirt, VMware).
  • Configuration — rôle d'ENC (External Node Classifier) pour Puppet notamment : classes, classes paramétrées, smart variables, groupes d'hôtes, paramètres globaux.
  • Reporting — historique des changements, rapports de configuration, temps de réponse, remontée d'alertes (via des plugins comme Openscap foreman).

Ces services décentralisés (TFTP, DNS, DHCP...) peuvent être répartis sur des « smart proxies » plutôt que centralisés sur le serveur Foreman lui-même — utile pour du multi-site ou du multi-datacenter.

Installation (principe)

Le mode d'installation actuel recommandé passe par foreman-installer (basé sur Puppet), qui prend en charge l'ensemble de la stack (base de données, Apache/Passenger, plugins) :

# Ajout du dépôt Foreman puis installation via le programme d'installation
# (le détail exact des paquets dépend de la distribution et de la version — se référer à theforeman.org/manuals)
dnf install -y foreman-installer
foreman-installer
Note : Les procédures historiques (installation manuelle via rake db:migrate, configuration à la main de database.yml, CentOS 6...) sont obsolètes et ne concernent que les très anciennes versions de Foreman. Ne pas les reproduire sur un système actuel : passer par foreman-installer.

Outils et plugins associés

  • Hammer foreman — CLI et shell interactif pour piloter Foreman/Katello en scripting.
  • Katello — plugin de gestion de contenu, de patchs et de souscriptions.
  • Katello-agent — agent côté hôte pour la remontée des erratas (fonctionnalité historique, dépréciée).
  • Openscap foreman — plugin de reporting de conformité SCAP.
  • Foreman composants — détail des composants internes, du modèle ENC et du provisioning.

Voir aussi