Puppet Class: dockerinstall::config
- Defined in:
- manifests/config.pp
Summary
Docker config setup (daemon.json)Overview
Docker config setup (daemon.json)
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 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 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
# File 'manifests/config.pp', line 10
class dockerinstall::config (
Boolean $manage_users = $dockerinstall::manage_os_users,
Dockerinstall::UserList
$docker_users = $dockerinstall::docker_users,
String $group = $dockerinstall::docker_group,
Boolean $manage_package = $dockerinstall::manage_package,
# https://github.com/puppetlabs/puppetlabs-stdlib#stdlibipaddressv4cidr
Optional[Stdlib::IP::Address::V4::CIDR]
$bip = undef,
Optional[Integer]
$mtu = undef,
Optional[Boolean]
$selinux = undef,
Optional[Dockerinstall::StorageDriver]
$storage_driver = undef,
Optional[
Array[Dockerinstall::StorageOptions]
] $storage_opts = undef,
Optional[Dockerinstall::CgroupDriver]
$cgroup_driver = undef,
Optional[Dockerinstall::LogDriver]
$log_driver = undef,
Optional[Dockerinstall::Log::JSONFile]
$log_opts = undef,
String $user_ensure = 'present',
String $group_ensure = 'present',
String $config_ensure = 'file',
Boolean $system_user = true,
Boolean $system_group = true,
)
{
include dockerinstall::install
if $manage_users {
group { 'docker':
ensure => $group_ensure,
name => $group,
system => $system_group,
}
$docker_users_list = $docker_users ? {
Array => $docker_users,
default => [$docker_users]
}
$users = $docker_users_list - ['docker']
user {
default:
ensure => $user_ensure,
groups => [ $group ],
membership => 'minimum',
;
$users:
tag => 'docker',
;
'docker':
system => $system_user,
;
}
if $user_ensure == 'present' {
Class['dockerinstall::install']
-> Group['docker']
-> User['docker']
}
else {
User['docker'] -> Group['docker']
}
}
# TLS
# https://docs.docker.com/engine/security/https/
if $cgroup_driver {
$exec_opts = ["native.cgroupdriver=${cgroup_driver}"]
}
else {
$exec_opts = undef
}
$daemon_config = {} +
dockerinstall::option('bip', $bip) +
dockerinstall::option('mtu', $mtu) +
dockerinstall::option('storage-driver', $storage_driver) +
dockerinstall::option('exec-opts', $exec_opts) +
dockerinstall::option('log-driver', $log_driver) +
dockerinstall::option('log-opts', $log_opts) +
dockerinstall::option('storage-opts', $storage_opts) +
dockerinstall::option('selinux-enabled', $selinux)
file { '/etc/docker/daemon.json':
ensure => $config_ensure,
content => template('dockerinstall/daemon.json.erb'),
}
}
|