Nico
Nico
Creator of this small website
Feb 6, 2009 1 min read

Petite astuce puppet

Au boulot je déploie des fichiers authorized_keys pour différents utilisateurs, basé sur un modèle “fixe” par utilisateur. C’est un fichier qui est utilisé comme source, rangé sous files/users/[username]/authorized_keys. Le soucis c’est quand un utilisateur veut sur une seule machine un authorized_keys différent du modèle. J’ai cherché dans tous les sens, de façon bien compliquée souvent, alors qu’il existe un moyen très simple de mettre en place une “exception” par machine. En effet, le type file autorise à spécifier plusieurs sources (un array de sources) et va “fallback” sur les différents fichiers en s’arrêtant sur le premier trouvé. Ce qui nous donne en langage puppet :

Ainsi, pour la machine client.mondomaine.com si le fichier files/users/[username]/authorized_keys.client.mondomaine.com existe, il sera utilisé en lieu et place de files/users/[username]/authorized_keys.