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 :
file { "/home/$title/.ssh/authorized_keys": owner => $title, group => "staff", mode => 600, source => [ "puppet://$fileserver/files/users/$title/authorized_keys.$fqdn", "puppet://$fileserver/files/users/$title/authorized_keys" ] }
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.

Wednesday, 11. February 2009
Je ne connais pas grand chose a la syntaxe de puppet, mais est il normal que le ‘ [ ‘ ne soit pas fermé ?
Wednesday, 11. February 2009
C’est la CSS qui déborde “sous” le menu, et j’ai un peu la flemme de chercher un fix
Tuesday, 24. February 2009
Fixed