107 KiB
Reference
Table of Contents
Classes
Public Classes
docker
: Module to install an up-to-date version of Docker from package.docker::compose
: install Docker Compose using the recommended curl command.docker::images
docker::install
: Module to install an up-to-date version of Docker from a package repository. Only for Debian, Red Hat and Windowsdocker::machine
: install Docker Machine using the recommended curl command.docker::networks
docker::params
: Default parameter values for the docker moduledocker::plugins
docker::registry_auth
docker::repos
docker::run_instance
docker::service
: manage the docker service daemondocker::swarms
docker::systemd_reload
: For systems that have systemddocker::volumes
Private Classes
docker::config
: Configuration for docker
Defined types
docker::exec
: A define which executes a command inside a container.docker::image
: Module to install an up-to-date version of a Docker image from the registrydocker::plugin
: A define that manages a docker plugindocker::registry
: Module to configure private docker registries from which to pull Docker imagesdocker::run
: A define which manages a running docker container.docker::secrets
docker::services
: define that managers a Docker servicesdocker::stack
: deploys Docker stacks or compose v3docker::swarm
: managers a Docker Swarm Mode clusterdocker::system_user
: manage docker group usersdocker::windows_account
: Windows account that owns the docker services
Resource types
docker_compose
: A type representing a Docker Compose filedocker_network
: Type representing a Docker networkdocker_stack
: A type representing a Docker Stackdocker_volume
: A type representing a Docker volume
Functions
docker::env
docker::escape
docker::sanitised_name
: == Function: docker::sanitised_name Function to sanitise container name. === Parameters [name] Name to sanitisedocker_exec_flags
: Transforms a hash into a string of docker exec flagsdocker_params_changed
docker_plugin_enable_flags
: Transforms a hash into a string of docker plugin remove flagsdocker_plugin_install_flags
: Transforms a hash into a string of docker plugin install flagsdocker_plugin_remove_flags
: Transforms a hash into a string of docker plugin remove flagsdocker_run_flags
: Transforms a hash into a string of docker flagsdocker_secrets_flags
: Transforms a hash into a string of docker swarm init flagsdocker_service_flags
: Transforms a hash into a string of docker swarm init flagsdocker_stack_flags
: Transforms a hash into a string of docker stack flagsdocker_swarm_init_flags
: Transforms a hash into a string of docker swarm init flagsdocker_swarm_join_flags
: Transforms a hash into a string of docker swarm init flags
Tasks
node_ls
: List nodes in the swarmnode_rm
: Update a nodenode_update
: Update a nodeservice_create
: Create a new Docker serviceservice_rm
: Remove one replicated serviceservice_scale
: Scale one replicated serviceservice_update
: Updates an existing service.swarm_init
: Initializes a swarmswarm_join
: Join a swarmswarm_leave
: Leave a swarmswarm_token
: Gets the swarm token from the serverswarm_update
: Updates an existing service.
Classes
docker
Module to install an up-to-date version of Docker from package.
Parameters
The following parameters are available in the docker
class:
version
ensure
prerequired_packages
dependent_packages
tcp_bind
tls_enable
tls_verify
tls_cacert
tls_cert
tls_key
ip_forward
iptables
ip_masq
icc
bip
mtu
bridge
fixed_cidr
default_gateway
ipv6
ipv6_cidr
default_gateway_ipv6
socket_bind
log_level
log_driver
log_opt
selinux_enabled
use_upstream_package_source
pin_upstream_package_source
apt_source_pin_level
service_state
service_enable
manage_service
root_dir
dns
dns_search
socket_group
extra_parameters
shell_values
proxy
no_proxy
storage_driver
dm_basesize
dm_fs
dm_mkfsarg
dm_mountopt
dm_blocksize
dm_loopdatasize
dm_loopmetadatasize
dm_datadev
dm_metadatadev
dm_thinpooldev
dm_use_deferred_removal
dm_use_deferred_deletion
dm_blkdiscard
dm_override_udev_sync_check
overlay2_override_kernel_check
manage_package
service_name
docker_users
create_user
docker_group
daemon_environment_files
repo_opt
storage_devs
storage_vg
storage_root_size
storage_data_size
storage_min_data_size
storage_chunk_size
storage_growpart
storage_auto_extend_pool
storage_pool_autoextend_threshold
storage_pool_autoextend_percent
tmp_dir_config
tmp_dir
registry_mirror
nuget_package_provider_version
docker_msft_provider_version
docker_ce_start_command
docker_ce_package_name
docker_ce_cli_package_name
docker_ce_source_location
docker_ce_key_source
docker_ce_key_id
docker_ce_release
docker_package_location
docker_package_key_source
docker_package_key_check_source
docker_package_key_id
docker_package_release
docker_engine_start_command
docker_engine_package_name
docker_ce_channel
docker_ee
docker_ee_package_name
docker_ee_source_location
docker_ee_key_source
docker_ee_key_id
docker_ee_repos
docker_ee_release
package_release
labels
execdriver
package_source
os_lc
storage_config
storage_config_template
storage_setup_file
service_provider
service_config
service_config_template
service_overrides_template
socket_overrides_template
socket_override
service_after_override
service_hasstatus
service_hasrestart
acknowledge_unsupported_os
have_systemd_v230
version
Data type: Optional[String]
The package version to install, used to set the package name.
Default value: $docker::params::version
ensure
Data type: String
Passed to the docker package.
Default value: $docker::params::ensure
prerequired_packages
Data type: Variant[Array[String], Hash]
An array of additional packages that need to be installed to support docker.
Default value: $docker::params::prerequired_packages
dependent_packages
Data type: Array
An array of packages installed by the docker-ce package v 18.09 and later. Used when uninstalling to ensure containers cannot be run on the system.
Default value: $docker::params::dependent_packages
tcp_bind
Data type: Optional[Variant[String,Array[String]]]
The tcp socket to bind to in the format tcp://127.0.0.1:4243
Default value: $docker::params::tcp_bind
tls_enable
Data type: Boolean
Enable TLS.
Default value: $docker::params::tls_enable
tls_verify
Data type: Boolean
Use TLS and verify the remote
Default value: $docker::params::tls_verify
tls_cacert
Data type: Optional[String]
Path to TLS CA certificate
Default value: $docker::params::tls_cacert
tls_cert
Data type: Optional[String]
Path to TLS certificate file
Default value: $docker::params::tls_cert
tls_key
Data type: Optional[String]
Path to TLS key file
Default value: $docker::params::tls_key
ip_forward
Data type: Boolean
Enables IP forwarding on the Docker host.
Default value: $docker::params::ip_forward
iptables
Data type: Boolean
Enable Docker's addition of iptables rules.
Default value: $docker::params::iptables
ip_masq
Data type: Boolean
Enable IP masquerading for bridge's IP range.
Default value: $docker::params::ip_masq
icc
Data type: Optional[Boolean]
Enable or disable Docker's unrestricted inter-container and Docker daemon host communication. (Requires iptables=true to disable)
Default value: $docker::params::icc
bip
Data type: Optional[String]
Specify docker's network bridge IP, in CIDR notation.
Default value: $docker::params::bip
mtu
Data type: Optional[String]
Docker network MTU.
Default value: $docker::params::mtu
bridge
Data type: Optional[String]
Attach containers to a pre-existing network bridge use 'none' to disable container networking
Default value: $docker::params::bridge
fixed_cidr
Data type: Optional[String]
IPv4 subnet for fixed IPs 10.20.0.0/16
Default value: $docker::params::fixed_cidr
default_gateway
Data type: Optional[String]
IPv4 address of the container default gateway; this address must be part of the bridge subnet (which is defined by bridge)
Default value: $docker::params::default_gateway
ipv6
Data type: Optional[Boolean]
Enables ipv6 support for the docker daemon
Default value: $docker::params::ipv6
ipv6_cidr
Data type: Optional[String]
IPv6 subnet for fixed IPs
Default value: $docker::params::ipv6_cidr
default_gateway_ipv6
Data type: Optional[String]
IPv6 address of the container default gateway:
Default value: $docker::params::default_gateway_ipv6
socket_bind
Data type: String
The unix socket to bind to.
Default value: $docker::params::socket_bind
log_level
Data type: Optional[String]
Set the logging level Valid values: debug, info, warn, error, fatal
Default value: $docker::params::log_level
log_driver
Data type: Optional[String]
Set the log driver. Docker default is json-file. Please verify the value by yourself, before setting it. Valid shipped log drivers can be found here: https://docs.docker.com/config/containers/logging/configure/#supported-logging-drivers Since custom log driver plugins are and must be possible, the value can not be verified through code here.
Default value: $docker::params::log_driver
log_opt
Data type: Array
Set the log driver specific options Valid values per log driver: none : undef local : max-size=[0-9+][k|m|g] max-file=[0-9+] json-file: max-size=[0-9+][k|m|g] max-file=[0-9+] syslog : syslog-address=[tcp|udp]://host:port syslog-address=unix://path syslog-facility=daemon|kern|user|mail|auth| syslog|lpr|news|uucp|cron| authpriv|ftp| local0|local1|local2|local3| local4|local5|local6|local7 syslog-tag="some_tag" journald : undef gelf : gelf-address=udp://host:port gelf-tag="some_tag" fluentd : fluentd-address=host:port fluentd-tag={{.ID}} - short container id (12 characters)| {{.FullID}} - full container id {{.Name}} - container name splunk : splunk-token=<splunk_http_event_collector_token> splunk-url=https://your_splunk_instance:8088 awslogs : awslogs-group= awslogs-stream= awslogs-create-group=true|false awslogs-datetime-format= - strftime expression awslogs-multiline-pattern=multiline start pattern using a regular expression tag={{.ID}} - short container id (12 characters)| {{.FullID}} - full container id {{.Name}} - container name
Default value: $docker::params::log_opt
selinux_enabled
Data type: Optional[Boolean]
Enable selinux support. Default is false. SELinux does not presently support the BTRFS storage driver.
Default value: $docker::params::selinux_enabled
use_upstream_package_source
Data type: Optional[Boolean]
Whether or not to use the upstream package source. If you run your own package mirror, you may set this to false.
Default value: $docker::params::use_upstream_package_source
pin_upstream_package_source
Data type: Optional[Boolean]
Pin upstream package source; this option currently only has any effect on apt-based distributions. Set to false to remove pinning on the upstream package repository. See also "apt_source_pin_level".
Default value: $docker::params::pin_upstream_package_source
apt_source_pin_level
Data type: Optional[Integer]
What level to pin our source package repository to; this only is relevent if you're on an apt-based system (Debian, Ubuntu, etc) and $use_upstream_package_source is set to true. Set this to false to disable pinning, and undef to ensure the apt preferences file apt::source uses to define pins is removed.
Default value: $docker::params::apt_source_pin_level
service_state
Data type: String
Whether you want to docker daemon to start up
Default value: $docker::params::service_state
service_enable
Data type: Boolean
Whether you want to docker daemon to start up at boot
Default value: $docker::params::service_enable
manage_service
Data type: Boolean
Specify whether the service should be managed.
Default value: $docker::params::manage_service
root_dir
Data type: Optional[String]
Custom root directory for containers
Default value: $docker::params::root_dir
dns
Data type: Optional[Variant[String,Array]]
Custom dns server address
Default value: $docker::params::dns
dns_search
Data type: Optional[Variant[String,Array]]
Custom dns search domains
Default value: $docker::params::dns_search
socket_group
Data type: Optional[Variant[String,Boolean]]
Group ownership of the unix control socket.
Default value: $docker::params::socket_group
extra_parameters
Data type: Optional[Variant[String,Array]]
Any extra parameters that should be passed to the docker daemon.
Default value: undef
shell_values
Data type: Optional[Variant[String,Array]]
Array of shell values to pass into init script config files
Default value: undef
proxy
Data type: Optional[String]
Will set the http_proxy and https_proxy env variables in /etc/sysconfig/docker (redhat/centos) or /etc/default/docker (debian)
Default value: $docker::params::proxy
no_proxy
Data type: Optional[String]
Will set the no_proxy variable in /etc/sysconfig/docker (redhat/centos) or /etc/default/docker (debian)
Default value: $docker::params::no_proxy
storage_driver
Data type: Optional[String]
Specify a storage driver to use Valid values: aufs, devicemapper, btrfs, overlay, overlay2, vfs, zfs
Default value: $docker::params::storage_driver
dm_basesize
Data type: Optional[String]
The size to use when creating the base device, which limits the size of images and containers.
Default value: $docker::params::dm_basesize
dm_fs
Data type: Optional[String]
The filesystem to use for the base image (xfs or ext4)
Default value: $docker::params::dm_fs
dm_mkfsarg
Data type: Optional[String]
Specifies extra mkfs arguments to be used when creating the base device.
Default value: $docker::params::dm_mkfsarg
dm_mountopt
Data type: Optional[String]
Specifies extra mount options used when mounting the thin devices.
Default value: $docker::params::dm_mountopt
dm_blocksize
Data type: Optional[String]
A custom blocksize to use for the thin pool. Default blocksize is 64K. Warning: DO NOT change this parameter after the lvm devices have been initialized.
Default value: $docker::params::dm_blocksize
dm_loopdatasize
Data type: Optional[String]
Specifies the size to use when creating the loopback file for the "data" device which is used for the thin pool
Default value: $docker::params::dm_loopdatasize
dm_loopmetadatasize
Data type: Optional[String]
Specifies the size to use when creating the loopback file for the "metadata" device which is used for the thin pool
Default value: $docker::params::dm_loopmetadatasize
dm_datadev
Data type: Optional[String]
(deprecated - dm_thinpooldev should be used going forward) A custom blockdevice to use for data for the thin pool.
Default value: $docker::params::dm_datadev
dm_metadatadev
Data type: Optional[String]
(deprecated - dm_thinpooldev should be used going forward) A custom blockdevice to use for metadata for the thin pool.
Default value: $docker::params::dm_metadatadev
dm_thinpooldev
Data type: Optional[String]
Specifies a custom block storage device to use for the thin pool.
Default value: $docker::params::dm_thinpooldev
dm_use_deferred_removal
Data type: Optional[Boolean]
Enables use of deferred device removal if libdm and the kernel driver support the mechanism.
Default value: $docker::params::dm_use_deferred_removal
dm_use_deferred_deletion
Data type: Optional[Boolean]
Enables use of deferred device deletion if libdm and the kernel driver support the mechanism.
Default value: $docker::params::dm_use_deferred_deletion
dm_blkdiscard
Data type: Optional[Boolean]
Enables or disables the use of blkdiscard when removing devicemapper devices.
Default value: $docker::params::dm_blkdiscard
dm_override_udev_sync_check
Data type: Optional[Boolean]
By default, the devicemapper backend attempts to synchronize with the udev device manager for the Linux kernel. This option allows disabling that synchronization, to continue even though the configuration may be buggy.
Default value: $docker::params::dm_override_udev_sync_check
overlay2_override_kernel_check
Data type: Boolean
Overrides the Linux kernel version check allowing using overlay2 with kernel < 4.0.
Default value: $docker::params::overlay2_override_kernel_check
manage_package
Data type: Boolean
Won't install or define the docker package, useful if you want to use your own package
Default value: $docker::params::manage_package
service_name
Data type: Optional[String]
Specify custom service name
Default value: $docker::params::service_name
docker_users
Data type: Array
Specify an array of users to add to the docker group
Default value: []
create_user
Data type: Boolean
If true
the list of docker_users
will be created as well as added to the docker group
Default value: true
docker_group
Data type: String
Specify a string for the docker group
Default value: $docker::params::docker_group
daemon_environment_files
Data type: Array
Specify additional environment files to add to the service-overrides.conf
Default value: []
repo_opt
Data type: Optional[Variant[String,Hash]]
Specify a string to pass as repository options (RedHat only)
Default value: $docker::params::repo_opt
storage_devs
Data type: Optional[String]
A quoted, space-separated list of devices to be used.
Default value: $docker::params::storage_devs
storage_vg
Data type: Optional[String]
The volume group to use for docker storage.
Default value: $docker::params::storage_vg
storage_root_size
Data type: Optional[String]
The size to which the root filesystem should be grown.
Default value: $docker::params::storage_root_size
storage_data_size
Data type: Optional[String]
The desired size for the docker data LV
Default value: $docker::params::storage_data_size
storage_min_data_size
Data type: Optional[String]
The minimum size of data volume otherwise pool creation fails
Default value: $docker::params::storage_min_data_size
storage_chunk_size
Data type: Optional[String]
Controls the chunk size/block size of thin pool.
Default value: $docker::params::storage_chunk_size
storage_growpart
Data type: Optional[Boolean]
Enable resizing partition table backing root volume group.
Default value: $docker::params::storage_growpart
storage_auto_extend_pool
Data type: Optional[String]
Enable/disable automatic pool extension using lvm
Default value: $docker::params::storage_auto_extend_pool
storage_pool_autoextend_threshold
Data type: Optional[String]
Auto pool extension threshold (in % of pool size)
Default value: $docker::params::storage_pool_autoextend_threshold
storage_pool_autoextend_percent
Data type: Optional[String]
Extend the pool by specified percentage when threshold is hit.
Default value: $docker::params::storage_pool_autoextend_percent
tmp_dir_config
Data type: Optional[Boolean]
Whether to set the TMPDIR value in the systemd config file Default: true (set the value); false will comment out the line. Note: false is backwards compatible prior to PR #58
Default value: $docker::params::tmp_dir_config
tmp_dir
Data type: Optional[String]
Sets the tmp dir for Docker (path)
Default value: $docker::params::tmp_dir
registry_mirror
Data type: Optional[Variant[String,Array]]
Sets the prefered container registry mirror.
Default value: $docker::params::registry_mirror
nuget_package_provider_version
Data type: Optional[String]
The version of the NuGet Package provider
Default value: $docker::params::nuget_package_provider_version
docker_msft_provider_version
Data type: Optional[String]
The version of the Microsoft Docker Provider Module
Default value: $docker::params::docker_msft_provider_version
docker_ce_start_command
Data type: String
Default value: $docker::params::docker_ce_start_command
docker_ce_package_name
Data type: Optional[String]
Default value: $docker::params::docker_ce_package_name
docker_ce_cli_package_name
Data type: String[1]
Default value: $docker::params::docker_ce_cli_package_name
docker_ce_source_location
Data type: Optional[String]
Default value: $docker::params::package_ce_source_location
docker_ce_key_source
Data type: Optional[String]
Default value: $docker::params::package_ce_key_source
docker_ce_key_id
Data type: Optional[String]
Default value: $docker::params::package_ce_key_id
docker_ce_release
Data type: Optional[String]
Default value: $docker::params::package_ce_release
docker_package_location
Data type: Optional[String]
Default value: $docker::params::package_source_location
docker_package_key_source
Data type: Optional[String]
Default value: $docker::params::package_key_source
docker_package_key_check_source
Data type: Optional[Boolean]
Default value: $docker::params::package_key_check_source
docker_package_key_id
Data type: Optional[String]
Default value: $docker::params::package_key_id
docker_package_release
Data type: Optional[String]
Default value: $docker::params::package_release
docker_engine_start_command
Data type: String
Default value: $docker::params::docker_engine_start_command
docker_engine_package_name
Data type: String
Default value: $docker::params::docker_engine_package_name
docker_ce_channel
Data type: String
Default value: $docker::params::docker_ce_channel
docker_ee
Data type: Optional[Boolean]
Default value: $docker::params::docker_ee
docker_ee_package_name
Data type: Optional[String]
Default value: $docker::params::package_ee_package_name
docker_ee_source_location
Data type: Optional[String]
Default value: $docker::params::package_ee_source_location
docker_ee_key_source
Data type: Optional[String]
Default value: $docker::params::package_ee_key_source
docker_ee_key_id
Data type: Optional[String]
Default value: $docker::params::package_ee_key_id
docker_ee_repos
Data type: Optional[String]
Default value: $docker::params::package_ee_repos
docker_ee_release
Data type: Optional[String]
Default value: $docker::params::package_ee_release
package_release
Data type: Optional[String]
Default value: $docker::params::package_release
labels
Data type: Array
Default value: $docker::params::labels
execdriver
Data type: Optional[String]
Default value: $docker::params::execdriver
package_source
Data type: Optional[String]
Default value: $docker::params::package_source
os_lc
Data type: Optional[String]
Default value: $docker::params::os_lc
storage_config
Data type: Optional[Variant[String,Boolean]]
Default value: $docker::params::storage_config
storage_config_template
Data type: Optional[String]
Default value: $docker::params::storage_config_template
storage_setup_file
Data type: Optional[String]
Default value: $docker::params::storage_setup_file
service_provider
Data type: Optional[String]
Default value: $docker::params::service_provider
service_config
Data type: Optional[Variant[String,Boolean]]
Default value: $docker::params::service_config
service_config_template
Data type: Optional[String]
Default value: $docker::params::service_config_template
service_overrides_template
Data type: Optional[Variant[String,Boolean]]
Default value: $docker::params::service_overrides_template
socket_overrides_template
Data type: Optional[Variant[String,Boolean]]
Default value: $docker::params::socket_overrides_template
socket_override
Data type: Optional[Boolean]
Default value: $docker::params::socket_override
service_after_override
Data type: Optional[Variant[String,Boolean]]
Default value: $docker::params::service_after_override
service_hasstatus
Data type: Optional[Boolean]
Default value: $docker::params::service_hasstatus
service_hasrestart
Data type: Optional[Boolean]
Default value: $docker::params::service_hasrestart
acknowledge_unsupported_os
Data type: Boolean
Default value: false
have_systemd_v230
Data type: Boolean
Default value: $docker::params::have_systemd_v230
docker::compose
install Docker Compose using the recommended curl command.
Parameters
The following parameters are available in the docker::compose
class:
ensure
Data type: Enum[present,absent]
Whether to install or remove Docker Compose Valid values are absent present
Default value: present
version
Data type: Optional[String]
The version of Docker Compose to install.
Default value: undef
docker::images
The docker::images class.
Parameters
The following parameters are available in the docker::images
class:
images
Data type: Hash
docker::install
Module to install an up-to-date version of Docker from a package repository. Only for Debian, Red Hat and Windows
Parameters
The following parameters are available in the docker::install
class:
version
nuget_package_provider_version
docker_msft_provider_version
docker_ee_package_name
docker_download_url
dependent_packages
version
Data type: Optional[String]
The package version to install, used to set the package name.
Default value: $docker::version
nuget_package_provider_version
Data type: Optional[String]
The version of the NuGet Package provider
Default value: $docker::nuget_package_provider_version
docker_msft_provider_version
Data type: Optional[String]
The version of the Microsoft Docker Provider Module
Default value: $docker::docker_msft_provider_version
docker_ee_package_name
Data type: Optional[String]
The name of the Docker Enterprise Edition package
Default value: $docker::docker_ee_package_name
docker_download_url
Data type: Optional[String]
Default value: $docker::package_location
dependent_packages
Data type: Array
Default value: $docker::dependent_packages
docker::machine
install Docker Machine using the recommended curl command.
Parameters
The following parameters are available in the docker::machine
class:
ensure
Data type: Enum[present,absent]
Whether to install or remove Docker Machine Valid values are absent present
Default value: 'present'
version
Data type: Optional[String]
The version of Docker Machine to install.
Default value: $docker::params::machine_version
install_path
Data type: Optional[String]
The path where to install Docker Machine.
Default value: $docker::params::machine_install_path
proxy
Data type: Optional[Pattern['^((http[s]?)?:\/\/)?([^:^@]+:[^:^@]+@|)([\da-z\.-]+)\.([\da-z\.]{2,6})(:[\d])?([\/\w \.-]*)*\/?$']]
Proxy to use for downloading Docker Machine.
Default value: undef
url
Data type: Optional[Variant[Stdlib::HTTPUrl, Stdlib::HTTPSUrl]]
The URL from which the docker machine binary should be fetched
Default value: undef
curl_ensure
Data type: Optional[Boolean]
Whether or not the curl package is ensured by this module.
Default value: $docker::params::curl_ensure
docker::networks
The docker::networks class.
Parameters
The following parameters are available in the docker::networks
class:
networks
Data type: Optional[Hash[String, Hash]]
Default value: undef
docker::params
Default parameter values for the docker module
docker::plugins
The docker::plugins class.
Parameters
The following parameters are available in the docker::plugins
class:
plugins
Data type: Hash
docker::registry_auth
The docker::registry_auth class.
Parameters
The following parameters are available in the docker::registry_auth
class:
registries
Data type: Hash
docker::repos
The docker::repos class.
Parameters
The following parameters are available in the docker::repos
class:
location
Data type: Optional[String]
Default value: $docker::package_location
key_source
Data type: Optional[String]
Default value: $docker::package_key_source
key_check_source
Data type: Optional[Boolean]
Default value: $docker::package_key_check_source
architecture
Data type: String
Default value: $facts['os']['architecture']
docker::run_instance
The docker::run_instance class.
Parameters
The following parameters are available in the docker::run_instance
class:
instance
Data type: Hash
docker::service
manage the docker service daemon
Parameters
The following parameters are available in the docker::service
class:
tcp_bind
ip_forward
iptables
ip_masq
socket_bind
socket_group
root_dir
extra_parameters
shell_values
manage_service
docker_command
docker_start_command
service_name
icc
bridge
fixed_cidr
default_gateway
ipv6
ipv6_cidr
default_gateway_ipv6
log_level
log_driver
log_opt
selinux_enabled
labels
dns
dns_search
service_state
service_enable
proxy
no_proxy
execdriver
bip
mtu
storage_driver
dm_basesize
dm_fs
dm_mkfsarg
dm_mountopt
dm_blocksize
dm_loopdatasize
dm_loopmetadatasize
dm_datadev
dm_metadatadev
tmp_dir_config
tmp_dir
dm_thinpooldev
dm_use_deferred_removal
dm_use_deferred_deletion
dm_blkdiscard
dm_override_udev_sync_check
overlay2_override_kernel_check
storage_devs
storage_vg
storage_root_size
storage_data_size
storage_min_data_size
storage_chunk_size
storage_growpart
storage_auto_extend_pool
storage_pool_autoextend_threshold
storage_pool_autoextend_percent
storage_config
storage_config_template
storage_setup_file
service_provider
service_config
service_config_template
service_overrides_template
socket_overrides_template
socket_override
service_after_override
service_hasstatus
service_hasrestart
daemon_environment_files
tls_enable
tls_verify
tls_cacert
tls_cert
tls_key
registry_mirror
root_dir_flag
tcp_bind
Data type: Optional[Variant[String,Array[String]]]
Which tcp port, if any, to bind the docker service to.
Default value: $docker::tcp_bind
ip_forward
Data type: Boolean
This flag interacts with the IP forwarding setting on your host system's kernel
Default value: $docker::ip_forward
iptables
Data type: Boolean
Enable Docker's addition of iptables rules
Default value: $docker::iptables
ip_masq
Data type: Boolean
Enable IP masquerading for bridge's IP range.
Default value: $docker::ip_masq
socket_bind
Data type: String
Which local unix socket to bind the docker service to.
Default value: $docker::socket_bind
socket_group
Data type: Optional[Variant[String,Boolean]]
Which local unix socket to bind the docker service to.
Default value: $docker::socket_group
root_dir
Data type: Optional[String]
Specify a non-standard root directory for docker.
Default value: $docker::root_dir
extra_parameters
Data type: Optional[Variant[String,Array]]
Plain additional parameters to pass to the docker daemon
Default value: $docker::extra_parameters
shell_values
Data type: Optional[Variant[String,Array]]
Array of shell values to pass into init script config files
Default value: $docker::shell_values
manage_service
Data type: Boolean
Specify whether the service should be managed. Valid values are 'true', 'false'. Defaults to 'true'.
Default value: $docker::manage_service
docker_command
Data type: String
Default value: $docker::docker_command
docker_start_command
Data type: String
Default value: $docker::docker_start_command
service_name
Data type: Optional[String]
Default value: $docker::service_name
icc
Data type: Optional[Boolean]
Default value: $docker::icc
bridge
Data type: Optional[String]
Default value: $docker::bridge
fixed_cidr
Data type: Optional[String]
Default value: $docker::fixed_cidr
default_gateway
Data type: Optional[String]
Default value: $docker::default_gateway
ipv6
Data type: Optional[Boolean]
Default value: $docker::ipv6
ipv6_cidr
Data type: Optional[String]
Default value: $docker::ipv6_cidr
default_gateway_ipv6
Data type: Optional[String]
Default value: $docker::default_gateway_ipv6
log_level
Data type: Optional[String]
Default value: $docker::log_level
log_driver
Data type: Optional[String]
Default value: $docker::log_driver
log_opt
Data type: Array
Default value: $docker::log_opt
selinux_enabled
Data type: Optional[Boolean]
Default value: $docker::selinux_enabled
labels
Data type: Array
Default value: $docker::labels
dns
Data type: Optional[Variant[String,Array]]
Default value: $docker::dns
dns_search
Data type: Optional[Variant[String,Array]]
Default value: $docker::dns_search
service_state
Data type: String
Default value: $docker::service_state
service_enable
Data type: Boolean
Default value: $docker::service_enable
proxy
Data type: Optional[String]
Default value: $docker::proxy
no_proxy
Data type: Optional[String]
Default value: $docker::no_proxy
execdriver
Data type: Optional[String]
Default value: $docker::execdriver
bip
Data type: Optional[String]
Default value: $docker::bip
mtu
Data type: Optional[String]
Default value: $docker::mtu
storage_driver
Data type: Optional[String]
Default value: $docker::storage_driver
dm_basesize
Data type: Optional[String]
Default value: $docker::dm_basesize
dm_fs
Data type: Optional[String]
Default value: $docker::dm_fs
dm_mkfsarg
Data type: Optional[String]
Default value: $docker::dm_mkfsarg
dm_mountopt
Data type: Optional[String]
Default value: $docker::dm_mountopt
dm_blocksize
Data type: Optional[String]
Default value: $docker::dm_blocksize
dm_loopdatasize
Data type: Optional[String]
Default value: $docker::dm_loopdatasize
dm_loopmetadatasize
Data type: Optional[String]
Default value: $docker::dm_loopmetadatasize
dm_datadev
Data type: Optional[String]
Default value: $docker::dm_datadev
dm_metadatadev
Data type: Optional[String]
Default value: $docker::dm_metadatadev
tmp_dir_config
Data type: Optional[Boolean]
Default value: $docker::tmp_dir_config
tmp_dir
Data type: Optional[String]
Default value: $docker::tmp_dir
dm_thinpooldev
Data type: Optional[String]
Default value: $docker::dm_thinpooldev
dm_use_deferred_removal
Data type: Optional[Boolean]
Default value: $docker::dm_use_deferred_removal
dm_use_deferred_deletion
Data type: Optional[Boolean]
Default value: $docker::dm_use_deferred_deletion
dm_blkdiscard
Data type: Optional[Boolean]
Default value: $docker::dm_blkdiscard
dm_override_udev_sync_check
Data type: Optional[Boolean]
Default value: $docker::dm_override_udev_sync_check
overlay2_override_kernel_check
Data type: Boolean
Default value: $docker::overlay2_override_kernel_check
storage_devs
Data type: Optional[String]
Default value: $docker::storage_devs
storage_vg
Data type: Optional[String]
Default value: $docker::storage_vg
storage_root_size
Data type: Optional[String]
Default value: $docker::storage_root_size
storage_data_size
Data type: Optional[String]
Default value: $docker::storage_data_size
storage_min_data_size
Data type: Optional[String]
Default value: $docker::storage_min_data_size
storage_chunk_size
Data type: Optional[String]
Default value: $docker::storage_chunk_size
storage_growpart
Data type: Optional[Boolean]
Default value: $docker::storage_growpart
storage_auto_extend_pool
Data type: Optional[String]
Default value: $docker::storage_auto_extend_pool
storage_pool_autoextend_threshold
Data type: Optional[String]
Default value: $docker::storage_pool_autoextend_threshold
storage_pool_autoextend_percent
Data type: Optional[String]
Default value: $docker::storage_pool_autoextend_percent
storage_config
Data type: Optional[Variant[String,Boolean]]
Default value: $docker::storage_config
storage_config_template
Data type: Optional[String]
Default value: $docker::storage_config_template
storage_setup_file
Data type: Optional[String]
Default value: $docker::storage_setup_file
service_provider
Data type: Optional[String]
Default value: $docker::service_provider
service_config
Data type: Optional[Variant[String,Boolean]]
Default value: $docker::service_config
service_config_template
Data type: Optional[String]
Default value: $docker::service_config_template
service_overrides_template
Data type: Optional[Variant[String,Boolean]]
Default value: $docker::service_overrides_template
socket_overrides_template
Data type: Optional[Variant[String,Boolean]]
Default value: $docker::socket_overrides_template
socket_override
Data type: Optional[Boolean]
Default value: $docker::socket_override
service_after_override
Data type: Optional[Variant[String,Boolean]]
Default value: $docker::service_after_override
service_hasstatus
Data type: Optional[Boolean]
Default value: $docker::service_hasstatus
service_hasrestart
Data type: Optional[Boolean]
Default value: $docker::service_hasrestart
daemon_environment_files
Data type: Array
Default value: $docker::daemon_environment_files
tls_enable
Data type: Boolean
Default value: $docker::tls_enable
tls_verify
Data type: Boolean
Default value: $docker::tls_verify
tls_cacert
Data type: Optional[String]
Default value: $docker::tls_cacert
tls_cert
Data type: Optional[String]
Default value: $docker::tls_cert
tls_key
Data type: Optional[String]
Default value: $docker::tls_key
registry_mirror
Data type: Optional[Variant[String,Array]]
Default value: $docker::registry_mirror
root_dir_flag
Data type: String
Default value: $docker::root_dir_flag
docker::swarms
The docker::swarms class.
Parameters
The following parameters are available in the docker::swarms
class:
swarms
Data type: Hash
docker::systemd_reload
For systems that have systemd
docker::volumes
The docker::volumes class.
Parameters
The following parameters are available in the docker::volumes
class:
volumes
Data type: Hash
Defined types
docker::exec
A define which executes a command inside a container.
Parameters
The following parameters are available in the docker::exec
defined type:
detach
Data type: Boolean
Default value: false
interactive
Data type: Boolean
Default value: false
env
Data type: Array
Default value: []
tty
Data type: Boolean
Default value: false
container
Data type: Optional[String]
Default value: undef
command
Data type: Optional[String]
Default value: undef
unless
Data type: Optional[String]
Default value: undef
sanitise_name
Data type: Boolean
Default value: true
refreshonly
Data type: Boolean
Default value: false
onlyif
Data type: Optional[String]
Default value: undef
docker::image
Module to install an up-to-date version of a Docker image from the registry
Parameters
The following parameters are available in the docker::image
defined type:
ensure
Data type: Enum[present,absent,latest]
Whether you want the image present or absent.
Default value: 'present'
image
Data type: Optional[Pattern[/^[\S]*$/]]
If you want the name of the image to be different from the name of the puppet resource you can pass a value here.
Default value: $title
image_tag
Data type: Optional[String]
If you want a specific tag of the image to be installed
Default value: undef
image_digest
Data type: Optional[String]
If you want a specific content digest of the image to be installed
Default value: undef
docker_file
Data type: Optional[String]
If you want to add a docker image from specific docker file
Default value: undef
docker_tar
Data type: Optional[String]
If you want to load a docker image from specific docker tar
Default value: undef
force
Data type: Boolean
Default value: false
docker_dir
Data type: Optional[String]
Default value: undef
docker::plugin
A define that manages a docker plugin
Parameters
The following parameters are available in the docker::plugin
defined type:
plugin_name
enabled
timeout
plugin_alias
disable_on_install
disable_content_trust
grant_all_permissions
force_remove
settings
ensure
plugin_name
Data type: String
This ensures whether the plugin is installed or not. Note that the default behaviour of docker plugin requires a plugin be disabled before it can be removed
Default value: $title
enabled
Data type: Boolean
A setting to enable or disable an installed plugin.
Default value: true
timeout
Data type: Optional[String]
The number of seconds to wait when enabling a plugin
Default value: undef
plugin_alias
Data type: Optional[String]
An alternative name to use for an installed plugin
Default value: undef
disable_on_install
Data type: Boolean
Alters the default behaviour of enabling a plugin upon install
Default value: false
disable_content_trust
Data type: Boolean
Skip image verification
Default value: true
grant_all_permissions
Data type: Boolean
Grant all permissions necessary to run the plugin
Default value: true
force_remove
Data type: Boolean
Force the removal of an active plugin
Default value: true
settings
Data type: Array
Any additional settings to pass to the plugin during install
Default value: []
ensure
Data type: Enum[present,absent]
Default value: 'present'
docker::registry
Module to configure private docker registries from which to pull Docker images
Parameters
The following parameters are available in the docker::registry
defined type:
server
Data type: Optional[String]
The hostname and port of the private Docker registry. Ex: dockerreg:5000
Default value: $title
ensure
Data type: Enum[present,absent]
Whether or not you want to login or logout of a repository
Default value: 'present'
username
Data type: Optional[String]
Username for authentication to private Docker registry. auth is not required.
Default value: undef
password
Data type: Optional[String]
Password for authentication to private Docker registry. Leave undef if auth is not required.
Default value: undef
pass_hash
Data type: Optional[String]
The hash to be used for receipt. If left as undef, a hash will be generated
Default value: undef
email
Data type: Optional[String]
Email for registration to private Docker registry. Leave undef if auth is not required.
Default value: undef
local_user
Data type: String
The local user to log in as. Docker will store credentials in this users home directory
Default value: 'root'
local_user_home
Data type: Optional[String]
The local user home directory.
Default value: undef
receipt
Data type: Boolean
Required to be true for idempotency
Default value: true
version
Data type: Optional[String]
Default value: $docker::version
docker::run
Sets a restart policy on the docker run. Note: If set, puppet will NOT setup an init script to manage, instead it will do a raw docker run command using a CID file to track the container ID.
If you want a normal named container with an init script and a restart policy you must use the extra_parameters feature and pass it in like this:
extra_parameters => ['--restart=always']
However, if your system is using sytemd this restart policy will be ineffective because the ExecStop commands will run which will cause docker to stop restarting it. In this case you should use the systemd_restart option to specify the policy you want.
This will allow the docker container to be restarted if it dies, without puppet help.
(optional) Specifies the command to execute to check that the container is healthy using the docker health check functionality. Default: undef
(optional) Specifies the interval that the health check command will execute in seconds. Default: undef
(optional) Checks the health status of Docker container and if it is unhealthy the service will be restarted. The health_check_cmd parameter must be set to true to use this functionality. Default: undef
The docker network to attach to a container. Can be a String or Array (if using multiple networks) Default: bridge
An array of additional command line arguments to pass to the docker run
command. Useful for adding additional new or experimental options that the
module does not yet support.
(optional) If the container is to be managed by a systemd unit file set the Restart option on the unit file. Can be any valid value for this systemd configuration. Most commonly used are on-failure or always. Default: on-failure
(optional) Specify an additional unless for the Docker run command when using restart. Default: undef
(optional) Specifies the command to execute after container is created but before it is started. Default: undef
(optional) If the container is to be managed by a systemd unit file set the RemainAfterExit option on the unit file. Can be any valid value for this systemd configuration. Default: Not included in unit file
(optional) Prepare the service and enable it as usual but do not run it right away. Useful when building VM images using masterless Puppet and then letting the Docker images to be downloaded when a new VM is created. Default: false
Parameters
The following parameters are available in the docker::run
defined type:
restart
verify_digest
service_prefix
restart_service
restart_service_on_docker_refresh
manage_service
docker_service
health_check_cmd
health_check_interval
restart_on_unhealthy
net
extra_parameters
systemd_restart
custom_unless
after_create
remain_after_exit
prepare_service_only
image
ensure
command
memory_limit
cpuset
ports
labels
expose
volumes
links
use_name
running
volumes_from
username
hostname
env
env_file
dns
dns_search
lxc_conf
service_provider
disable_network
privileged
detach
extra_systemd_parameters
pull_on_start
after
after_service
depends
depend_services
tty
socket_connect
hostentries
before_start
before_stop
after_start
after_stop
remove_container_on_start
remove_container_on_stop
remove_volume_on_start
remove_volume_on_stop
stop_wait_time
syslog_identifier
syslog_facility
read_only
restart
Data type: Optional[String]
Default value: undef
verify_digest
Data type: Optional[String]
(optional) Make sure, that the image has not modified. Compares the digest checksum before starting the docker image. To get the digest of an image, run the following command: docker image inspect <> --format='{{index .RepoDigests 0}}
Default value: undef
service_prefix
Data type: String
(optional) The name to prefix the startup script with and the Puppet service resource title with. Default: 'docker-'
Default value: 'docker-'
restart_service
Data type: Boolean
(optional) Whether or not to restart the service if the the generated init script changes. Default: true
Default value: true
restart_service_on_docker_refresh
Data type: Boolean
Whether or not to restart the service if the docker service is restarted. Only has effect if the docker_service parameter is set. Default: true
Default value: true
manage_service
Data type: Boolean
(optional) Whether or not to create a puppet Service resource for the init script. Disabling this may be useful if integrating with existing modules. Default: true
Default value: true
docker_service
Data type: Variant[String,Boolean]
(optional) If (and how) the Docker service itself is managed by Puppet true -> Service['docker'] false -> no Service dependency anything else -> Service[docker_service] Default: false
Default value: false
health_check_cmd
Data type: Optional[String]
Default value: undef
health_check_interval
Data type: Optional[Integer]
Default value: undef
restart_on_unhealthy
Data type: Boolean
Default value: false
net
Data type: Variant[String,Array[String[1],1],Undef]
Default value: undef
extra_parameters
Data type: Optional[Variant[String,Array[String]]]
Default value: undef
systemd_restart
Data type: String
Default value: 'on-failure'
custom_unless
Data type: Variant[String,Array]
Default value: []
after_create
Data type: Optional[String]
Default value: undef
remain_after_exit
Data type: Optional[String]
Default value: undef
prepare_service_only
Data type: Boolean
Default value: false
image
Data type: Optional[Pattern[/^[\S]*$/]]
Default value: undef
ensure
Data type: Enum[present,absent]
Default value: 'present'
command
Data type: Optional[String]
Default value: undef
memory_limit
Data type: Pattern[/^[\d]*(b|k|m|g)$/]
Default value: '0b'
cpuset
Data type: Variant[String,Array,Undef]
Default value: []
ports
Data type: Variant[String,Array,Undef]
Default value: []
labels
Data type: Variant[String,Array,Undef]
Default value: []
expose
Data type: Variant[String,Array,Undef]
Default value: []
volumes
Data type: Variant[String,Array,Undef]
Default value: []
links
Data type: Variant[String,Array,Undef]
Default value: []
use_name
Data type: Boolean
Default value: false
running
Data type: Boolean
Default value: true
volumes_from
Data type: Variant[String,Array]
Default value: []
username
Data type: Variant[String,Boolean]
Default value: false
hostname
Data type: Variant[String,Boolean]
Default value: false
env
Data type: Variant[String,Array]
Default value: []
env_file
Data type: Variant[String,Array]
Default value: []
dns
Data type: Variant[String,Array]
Default value: []
dns_search
Data type: Variant[String,Array]
Default value: []
lxc_conf
Data type: Variant[String,Array]
Default value: []
service_provider
Data type: Optional[String]
Default value: undef
disable_network
Data type: Boolean
Default value: false
privileged
Data type: Boolean
Default value: false
detach
Data type: Optional[Boolean]
Default value: undef
extra_systemd_parameters
Data type: Variant[String,Hash]
Default value: {}
pull_on_start
Data type: Boolean
Default value: false
after
Data type: Variant[String,Array]
Default value: []
after_service
Data type: Variant[String,Array]
Default value: []
depends
Data type: Variant[String,Array]
Default value: []
depend_services
Data type: Variant[String,Array]
Default value: ['docker.service']
tty
Data type: Boolean
Default value: false
socket_connect
Data type: Variant[String,Array]
Default value: []
hostentries
Data type: Variant[String,Array]
Default value: []
before_start
Data type: Variant[String,Boolean]
Default value: false
before_stop
Data type: Variant[String,Boolean]
Default value: false
after_start
Data type: Variant[String,Boolean]
Default value: false
after_stop
Data type: Variant[String,Boolean]
Default value: false
remove_container_on_start
Data type: Boolean
Default value: true
remove_container_on_stop
Data type: Boolean
Default value: true
remove_volume_on_start
Data type: Boolean
Default value: false
remove_volume_on_stop
Data type: Boolean
Default value: false
stop_wait_time
Data type: Integer
Default value: 10
syslog_identifier
Data type: Optional[String]
Default value: undef
syslog_facility
Data type: Optional[String]
Default value: undef
read_only
Data type: Boolean
Default value: false
docker::secrets
The docker::secrets class.
Parameters
The following parameters are available in the docker::secrets
defined type:
ensure
Data type: Enum[present,absent]
Default value: 'present'
label
Data type: Variant[String,Array]
Default value: []
secret_name
Data type: Optional[String]
Default value: undef
secret_path
Data type: Optional[String]
Default value: undef
docker::services
define that managers a Docker services
Parameters
The following parameters are available in the docker::services
defined type:
ensure
image
detach
env
label
publish
replicas
tty
user
workdir
extra_params
update
scale
host_socket
registry_mirror
mounts
networks
command
create
service_name
ensure
Data type: Enum[present,absent]
This ensures that the service is present or not.
Default value: 'present'
image
Data type: Optional[Variant[String,Array]]
The Docker image to spwan the service from.
Default value: undef
detach
Data type: Boolean
Exit immediately instead of waiting for the service to converge (default true)
Default value: true
env
Data type: Array
Set environment variables
Default value: []
label
Data type: Array
Service labels. This used as metdata to configure constraints etc.
Default value: []
publish
Data type: Optional[Variant[String,Array]]
Publish port(s) as node ports.
Default value: undef
replicas
Data type: Optional[Variant[String,Array]]
Number of tasks (containers per service)
Default value: undef
tty
Data type: Boolean
Allocate a pseudo-TTY
Default value: false
user
Data type: Optional[Variant[String,Array]]
Username or UID (format: <name|uid>[:<group|gid>])
Default value: undef
workdir
Data type: Optional[Variant[String,Array]]
Working directory inside the container
Default value: undef
extra_params
Data type: Array
Allows you to pass any other flag that the Docker service create supports. This must be passed as an array. See docker service create --help for all options
Default value: []
update
Data type: Boolean
This changes the docker command to docker service update, you must pass a service name with this option
Default value: false
scale
Data type: Boolean
This changes the docker command to docker service scale, this can only be used with service name and replicas
Default value: false
host_socket
Data type: Optional[Variant[String,Array]]
This will allow the service to connect to the host linux socket.
Default value: undef
registry_mirror
Data type: Optional[Variant[String,Array]]
This will allow the service to set a registry mirror.
Default value: undef
mounts
Data type: Optional[Variant[String,Array]]
Allows attaching filesystem mounts to the service (specified as an array)
Default value: undef
networks
Data type: Optional[Array]
Allows attaching the service to networks (specified as an array)
Default value: undef
command
Data type: Optional[Variant[String,Array]]
Command to run on the container
Default value: undef
create
Data type: Boolean
Default value: true
service_name
Data type: Optional[Variant[String,Array]]
Default value: undef
docker::stack
deploys Docker stacks or compose v3
Parameters
The following parameters are available in the docker::stack
defined type:
ensure
Data type: Enum[present,absent]
This ensures that the stack is present or not.
Default value: 'present'
stack_name
Data type: Optional[String]
The name of the stack that you are deploying
Default value: undef
bundle_file
Data type: Optional[String]
Path to a Distributed Application Bundle file Please note this is experimental
Default value: undef
prune
Data type: Boolean
Prune services that are no longer referenced
Default value: false
resolve_image
Data type: Optional[Enum['always','changed','never']]
Query the registry to resolve image digest and supported platforms Only accepts ("always"|"changed"|"never")
Default value: undef
with_registry_auth
Data type: Boolean
Send registry authentication details to Swarm agents
Default value: false
compose_files
Data type: Optional[Array]
Default value: undef
docker::swarm
managers a Docker Swarm Mode cluster
Parameters
The following parameters are available in the docker::swarm
defined type:
ensure
init
join
advertise_addr
autolock
cert_expiry
default_addr_pool
default_addr_pool_mask_length
dispatcher_heartbeat
external_ca
force_new_cluster
listen_addr
max_snapshots
snapshot_interval
token
manager_ip
ensure
Data type: Enum[present,absent]
This ensures that the cluster is present or not. Note this forcefully removes a node from the cluster. Make sure all worker nodes have been removed before managers
Default value: 'present'
init
Data type: Boolean
This creates the first worker node for a new cluster. Set init to true to create a new cluster
Default value: false
join
Data type: Boolean
This adds either a worker or manger node to the cluster. The role of the node is defined by the join token. Set to true to join the cluster
Default value: false
advertise_addr
Data type: Optional[String]
The address that your node will advertise to the cluster for raft. On multihomed servers this flag must be passed
Default value: undef
autolock
Data type: Boolean
Enable manager autolocking (requiring an unlock key to start a stopped manager)
Default value: false
cert_expiry
Data type: Optional[String]
Validity period for node certificates (ns|us|ms|s|m|h) (default 2160h0m0s)
Default value: undef
default_addr_pool
Data type: Optional[Array]
Array of default subnet pools for global scope networks (['30.30.0.0/16','40.40.0.0/16'])
Default value: undef
default_addr_pool_mask_length
Data type: Optional[String]
Default subnet pools mask length for default-addr-pools (CIDR block number)
Default value: undef
dispatcher_heartbeat
Data type: Optional[String]
Dispatcher heartbeat period (ns|us|ms|s|m|h) (default 5s)
Default value: undef
external_ca
Data type: Optional[String]
Specifications of one or more certificate signing endpoints
Default value: undef
force_new_cluster
Data type: Boolean
Force create a new cluster from current state
Default value: false
listen_addr
Data type: Optional[String]
The address that your node will listen to the cluster for raft. On multihomed servers this flag must be passed
Default value: undef
max_snapshots
Data type: Optional[String]
Number of additional Raft snapshots to retain
Default value: undef
snapshot_interval
Data type: Optional[String]
Number of log entries between Raft snapshots (default 10000)
Default value: undef
token
Data type: Optional[String]
The authentication token to join the cluster. The token also defines the type of node (worker or manager)
Default value: undef
manager_ip
Data type: Optional[String]
The ip address of a manager node to join the cluster.
Default value: undef
docker::system_user
manage docker group users
Parameters
The following parameters are available in the docker::system_user
defined type:
create_user
Data type: Boolean
Boolean to cotrol whether the user should be created
Default value: true
docker::windows_account
Windows account that owns the docker services
Resource types
docker_compose
A type representing a Docker Compose file
Properties
The following properties are available in the docker_compose
type.
ensure
Valid values: present
, absent
The basic property that the resource should be in.
Default value: present
Parameters
The following parameters are available in the docker_compose
type.
compose_files
An array of Docker Compose Files paths.
name
namevar
The name of the project
options
Additional options to be passed directly to docker-compose.
provider
The specific backend to use for this docker_compose
resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.
scale
A hash of compose services and number of containers.
tmpdir
Override the temporary directory used by docker-compose.
This property is useful when the /tmp directory has been mounted with the noexec option. Or is otherwise being prevented It allows the module consumer to redirect docker-composes temporary files to a known directory.
The directory passed to this property must exist and be accessible by the user that is executing the puppet agent.
up_args
Arguments to be passed directly to docker-compose up.
docker_network
Type representing a Docker network
Properties
The following properties are available in the docker_network
type.
driver
The network driver used by the network
ensure
Valid values: present
, absent
The basic property that the resource should be in.
Default value: present
id
The ID of the network provided by Docker
ipam_driver
The IPAM (IP Address Management) driver
Parameters
The following parameters are available in the docker_network
type.
additional_flags
Additional flags for the 'docker network create'
aux_address
Auxiliary ipv4 or ipv6 addresses used by the Network driver
gateway
An ipv4 or ipv6 gateway for the server subnet
ip_range
The range of IP addresses used by the network
name
namevar
The name of the network
options
Additional options for the network driver
provider
The specific backend to use for this docker_network
resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.
subnet
The subnet in CIDR format that represents a network segment
docker_stack
A type representing a Docker Stack
Properties
The following properties are available in the docker_stack
type.
ensure
Valid values: present
, absent
The basic property that the resource should be in.
Default value: present
Parameters
The following parameters are available in the docker_stack
type.
bundle_file
Path to a Distributed Application Bundle file.
compose_files
An array of Docker Compose Files paths.
name
namevar
The name of the stack
provider
The specific backend to use for this docker_stack
resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.
up_args
Arguments to be passed directly to docker stack deploy.
docker_volume
A type representing a Docker volume
Properties
The following properties are available in the docker_volume
type.
driver
The volume driver used by the volume
ensure
Valid values: present
, absent
The basic property that the resource should be in.
Default value: present
mountpoint
The location that the volume is mounted to
Parameters
The following parameters are available in the docker_volume
type.
name
namevar
The name of the volume
options
Additional options for the volume driver
provider
The specific backend to use for this docker_volume
resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.
Functions
docker::env
Type: Ruby 4.x API
The docker::env function.
docker::env(Array $args)
The docker::env function.
Returns: Array
args
Data type: Array
docker::escape
Type: Ruby 3.x API
The docker::escape function.
docker::escape()
The docker::escape function.
Returns: Any
docker::sanitised_name
Type: Puppet Language
== Function: docker::sanitised_name
Function to sanitise container name.
=== Parameters
[name] Name to sanitise
docker::sanitised_name(Any $name)
== Function: docker::sanitised_name
Function to sanitise container name.
=== Parameters
[name] Name to sanitise
Returns: Any
name
Data type: Any
docker_exec_flags
Type: Ruby 3.x API
Transforms a hash into a string of docker exec flags
docker_exec_flags()
Transforms a hash into a string of docker exec flags
Returns: Any
docker_params_changed
Type: Ruby 4.x API
The docker_params_changed function.
docker_params_changed(Hash $opts)
The docker_params_changed function.
Returns: String
opts
Data type: Hash
docker_plugin_enable_flags
Type: Ruby 3.x API
Transforms a hash into a string of docker plugin remove flags
docker_plugin_enable_flags()
Transforms a hash into a string of docker plugin remove flags
Returns: Any
docker_plugin_install_flags
Type: Ruby 3.x API
Transforms a hash into a string of docker plugin install flags
docker_plugin_install_flags()
Transforms a hash into a string of docker plugin install flags
Returns: Any
docker_plugin_remove_flags
Type: Ruby 3.x API
Transforms a hash into a string of docker plugin remove flags
docker_plugin_remove_flags()
Transforms a hash into a string of docker plugin remove flags
Returns: Any
docker_run_flags
Type: Ruby 3.x API
Transforms a hash into a string of docker flags
docker_run_flags()
Transforms a hash into a string of docker flags
Returns: Any
docker_secrets_flags
Type: Ruby 3.x API
Transforms a hash into a string of docker swarm init flags
docker_secrets_flags()
Transforms a hash into a string of docker swarm init flags
Returns: Any
docker_service_flags
Type: Ruby 3.x API
Transforms a hash into a string of docker swarm init flags
docker_service_flags()
Transforms a hash into a string of docker swarm init flags
Returns: Any
docker_stack_flags
Type: Ruby 3.x API
Transforms a hash into a string of docker stack flags
docker_stack_flags()
Transforms a hash into a string of docker stack flags
Returns: Any
docker_swarm_init_flags
Type: Ruby 3.x API
Transforms a hash into a string of docker swarm init flags
docker_swarm_init_flags()
Transforms a hash into a string of docker swarm init flags
Returns: Any
docker_swarm_join_flags
Type: Ruby 3.x API
Transforms a hash into a string of docker swarm init flags
docker_swarm_join_flags()
Transforms a hash into a string of docker swarm init flags
Returns: Any
Tasks
node_ls
List nodes in the swarm
Supports noop? false
Parameters
filter
Data type: Optional[String[1]]
Filter output based on conditions provided
quiet
Data type: Optional[Boolean]
Only display IDs
node_rm
Update a node
Supports noop? false
Parameters
force
Data type: Optional[Boolean]
Force remove a node from the swarm
node
Data type: String[1]
Hostname or ID of the node in the swarm
node_update
Update a node
Supports noop? false
Parameters
availability
Data type: Optional[Enum['active', 'pause', 'drain']]
Availability of the node
role
Data type: Optional[Enum['manager', 'worker']]
Role of the node
label_add
Data type: Optional[Array]
Add or update a node label (key=value)
label_rm
Data type: Optional[Array]
Remove a node label if exists.
node
Data type: String[1]
ID of the node in the swarm
service_create
Create a new Docker service
Supports noop? false
Parameters
service
Data type: String[1]
The name of the service to create
image
Data type: String[1]
The new image to use for the service
replicas
Data type: Integer
Number of replicas
expose
Data type: Variant[String,Array,Undef]
Publish service ports externally to the swarm
env
Data type: Optional[Hash]
Set environment variables
command
Data type: Variant[String,Array,Undef]
Command to run on the container
extra_params
Data type: Optional[Array]
Allows you to pass any other flag that the Docker service create supports.
detach
Data type: Optional[Boolean]
Exit immediately instead of waiting for the service to converge
service_rm
Remove one replicated service
Supports noop? false
Parameters
service
Data type: String[1]
Name or ID of the service
service_scale
Scale one replicated service
Supports noop? false
Parameters
service
Data type: String[1]
Name or ID of the service
scale
Data type: Integer
Number of replicas
detach
Data type: Optional[Boolean]
Exit immediately instead of waiting for the service to converge
service_update
Updates an existing service.
Supports noop? false
Parameters
service
Data type: String[1]
The service to update
image
Data type: String[1]
The new image to use for the service
constraint_add
Data type: Optional[Array]
Add or update a service constraint (selector==value, selector!=value)
constraint_rm
Data type: Optional[Array]
Remove a service constraint if exists.
swarm_init
Initializes a swarm
Supports noop? false
Parameters
advertise_addr
Data type: Optional[String[1]]
Advertised address
autolock
Data type: Optional[Boolean]
Enable manager autolocking
cert_expiry
Data type: Optional[String[1]]
Validity period for node certificates
dispatcher_heartbeat
Data type: Optional[String[1]]
Dispatcher heartbeat period
external_ca
Data type: Optional[String[1]]
Specifications of one or more certificate signing endpoints
force_new_cluster
Data type: Optional[Boolean]
Force create a new cluster from current state
listen_addr
Data type: Optional[String[1]]
Listen address
max_snapshots
Data type: Optional[Integer[1]]
Number of additional Raft snapshots to retain
snapshot_interval
Data type: Optional[Integer[1]]
Number of log entries between Raft snapshots
swarm_join
Join a swarm
Supports noop? false
Parameters
advertise_addr
Data type: Optional[String[1]]
Advertised address
listen_addr
Data type: Optional[String[1]]
Listen address
token
Data type: String[1]
Join token for the swarm
manager_ip
Data type: String[1]
IP Address of the swarm manager
swarm_leave
Leave a swarm
Supports noop? false
Parameters
force
Data type: Optional[Boolean]
Force this node to leave the swarm, ignoring warnings
swarm_token
Gets the swarm token from the server
Supports noop? false
Parameters
node_role
Data type: String[1]
The role of the node joining the swarm
swarm_update
Updates an existing service.
Supports noop? false
Parameters
service
Data type: String[1]
The service to update
image
Data type: String[1]
The new image to use for the service