Page MenuHomeSoftware Heritage

service.pp
No OneTemporary

service.pp

# == Class: docker::service
#
# Class to manage the docker service daemon
#
# === Parameters
# [*tcp_bind*]
# Which tcp port, if any, to bind the docker service to.
#
# [*ip_forward*]
# This flag interacts with the IP forwarding setting on
# your host system's kernel
#
# [*iptables*]
# Enable Docker's addition of iptables rules
#
# [*ip_masq*]
# Enable IP masquerading for bridge's IP range.
#
# [*socket_bind*]
# Which local unix socket to bind the docker service to.
#
# [*socket_group*]
# Which local unix socket to bind the docker service to.
#
# [*root_dir*]
# Specify a non-standard root directory for docker.
#
# [*extra_parameters*]
# Plain additional parameters to pass to the docker daemon
#
# [*shell_values*]
# Array of shell values to pass into init script config files
#
# [*manage_service*]
# Specify whether the service should be managed.
# Valid values are 'true', 'false'.
# Defaults to 'true'.
#
class docker::service (
$docker_command = $docker::docker_command,
$service_name = $docker::service_name,
$daemon_subcommand = $docker::daemon_subcommand,
$tcp_bind = $docker::tcp_bind,
$ip_forward = $docker::ip_forward,
$iptables = $docker::iptables,
$ip_masq = $docker::ip_masq,
$icc = $docker::icc,
$bridge = $docker::bridge,
$fixed_cidr = $docker::fixed_cidr,
$default_gateway = $docker::default_gateway,
$socket_bind = $docker::socket_bind,
$log_level = $docker::log_level,
$log_driver = $docker::log_driver,
$log_opt = $docker::log_opt,
$selinux_enabled = $docker::selinux_enabled,
$socket_group = $docker::socket_group,
$labels = $docker::labels,
$dns = $docker::dns,
$dns_search = $docker::dns_search,
$service_state = $docker::service_state,
$service_enable = $docker::service_enable,
$manage_service = $docker::manage_service,
$root_dir = $docker::root_dir,
$extra_parameters = $docker::extra_parameters,
$shell_values = $docker::shell_values,
$proxy = $docker::proxy,
$no_proxy = $docker::no_proxy,
$execdriver = $docker::execdriver,
$bip = $docker::bip,
$mtu = $docker::mtu,
$storage_driver = $docker::storage_driver,
$dm_basesize = $docker::dm_basesize,
$dm_fs = $docker::dm_fs,
$dm_mkfsarg = $docker::dm_mkfsarg,
$dm_mountopt = $docker::dm_mountopt,
$dm_blocksize = $docker::dm_blocksize,
$dm_loopdatasize = $docker::dm_loopdatasize,
$dm_loopmetadatasize = $docker::dm_loopmetadatasize,
$dm_datadev = $docker::dm_datadev,
$dm_metadatadev = $docker::dm_metadatadev,
$tmp_dir = $docker::tmp_dir,
$nowarn_kernel = $docker::nowarn_kernel,
$dm_thinpooldev = $docker::dm_thinpooldev,
$dm_use_deferred_removal = $docker::dm_use_deferred_removal,
$dm_use_deferred_deletion = $docker::dm_use_deferred_deletion,
$dm_blkdiscard = $docker::dm_blkdiscard,
$dm_override_udev_sync_check = $docker::dm_override_udev_sync_check,
$storage_devs = $docker::storage_devs,
$storage_vg = $docker::storage_vg,
$storage_root_size = $docker::storage_root_size,
$storage_data_size = $docker::storage_data_size,
$storage_min_data_size = $docker::storage_min_data_size,
$storage_chunk_size = $docker::storage_chunk_size,
$storage_growpart = $docker::storage_growpart,
$storage_auto_extend_pool = $docker::storage_auto_extend_pool,
$storage_pool_autoextend_threshold = $docker::storage_pool_autoextend_threshold,
$storage_pool_autoextend_percent = $docker::storage_pool_autoextend_percent,
$storage_config = $docker::storage_config,
$storage_config_template = $docker::storage_config_template,
$storage_setup_file = $docker::storage_setup_file,
$service_provider = $docker::service_provider,
$service_config = $docker::service_config,
$service_config_template = $docker::service_config_template,
$service_overrides_template = $docker::service_overrides_template,
$service_hasstatus = $docker::service_hasstatus,
$service_hasrestart = $docker::service_hasrestart,
$daemon_environment_files = $docker::daemon_environment_files,
$tls_enable = $docker::tls_enable,
$tls_verify = $docker::tls_verify,
$tls_cacert = $docker::tls_cacert,
$tls_cert = $docker::tls_cert,
$tls_key = $docker::tls_key,
) {
unless $::osfamily =~ /(Debian|RedHat|Archlinux|Gentoo)/ {
fail('The docker::service class needs a Debian, RedHat, Archlinux or Gentoo based system.')
}
$dns_array = any2array($dns)
$dns_search_array = any2array($dns_search)
$extra_parameters_array = any2array($extra_parameters)
$shell_values_array = any2array($shell_values)
$tcp_bind_array = any2array($tcp_bind)
if $service_config {
$_service_config = $service_config
} else {
if $::osfamily == 'Debian' {
$_service_config = "/etc/default/${service_name}"
}
}
$_manage_service = $manage_service ? {
true => Service['docker'],
default => [],
}
if $::osfamily == 'RedHat' {
file { $storage_setup_file:
ensure => present,
force => true,
content => template('docker/etc/sysconfig/docker-storage-setup.erb'),
before => $_manage_service,
notify => $_manage_service,
}
}
case $service_provider {
'systemd': {
file { '/etc/systemd/system/docker.service.d':
ensure => directory,
}
if $service_overrides_template {
file { '/etc/systemd/system/docker.service.d/service-overrides.conf':
ensure => present,
content => template($service_overrides_template),
notify => Exec['docker-systemd-reload-before-service'],
before => $_manage_service,
}
exec { 'docker-systemd-reload-before-service':
path => ['/bin/', '/sbin/', '/usr/bin/', '/usr/sbin/'],
command => 'systemctl daemon-reload > /dev/null',
before => $_manage_service,
refreshonly => true,
}
}
}
'upstart': {
file { '/etc/init.d/docker':
ensure => 'link',
target => '/lib/init/upstart-job',
force => true,
notify => $_manage_service,
}
}
default: {}
}
if $storage_config {
file { $storage_config:
ensure => present,
force => true,
content => template($storage_config_template),
notify => $_manage_service,
}
}
if $_service_config {
file { $_service_config:
ensure => present,
force => true,
content => template($service_config_template),
notify => $_manage_service,
}
}
if $manage_service {
if ! defined(Service['docker']) {
service { 'docker':
ensure => $service_state,
name => $service_name,
enable => $service_enable,
hasstatus => $service_hasstatus,
hasrestart => $service_hasrestart,
provider => $service_provider,
}
}
}
}

File Metadata

Mime Type
text/plain
Expires
Sat, Jun 21, 8:22 PM (3 w, 4 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3426793

Event Timeline