Le greffon de contrôle ControlPlugin est un greffon pour Foreman permettant l'actualisation de l'environnement Puppet de production à l'aide de R10k.
L'installation se fait en tant qu'utilisateur root
à l'aide du script build_install.sh
:
- Copier le répertoire
control_plugin
et son contenu dans un répertoire temporaire du serveur Puppet hébergeant Foreman
rsync -avzr --delete ./control_plugin/ root@puppetmaster:/tmp/control_plugin
- Configurer Foreman pour qu'il utilise le greffon en ajoutant la ligne suivante au fichier
/usr/share/foreman/bundler.d/Gemfile.local.rb
gem 'control_plugin'
- Sur le serveur Puppet, exécuter le script
build_install.sh
en tant qu'utilisateurroot
:
cd /tmp/control_plugin
./build_install.sh
Pour une prise en compte immédiate du greffon le script build_install
redémarre automatiquement les services httpd
et foreman-proxy.service
.
Pour pouvoir utiliser correctement le greffon:
- L'utilisateur système
foreman
doit avoir pouvoir escalader ses privilèges avecsudo
afin d'éxécuter la commande/usr/local/bin/deploy_r10l_env.sh
en tant que super utilisateur (man 8 sudo
etman 8 visudo
pour la configuration de l'escalade de privilèges). - SELinux doit être positionné à
permissive
afin de ne pas empêcher l'escalade des privilèges de l'utilisateurforeman
L'utilisation du greffon ControlPlugin se fait à l'aide de l'interface Web de Foreman.
- Se connecter sur le serveur hébergeant Foreman avec un utilisateur ayant les permissions nécessaires (
Organization admin
) - Dans le menu
Administrer
, cliquer surActualiser environnement
- Cliquer sur le bouton
Déployer
qui s'est affiché sur la page
Une fois le déploiement terminé un panneau d'information affichera l'état du déploiement.
En cas d'erreur les fichiers de journalisation /var/log/foreman/production.log
et /tmp/deploy_r10l_env.sh/deploy_r10l_env.sh.log
permettront de retrouver les éléments facilitant le déverminage de la situation.
Copyright (c) 2020 Michaël Costa / MCO System / https://www.mcos.nc
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.