Skip to content

Instantly share code, notes, and snippets.

@matt-cahill
Created June 12, 2018 04:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save matt-cahill/0e2298201c967606cdaac651a5391c6a to your computer and use it in GitHub Desktop.
Save matt-cahill/0e2298201c967606cdaac651a5391c6a to your computer and use it in GitHub Desktop.
user { "${foreman_proxy::mcollective_user}":
ensure => present,
comment => 'mcollective puppetrun user',
home => "/home/${foreman_proxy::mcollective_user}",
managehome => true,
shell => '/bin/false',
}
file { "/home/${foreman_proxy::mcollective_user}/.puppetlabs":
ensure => directory,
require => User["${foreman_proxy::mcollective_user}"],
owner => $foreman_proxy::mcollective_user,
group => $foreman_proxy::mcollective_user,
mode => '0771',
}
file { "/home/${foreman_proxy::mcollective_user}/.puppetlabs/etc":
ensure => directory,
require => File["/home/${foreman_proxy::mcollective_user}/.puppetlabs"],
owner => $foreman_proxy::mcollective_user,
group => $foreman_proxy::mcollective_user,
mode => '0771',
}
file { "/home/${foreman_proxy::mcollective_user}/.puppetlabs/etc/puppet":
ensure => directory,
require => File["/home/${foreman_proxy::mcollective_user}/.puppetlabs/etc"],
owner => $foreman_proxy::mcollective_user,
group => $foreman_proxy::mcollective_user,
mode => '0771',
}
file { "/home/${foreman_proxy::mcollective_user}/.puppetlabs/etc/puppet/ssl":
ensure => directory,
require => File["/home/${foreman_proxy::mcollective_user}/.puppetlabs/etc/puppet"],
owner => $foreman_proxy::mcollective_user,
group => $foreman_proxy::mcollective_user,
mode => '0771',
}
file { [
"/home/${foreman_proxy::mcollective_user}/.puppetlabs/etc/puppet/ssl/certificate_requests",
"/home/${foreman_proxy::mcollective_user}/.puppetlabs/etc/puppet/ssl/certs",
"/home/${foreman_proxy::mcollective_user}/.puppetlabs/etc/puppet/ssl/private",
"/home/${foreman_proxy::mcollective_user}/.puppetlabs/etc/puppet/ssl/private_keys",
"/home/${foreman_proxy::mcollective_user}/.puppetlabs/etc/puppet/ssl/public_keys",
]:
ensure => directory,
require => File["/home/${foreman_proxy::mcollective_user}/.puppetlabs/etc/puppet/ssl"],
owner => $foreman_proxy::mcollective_user,
group => $foreman_proxy::mcollective_user,
mode => '0750',
}
file { "/home/${foreman_proxy::mcollective_user}/.puppetlabs/etc/puppet/ssl/certificate_requests/${foreman_proxy::mcollective_user}.mcollective.pem":
ensure => file,
require => File["/home/${foreman_proxy::mcollective_user}/.puppetlabs/etc/puppet/ssl/certificate_requests"],
source => "puppet:///modules/foreman_cluster/${foreman_proxy::mcollective_user}.csr",
owner => $foreman_proxy::mcollective_user,
group => $foreman_proxy::mcollective_user,
mode => '0640',
}
file { "/home/${foreman_proxy::mcollective_user}/.puppetlabs/etc/puppet/ssl/certs/ca.pem":
ensure => file,
require => File["/home/${foreman_proxy::mcollective_user}/.puppetlabs/etc/puppet/ssl/certs"],
source => "puppet:///modules/foreman_cluster/${foreman_proxy::mcollective_user}.ca",
owner => $foreman_proxy::mcollective_user,
group => $foreman_proxy::mcollective_user,
mode => '0640',
}
file { "/home/${foreman_proxy::mcollective_user}/.puppetlabs/etc/puppet/ssl/certs/${foreman_proxy::mcollective_user}.mcollective.pem":
ensure => file,
require => File["/home/${foreman_proxy::mcollective_user}/.puppetlabs/etc/puppet/ssl/certs"],
source => "puppet:///modules/foreman_cluster/${foreman_proxy::mcollective_user}.cert",
owner => $foreman_proxy::mcollective_user,
group => $foreman_proxy::mcollective_user,
mode => '0640',
}
file { "/home/${foreman_proxy::mcollective_user}/.puppetlabs/etc/puppet/ssl/private_keys/${foreman_proxy::mcollective_user}.mcollective.pem":
ensure => file,
require => File["/home/${foreman_proxy::mcollective_user}/.puppetlabs/etc/puppet/ssl/private_keys"],
source => "puppet:///modules/foreman_cluster/${foreman_proxy::mcollective_user}.key",
owner => $foreman_proxy::mcollective_user,
group => $foreman_proxy::mcollective_user,
mode => '0640',
}
file { "/etc/sudoers.d/${foreman_proxy::mcollective_user}":
ensure => file,
content => "Defaults:foreman-proxy !requiretty
Defaults:foreman-proxy env_keep -= \"HOME\"
foreman-proxy ALL = (${foreman_proxy::mcollective_user}) NOPASSWD : /opt/puppetlabs/bin/mco puppet runonce *
",
owner => 'root',
group => 'root',
mode => '0644',
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment