define backupninja::generate_sshkey(
  $ssh_key_basepath = '/etc/puppet/modules/keys/files/backupkeys',
){

  # generate backupninja ssh keypair
  $ssh_key_name = "backup_${::hostname}_id_rsa"
  $ssh_keys = ssh_keygen("${ssh_key_basepath}/${ssh_key_name}")
  $public = split($ssh_keys[1],' ')
  $public_type = $public[0]
  $public_key = $public[1]

  file { '/root/.ssh':
    ensure => directory,
    owner  => 'root',
    group  => 'root',
    mode   => '0600';
  }

  # install ssh keypair on client
  file { "/root/.ssh/$ssh_key_name":
    content => $ssh_keys[0],
    owner   => root,
    group   => 0,
    mode    => '0600';
  }

  file { "/root/.ssh/$ssh_key_name.pub":
    content => $public_key,
    owner   => root,
    group   => 0,
    mode    => '0666';
  }
}