#
# Cookbook Name:: irrigate-backup
# Recipe:: veeam
#

include_recipe 'firewall'

case node['os']
when 'linux'

  ssh_authorize_key 't0_veeam_backup' do
    key 'AAAAB3NzaC1yc2EAAAADAQABAAACAQCqRXdttTDWaYRFJEyWNcUJUxGsmnIngXnvVAp9eK7IUBG04bTc7OwszEqYeFXvUC18ptG4AlJIdC+pkdV4hROXFF9dUM92Gnay3csCIfcrZuFG3ELMAD/WikWUy4mC15qCD65GjXzKflhG27s6HucvGv+Xy2syfB7cFlRdTxyl/jav7VOlO7tG9UH8ziJKZv7hwQcDgBS6N2BsqEcDNFw4F+b5G9QLSPQ55NrhkGK8BIPZ/+k2onpV+kuYIkc32kPThfL5x9qKSfcxBB3eOboafhpFiwuF2lZDXqk2kwXKVkpI2dujGW6dHidAvw9Wqix7Xp2X2aRxsRgbZBcfpkt9XZSr+r3Fh/JyhwdoShotGseSuQ7NKKr/cLGsYky/EtmSx7GlHAS7JI/0l/uxK54fjGpWRvHXc8EH5tTqLqvgcBraJFTvoqNgiwtNIjLtmrYoLPYeEQ9RbSZjCagIMWS9XA4HInMQ3c6DTjtwREcTSVyg919M2hB7/ftVgLhGYu2ClWovh8SKY3vCWE+A3gn56sWtyohwf2WVhS07GNu6TJOvAwY2Iwj+hwHPSA6c7SGoS0ESsfCi3Q8/hpyXVPUEvEsqjBfbrFL3HBWyE7VJP7kr1h1c2ks3qJciKQo/l+XHgzKuZha/08oUhnXjfsR21t9N7gIliG7AXtXzgaPNNw=='
    user node['backup']['backup_user']
  end

  directory '/mnt/backup' do
    owner node['backup']['backup_user']
    group node['backup']['backup_user']
    mode '0750'
  end

  packages = %w(
    epel-release
    gzip
    mlocate
    perl-CPAN
    perl-constant
    perl-Carp
    perl-Data-Dumper
    perl-Encode
    perl-Exporter
    perl-SOAP-Lite
    perl-Socket
    perl-Storable
    perl-threads
    tar
  )

  packages.each do |veeam_package|
    package veeam_package
  end

  execute 'configure_cpan' do
    command 'PERL_MM_USE_DEFAULT=1 cpan -l && touch /var/cache/.cpan_configured'
    creates '/var/cache/.cpan_configured'
  end

  # Firewall rules for Veeam
  firewall_rule 'veeam' do
    port 2500..5000
    protocol :tcp
    command :allow
  end

end
