49 lines
1 KiB
ObjectPascal
49 lines
1 KiB
ObjectPascal
|
class garage {
|
||
|
contain garage::install
|
||
|
contain garage::config
|
||
|
contain garage::service
|
||
|
|
||
|
contain garage::webui
|
||
|
}
|
||
|
|
||
|
class garage::install {
|
||
|
file { '/opt/garage':
|
||
|
ensure => directory,
|
||
|
mode => '0640'
|
||
|
}
|
||
|
|
||
|
file { '/opt/garage/garage':
|
||
|
ensure => file,
|
||
|
source => 'https://garagehq.deuxfleurs.fr/_releases/v1.1.0/x86_64-unknown-linux-musl/garage',
|
||
|
mode => '0740'
|
||
|
}
|
||
|
}
|
||
|
|
||
|
class garage::config {
|
||
|
file { '/opt/garage/garage.toml':
|
||
|
content => template('garage/conf.toml.erb'),
|
||
|
ensure => file,
|
||
|
mode => '0644',
|
||
|
notify => [Service['garage'], Service['garage-webui']]
|
||
|
}
|
||
|
}
|
||
|
|
||
|
class garage::service {
|
||
|
file { '/lib/systemd/system/garage.service':
|
||
|
mode => '0644',
|
||
|
owner => 'root',
|
||
|
group => 'root',
|
||
|
content => template('garage/garage.service.erb'),
|
||
|
}~>
|
||
|
exec { 'garage-systemd-reload':
|
||
|
command => 'systemctl daemon-reload',
|
||
|
path => [ '/usr/bin', '/bin', '/usr/sbin' ],
|
||
|
refreshonly => true,
|
||
|
}
|
||
|
|
||
|
service { 'garage':
|
||
|
ensure => running,
|
||
|
enable => true,
|
||
|
}
|
||
|
}
|