Skip to content

DSI-Ville-Noumea/control_plugin

Repository files navigation

ControlPlugin

Le greffon de contrôle ControlPlugin est un greffon pour Foreman permettant l'actualisation de l'environnement Puppet de production à l'aide de R10k.

Installation

L'installation se fait en tant qu'utilisateur root à l'aide du script build_install.sh:

  1. 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
  1. 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'
  1. Sur le serveur Puppet, exécuter le script build_install.sh en tant qu'utilisateur root:
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 avec sudo afin d'éxécuter la commande /usr/local/bin/deploy_r10l_env.sh en tant que super utilisateur (man 8 sudo et man 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'utilisateur foreman

Utilisation

L'utilisation du greffon ControlPlugin se fait à l'aide de l'interface Web de Foreman.

  1. Se connecter sur le serveur hébergeant Foreman avec un utilisateur ayant les permissions nécessaires (Organization admin)
  2. Dans le menu Administrer, cliquer sur Actualiser environnement
  3. 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

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