systemd
Overview
This module manages systemd configuration files.
Module Description
Manages systemd unit files in /etc/systemd/system. The base ::systemd class provides some pertinent system-wide variables. The following defined types manage systemd unit file instances.
systemd::unit
manages the content of systemd unit configuration files. Used by
type specific manifests in the systemd::unit:: namespace.
systemd::unitfrag
manages the content auxiliary systemd unit configuration files that
supplements a unit's main configuration. This is useful to manage selected
unit settings if the main configuration file is maintained by other means,
e.g. in an application package.
Example:
systemd::unitfrag { 'apache:;service::umask':
ensure => 'present',
unit_name => $::apache::service_name,
unit_type => 'service',
frag_name => 'umask',
type_options => { 'UMask' => $service_umask },
notify => Service[$::apache::service_name],
}
This manages an auxiliary systemd configuration file in '/etc/systemd/system/apache.service.d/'
that causes the UMask options to merged into the apache service systemd settings.
systemd::service::simple
manages a simple service unit. Parameters correspond to a subset of
unit file directives
Example:
systemd::service::simple { $service_name:
description => 'Tomcat App',
cond_path_is_directory => $catalina_home,
service_user => $user,
service_group => $group,
service_type => 'forking',
exec_start => "${catalina_home}/bin/startup.sh",
exec_stop => "${catalina_home}/bin/shutdown.sh",
}
Defines a systemd unit that runs a tomcat-based application as a service.
systemd::service::custom
manages an arbitrary systemd unit file based on a custom configuration
file source.
The following resources in the systemd::unit namespace have parameters that represent typical unit-specific configuration options. All of them accept parameters ('*_options') that allow any systemd options to be configured. Note that in all system::unit resources, the 'description' parameter is mandatory.
systemd::unit::mount
manages a systemd mount unit.
systemd::unit::automount
manages a systemd automount unit and also the accompanying mandatory
mount unit.
Example:
systemd::unit::automount { 'rhome':
ensure => present,
description => 'Remote home directories volumes',
where => '/home',
what => 'stores.example.org:/home',
type => 'nfs',
options => 'nolock,noatime,bg',
idle_timeout => 900
}
Defines both a systemd automount and its associated mount unit to manage a
NFS-based remote volume with automatic unmount after 15 minutes of inactivity.
systemd::unit::service
manages a systemd service unit.
systemd::unit::socket
manages a systemd socket unit.
systemd::unit::timer
manages a systemd timer unit.
systemd::unit::path
manages a systemd path unit.