#Class for SUNET-Drive-Script class sunetdrive::infra_script ( $bootstrap = undef, $location = undef ) { $environment = sunetdrive::get_environment() $customer = 'common' $config = hiera_hash($environment) $gss_backup_server = $config['gss_backup_server'] $lookup_backup_server = $config['lookup_backup_server'] $ssh_config = "Host *.sunet.se User script IdentityFile /root/.ssh/id_script" $site_name = $config['site_name'] package { 'python3-pip': ensure => installed, provider => apt, } package { 'drive-utils': ensure => installed, provider => pip3, source => 'https://pypi.sunet.se/packages/drive-utils-0.1.3.tar.gz', require => Package['python3-pip'], } file { '/root/.ssh/': ensure => directory, mode => '0700', } file { '/root/tasks/': ensure => directory, mode => '0700', } file { '/root/.ssh/id_script': ensure => file, content => safe_hiera('ssh_priv_key'), owner => 'root', group => 'root', mode => '0600', } file { '/root/.ssh/config': ensure => file, content => $ssh_config, owner => 'root', group => 'root', mode => '0600', } file { '/root/tasks/backupdb.sh': ensure => file, content => template('sunetdrive/script/backupdb.erb.sh'), owner => 'root', group => 'root', mode => '0700', } file { '/root/tasks/maintenance.sh': ensure => file, content => template('sunetdrive/script/maintenance.erb.sh'), owner => 'root', group => 'root', mode => '0700', } sunet::scriptherder::cronjob { 'backupgssdb': cmd => "/root/tasks/backupdb.sh ${gss_backup_server}", hour => '2', minute => '0', ok_criteria => ['exit_status=0','max_age=2d'], warn_criteria => ['exit_status=1','max_age=3d'], } sunet::scriptherder::cronjob { 'backuplookupdb': cmd => "/root/tasks/backupdb.sh ${lookup_backup_server}", hour => '2', minute => '0', ok_criteria => ['exit_status=0','max_age=2d'], warn_criteria => ['exit_status=1','max_age=3d'], } # sunet::scriptherder::cronjob { 'scriptherder_daily': # cmd => '/bin/true', # special => 'daily', # ok_criteria => ['exit_status=0','max_age=4d'], # warn_criteria => ['exit_status=1','max_age=8d'], # } # cron { 'example_job': # ensure => 'present', # command => '/bin/true', # hour => ['0'], # target => 'root', # user => 'root', # } }