Advertisement
Guest User

Untitled

a guest
Nov 22nd, 2016
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Puppet 1.60 KB | None | 0 0
  1. define tildetown::user ($pubkey_type = 'ssh-rsa', $shell = '/bin/bash', $pubkey) {
  2.   $username = $title
  3.   $home = "/home/${username}"
  4.  
  5.   user { $username:
  6.     ensure => present,
  7.     managehome => true,
  8.     groups => ['town'],
  9.     shell => $shell,
  10.   }
  11.  
  12.   ssh_authorized_key { "${username}_default":
  13.     user => $username,
  14.     type => $pubkey_type,
  15.     key => $pubkey,
  16.     target => "${home}/.ssh/authorized_keys2",
  17.   }
  18.  
  19.   file { "${home}/.ssh":
  20.     ensure => directory,
  21.     owner => $username,
  22.     group => $username,
  23.   }
  24.  
  25.   file { "${home}/.vimrc":
  26.     ensure => file,
  27.     replace => false,
  28.     owner => $username,
  29.     group => $username,
  30.     source => 'puppet:///modules/tildetown/vimrc',
  31.   }
  32.  
  33.   file { "${home}/public_html":
  34.     ensure => directory,
  35.     owner => $username,
  36.     group => $username,
  37.     replace => false,
  38.   } ->
  39.   file { "${home}/public_html/index.html":
  40.     ensure => present,
  41.     owner => $username,
  42.     group => $username,
  43.     replace => false,
  44.     source => 'puppet:///modules/tildetown/index.html',
  45.   }
  46.  
  47.   # TODO move secrets to common.yaml
  48.   file { "${home}/.twurlrc":
  49.     ensure => file,
  50.     owner => $username,
  51.     group => $username,
  52.     replace => false,
  53.     source => "puppet:///modules/tildetown/twurlrc",
  54.   }
  55.  
  56.   file { "${home}/.weechat":
  57.     ensure => directory,
  58.     owner => $username,
  59.     group => $username,
  60.     replace => false,
  61.   } ->
  62.   file { "${home}/.weechat/irc.conf":
  63.     ensure => file,
  64.     replace => false,
  65.     owner => $username,
  66.     group => $username,
  67.     source => "puppet:///modules/tildetown/weechat_irc.conf",
  68.   }
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement