From 6c81e1b01e0850be93419b68d4c61529de519d2a Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Thu, 25 Mar 2021 21:01:23 -0400 Subject: refactor --- modules/borgmatic/manifests/init.pp | 41 +++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 modules/borgmatic/manifests/init.pp (limited to 'modules/borgmatic/manifests') diff --git a/modules/borgmatic/manifests/init.pp b/modules/borgmatic/manifests/init.pp new file mode 100644 index 0000000..9ea1181 --- /dev/null +++ b/modules/borgmatic/manifests/init.pp @@ -0,0 +1,41 @@ +class borgmatic($host = 'partofme.algo') { + package { 'borgmatic': + ensure => installed; + } + + $current_hostname = "${facts['networking']['hostname']}" + $borgmatic_passphrase = secret::value('borgmatic_passphrase') + file { + "/etc/borgmatic": + ensure => directory; + "/etc/borgmatic/config.yaml": + content => template('borgmatic/config.yaml'), + require => File["/etc/borgmatic"]; + } + + secret { "/etc/borgmatic/borg_ssh_key": + source => 'borg_ssh_key', + require => File["/etc/borgmatic"]; + } + + exec { '/usr/bin/borgmatic init --encryption repokey': + environment => [ + "BORG_PASSPHRASE=${borgmatic_passphrase}", + ], + unless => '/usr/bin/borgmatic info > /dev/null', + require => [ + Package['borgmatic'], + File['/etc/borgmatic/config.yaml'], + ] + } + + service { 'borgmatic.timer': + ensure => running, + enable => true, + require => [ + Package['borgmatic'], + File['/etc/borgmatic/config.yaml'], + Exec['/usr/bin/borgmatic init --encryption repokey'], + ]; + } +} -- cgit v1.2.3-54-g00ecf