Pastie now auto-senses if line-wrap is a bad or good idea. Feedback?
## mark a section (Learn more)
import '*' class accounts { include users, groups define admin ($comment = "User", $ensure = "present", $gid, $sshpubkey, $sshpubkey_comment, $uid ) { $username = $name file { "/home/$username/.bashrc": group => "$username", mode => "640", owner => "$username", path => $kernel ? { Linux => "/home/$username/.bashrc", OpenBSD => "/home/$username/.profile" }, require => User["$username"], source => "puppet://$server/accounts/$username.bashrc", } group { "$username": ensure => "present", gid => "$gid", } ssh_authorized_key { "${sshpubkey_comment}": ensure => "$ensure", key => "$sshpubkey", require => User["$username"], target => "/home/${username}/.ssh/authorized_keys2", type => "rsa", user => "$username", } user { "$username": comment => "$comment", ensure => "$ensure", gid => "$gid", groups => "infrastructure", home => "/home/$username", managehome => "true", password => "*", require => [ Group["$username"], Group["infrastructure"] ], shell => $kernel ? { Linux => "/bin/bash", OpenBSD => "/usr/local/bin/bash" }, uid => "$uid", } } define ssh_user ( $comment = "User", $ensure = "present", $gid, $groups = "ssh_users", $shell = "/bin/bash", $sshpubkey, $sshpubkey_comment, $uid ) { $username = $name group { "$username": ensure => "present", gid => "$gid", } ssh_authorized_key { "${sshpubkey_comment}": ensure => "$ensure", key => "$sshpubkey", require => User["$username"], target => "/home/${username}/.ssh/authorized_keys2", type => "rsa", user => "$username", } user { "$username": ensure => "$ensure", uid => "$uid", gid => "$gid", comment => "$comment", home => "/home/$username", shell => "$shell", groups => "$groups", password => "*", managehome => "true", require => [ Group["$username"], Group["ssh_users"] ] } } }
This paste will be private.
From the Design Piracy series on my blog: