Voici ci-dessous quelques commandes dans le désordre concernant Puppet et son langage.

La commande 'puppet resource file nom_fichier' vérifie par exemple l'existence du fichier 'nom_fichier'.

Il retourne dans un format spécifique les informations sur le fichier.

Soit il est absent :

# puppet resource file /tmp/test
file { '/tmp/test':
ensure => 'absent',
}

Soit il est présent :

root@learning: #
root@learning: # puppet resource file /tmp/test
file { '/tmp/test':
ensure => 'file',
content => '{md5}d41d8cd98f00b204e9800998ecf8427e',
ctime => '2020-04-22 00:39:50 -0700',
group => 0,
mode => '0644',
mtime => '2020-04-22 00:39:50 -0700',
owner => 0,
type => 'file',
}

 

Il est également possible de modifier un fichier en spécifiant un des paramètres donné :

Exemple :

# puppet resource file /tmp/test mode='0755'  # ==> permet de changer les droits du fichier '/tmp/test'.

 

Il est également possible de travailler sur des ressources du serveur, comme un produit.

Ainsi, la commande suivante détermine si le produit httpd est installé:

puppet resource package httpd

 package { 'httpd':
ensure => 'purged',     # Dans le cas présent, la valeur 'purged' signifie que le paquet est absent.
}

Si le produit existe, la version du produit est affichée :

# puppet resource package puppet
package { 'puppet':
ensure => ['6.0.5'],
}

root@learning: # rpm -aq |grep puppet
puppet-bolt-1.14.0-1.el7.x86_64
puppet-agent-6.0.5-1.el7.x86_64

 Si vous ajouter 'ensure=present' à la fin de la ligne, le programme va l'installer :

puppet resource package httpd ensure=present

Et si vous mettez 'ensure=purged', vous demandez qu'il soit désinstallé s'il est présent.

La notion de FACT correspond à un programme permettant de remonter une information concernant le client lui-même.
La notion de catalogue Puppet peut être assimilée à une liste décrivant l'état dans lequel doit se trouver le client Puppet.


Le programme permettant de récupérer une information issue d'un FACT se nomme 'facter'.

Un fichier Manifest 'site.pp' doit exister sur le serveur avec une définition des caractéristiques souhaitées pour ce noeud.

Il est possible d'appliquer un manifeste directement sans passer par le serveur Puppet en utilisant la commande

sudo puppet apply /tmp/hello.pp  # /tmp/hello.pp étant un fichier contenant des commandes Puppet ( Par exemple "notify { 'Hello Puppet!': }" )

 

Pour connaître les chemins des modules :

puppet config print modulepath

/etc/puppetlabs/code/environments/production/modules:/etc/puppetlabs/code/modules:/opt/puppetlabs/puppet/modules

 

Lorsque vous écrivez un manifest( Par exemple init.pp), il est possible de valider le code par la commande suivante :

# puppet parser validate cowsay/manifests/init.pp

 

 

icon phone
Téléphone/Whatsapp : +33 (0)6 83 84 85 74
icon phone