Puppet Class: quadlets

Inherited by:
quadlets::config
Defined in:
manifests/init.pp

Summary

Main class for setting quadlet support

Overview

Examples:

Set up Podman for quadlets

include quadlets

Parameters:

  • manage_package (Boolean) (defaults to: true)

    Should podman package be installed by this module?

  • package_names (Array[String[1,]]) (defaults to: ['podman'])

    What packages are tracked by this module?

  • package_ensure (Stdlib::Ensure::Package) (defaults to: 'installed')

    What state should the packages be in (installed/latests/other?)?

  • manage_service (Boolean) (defaults to: true)

    Should podman.socket service be managed by this module?

  • socket_enable (Boolean) (defaults to: true)

    Should podman.socket be started and enabled?

  • manage_autoupdate_timer (Boolean) (defaults to: false)

    Should podman-auto-update.timer be managed by this module?

  • autoupdate_timer_ensure (String) (defaults to: 'running')

    Should podman-auto-update.timer be active?

  • autoupdate_timer_enable (Boolean) (defaults to: true)

    Should podman-auto-update.timer be enabled?

  • autoupdate_timer_name (String) (defaults to: 'podman-auto-update.timer')

    Name of the auto update timer. This is usually podman-auto-update.timer.

  • create_quadlet_dir (Boolean) (defaults to: false)

    Should the directory for storing quadlet files be created.

  • selinux_container_manage_cgroup (Boolean) (defaults to: false)

    If SELinux is enabled and this is true, set SELinux boolean ‘container_manage_cgroup’ to true. Required if you want to run containers in systemd mode If SELinux is not enabled on system this does nothing.

  • purge_quadlet_dir (Boolean) (defaults to: false)

    Should the directory for storing quadlet files be purged. This has no effect unless create_quadlet_dir is set to true.

  • quadlets_hash (Stdlib::CreateResources) (defaults to: {})

    a ‘Hash` of quadlets to deploy

See Also:



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'manifests/init.pp', line 31

class quadlets (
  Boolean $selinux_container_manage_cgroup = false,
  Boolean $manage_package = true,
  Array[String[1,]] $package_names = ['podman'],
  Stdlib::Ensure::Package $package_ensure = 'installed',
  Boolean $manage_service = true,
  Boolean $socket_enable = true,
  Boolean $manage_autoupdate_timer = false,
  String $autoupdate_timer_ensure = 'running',
  Boolean $autoupdate_timer_enable = true,
  String  $autoupdate_timer_name = 'podman-auto-update.timer',
  Boolean $create_quadlet_dir = false,
  Boolean $purge_quadlet_dir = false,
  Stdlib::CreateResources $quadlets_hash = {},
) {
  $quadlet_dir = '/etc/containers/systemd'
  $quadlet_user_dir = '.config/containers/systemd'

  contain quadlets::install
  contain quadlets::config
  contain quadlets::service

  Class['quadlets::install'] -> Class['quadlets::config'] -> Class['quadlets::service']

  $quadlets_hash.each |$_n, $_v| {
    quadlets::quadlet { $_n:
      * => $_v,
    }
  }
}