diff options
author | Silvio Rhatto <rhatto@riseup.net> | 2013-04-13 17:19:51 -0300 |
---|---|---|
committer | Silvio Rhatto <rhatto@riseup.net> | 2013-04-13 17:19:51 -0300 |
commit | 23720254e0e298f24858dabdf1a233e17ef759e8 (patch) | |
tree | 586aa4cc68250ec6623d1b1601b53def386675a1 /manifests/nodo.pp | |
parent | 7fb6adec51e060f32ff0392840a65280f9f15345 (diff) | |
download | puppet-nodo-23720254e0e298f24858dabdf1a233e17ef759e8.tar.gz puppet-nodo-23720254e0e298f24858dabdf1a233e17ef759e8.tar.bz2 |
Moving some code to a base class
Diffstat (limited to 'manifests/nodo.pp')
-rw-r--r-- | manifests/nodo.pp | 152 |
1 files changed, 2 insertions, 150 deletions
diff --git a/manifests/nodo.pp b/manifests/nodo.pp index 3502c23..50b74b8 100644 --- a/manifests/nodo.pp +++ b/manifests/nodo.pp @@ -1,154 +1,6 @@ class nodo { - include lsb - include nodo::subsystem::sudo - include nodo::subsystem::motd - include nodo::subsystem::locales - include nodo::subsystem::profile - include nodo::utils - include tunnel::autossh - include domain_check - include users::admin - include concat::setup - include cron - - class { 'nodo::subsystem::hosts': } - - # Include if not defined by nodo::master - if !defined(Class['puppet::daemon']) { - class { 'puppet::daemon': } - } - - # - # Backup - # - class { 'backup': } - - $local_backup = hiera('nodo::backup::localhost', false) - - # Local encrypted backup - case $local_backup { - true,enabled,present: { - backup::duplicity { "localhost": - encryptkey => hiera('nodo::backup::encryptkey'), - password => hiera('nodo::backup::password'), - } - } - absent: { - backup::duplicity { "localhost": - encryptkey => hiera('nodo::backup::encryptkey'), - password => hiera('nodo::backup::password'), - ensure => absent, - } - } - default: { } - } - - # Does not work well inside vservers - class { 'runit': ensure => absent } - - # Email delivery configuration - $mail_delivery = hiera('nodo::mail_delivery', 'exim') - case $mail_delivery { - 'tunnel': { - $mail_hostname = hiera('nodo::mail_hostname') - tunnel::autossh::mail { "$mail_hostname": - sshport => hiera('nodo::mail_ssh_port'), - } - } - 'postfix': { } - '','exim',default: { include exim::tls } - } - - # - # Apt configuration - # - class { 'apt': - include_src => hiera('nodo::apt_include_src', false), - use_next_release => hiera('nodo::apt_use_next_release', false), - custom_key_dir => hiera('nodo::apt_custom_key_dir', 'puppet:///modules/site_apt/keys.d') - } - - include apt::unattended_upgrades - - $apt_domain_source = hiera('nodo::apt_domain_source', false) - - apt::sources_list { "${::domain}.list": - source => [ "puppet:///modules/site_apt/sources.list.d/${::operatingsystem}/${::lsbdistcodename}/${::domain}.list", - "puppet:///modules/site_apt/sources.list.d/${::operatingsystem}/${::domain}.list", ], - ensure => $apt_domain_source ? { - true => present, - default => absent, - } - } - - # Preferences file can't have dots in the filename - $apt_domain_preferences = regsubst($::domain, '\.', '-', 'G') - - file { "/etc/apt/preferences.d/${apt_domain_preferences}": - source => [ "puppet:///modules/site_apt/preferences.d/${::operatingsystem}/${::domain}", - "puppet:///modules/nodo/preferences.d/custom" ], - ensure => $apt_domain_source ? { - true => present, - default => absent, - } - } - - $apt_proxy = hiera('nodo::apt_proxy', false) - - if $apt_proxy != false { - class { 'apt::proxy_client': - proxy => $apt_proxy, - port => hiera('nodo::apt_proxy_port', ''), - } - } - - package { 'apt-transport-https': - ensure => present, - } - - # SSH Server - # - # We need to restrict listen address by default so multiple - # instances can live together in the same physical host. - # - class { 'sshd': - manage_nagios => hiera('nodo::sshd_manage_nagios', false), - listen_address => hiera('nodo::sshd_listen_address', [ "${::ipaddress}", '127.0.0.1' ]), - password_authentication => hiera('nodo::sshd_password_authentication', 'yes'), - shared_ip => hiera('nodo::sshd_shared_ip', 'yes'), - tcp_forwarding => hiera('nodo::sshd_tcp_forwarding', 'yes'), - hardened_ssl => hiera('nodo::sshd_hardened_ssl', 'yes'), - print_motd => hiera('nodo::sshd_print_motd', 'no'), - ports => hiera('nodo::sshd_ports', [ 22 ]), - use_pam => hiera('nodo::sshd_use_pam', 'no'), - } - - # Add the localhost ssh key, useful when one needs - # to ssh to localhost. - sshkey { [ 'localhost', '127.0.0.1' ]: - type => ssh-rsa, - key => $::sshrsakey, - ensure => $::sshrsakey ? { - '' => absent, - default => present, - }, - } - - file { "/etc/hostname": - owner => "root", - group => "root", - mode => 0644, - ensure => present, - content => "${::fqdn}\n", - } - - file { "/etc/rc.local": - source => "puppet:///modules/nodo/etc/rc.local", - owner => "root", - group => "root", - mode => 0755, - ensure => present, - } + # Include base class + include nodo::base # Include role class if defined("nodo::role::${::role}") { |