docker
: Module to install an up-to-date version of Docker from package.docker::compose
: install Docker Compose using the recommended curl command.docker::config
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
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
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
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
: Checks if at least one parammeter is changeddocker_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
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.
Module to install an up-to-date version of Docker from package.
The following parameters are available in the docker
class.
Data type: Optional[String]
The package version to install, used to set the package name.
Default value: $docker::params::version
Data type: String
Passed to the docker package.
Default value: $docker::params::ensure
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
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
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
Data type: Boolean
Enable TLS.
Default value: $docker::params::tls_enable
Data type: Boolean
Use TLS and verify the remote
Default value: $docker::params::tls_verify
Data type: Optional[String]
Path to TLS CA certificate
Default value: $docker::params::tls_cacert
Data type: Optional[String]
Path to TLS certificate file
Default value: $docker::params::tls_cert
Data type: Optional[String]
Path to TLS key file
Default value: $docker::params::tls_key
Data type: Boolean
Enables IP forwarding on the Docker host.
Default value: $docker::params::ip_forward
Data type: Boolean
Enable Docker's addition of iptables rules.
Default value: $docker::params::iptables
Data type: Boolean
Enable IP masquerading for bridge's IP range.
Default value: $docker::params::ip_masq
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
Data type: Optional[String]
Specify docker's network bridge IP, in CIDR notation.
Default value: $docker::params::bip
Data type: Optional[String]
Docker network MTU.
Default value: $docker::params::mtu
Data type: Optional[String]
Attach containers to a pre-existing network bridge use 'none' to disable container networking
Default value: $docker::params::bridge
Data type: Optional[String]
IPv4 subnet for fixed IPs 10.20.0.0/16
Default value: $docker::params::fixed_cidr
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
Data type: Optional[Boolean]
Enables ipv6 support for the docker daemon
Default value: $docker::params::ipv6
Data type: Optional[String]
IPv6 subnet for fixed IPs
Default value: $docker::params::ipv6_cidr
Data type: Optional[String]
IPv6 address of the container default gateway:
Default value: $docker::params::default_gateway_ipv6
Data type: String
The unix socket to bind to.
Default value: $docker::params::socket_bind
Data type: Optional[String]
Set the logging level Valid values: debug, info, warn, error, fatal
Default value: $docker::params::log_level
Data type: Optional[String]
Set the log driver. Docker default is json-file. Valid values: none, json-file, syslog, journald, gelf, fluentd Valid values description: none : Disables any logging for the container. docker logs won't be available with this driver. json-file: Default logging driver for Docker. Writes JSON messages to file. syslog : Syslog logging driver for Docker. Writes log messages to syslog. journald : Journald logging driver for Docker. Writes log messages to journald. gelf : Graylog Extended Log Format (GELF) logging driver for Docker. Writes log messages to a GELF endpoint: Graylog or Logstash. fluentd : Fluentd logging driver for Docker. Writes log messages to fluentd (forward input). splunk : Splunk logging driver for Docker. Writes log messages to Splunk (HTTP Event Collector). awslogs : AWS Cloudwatch Logs logging driver for Docker. Write log messages to Cloudwatch API
Default value: $docker::params::log_driver
Data type: Array
Set the log driver specific options Valid values per log driver: none : undef 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
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
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
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
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
Data type: String
Whether you want to docker daemon to start up
Default value: $docker::params::service_state
Data type: Boolean
Whether you want to docker daemon to start up at boot
Default value: $docker::params::service_enable
Data type: Boolean
Specify whether the service should be managed.
Default value: $docker::params::manage_service
Data type: Optional[String]
Custom root directory for containers
Default value: $docker::params::root_dir
Data type: Optional[Variant[String,Array]]
Custom dns server address
Default value: $docker::params::dns
Data type: Optional[Variant[String,Array]]
Custom dns search domains
Default value: $docker::params::dns_search
Data type: Optional[Variant[String,Boolean]]
Group ownership of the unix control socket.
Default value: $docker::params::socket_group
Data type: Optional[Variant[String,Array]]
Any extra parameters that should be passed to the docker daemon.
Default value: undef
Data type: Optional[Variant[String,Array]]
Array of shell values to pass into init script config files
Default value: undef
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
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
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
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
Data type: Optional[String]
The filesystem to use for the base image (xfs or ext4)
Default value: $docker::params::dm_fs
Data type: Optional[String]
Specifies extra mkfs arguments to be used when creating the base device.
Default value: $docker::params::dm_mkfsarg
Data type: Optional[String]
Specifies extra mount options used when mounting the thin devices.
Default value: $docker::params::dm_mountopt
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
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
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
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
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
Data type: Optional[String]
Specifies a custom block storage device to use for the thin pool.
Default value: $docker::params::dm_thinpooldev
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
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
Data type: Optional[Boolean]
Enables or disables the use of blkdiscard when removing devicemapper devices.
Default value: $docker::params::dm_blkdiscard
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
Data type: Boolean
Overrides the Linux kernel version check allowing using overlay2 with kernel < 4.0.
Default value: $docker::params::overlay2_override_kernel_check
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
Data type: Optional[String]
Specify custom service name
Default value: $docker::params::service_name
Data type: Array
Specify an array of users to add to the docker group
Default value: []
Data type: String
Specify a string for the docker group
Default value: $docker::params::docker_group
Data type: Array
Specify additional environment files to add to the service-overrides.conf
Default value: []
Data type: Optional[Variant[String,Hash]]
Specify a string to pass as repository options (RedHat only)
Default value: $docker::params::repo_opt
Data type: Optional[String]
A quoted, space-separated list of devices to be used.
Default value: $docker::params::storage_devs
Data type: Optional[String]
The volume group to use for docker storage.
Default value: $docker::params::storage_vg
Data type: Optional[String]
The size to which the root filesystem should be grown.
Default value: $docker::params::storage_root_size
Data type: Optional[String]
The desired size for the docker data LV
Default value: $docker::params::storage_data_size
Data type: Optional[String]
The minimum size of data volume otherwise pool creation fails
Default value: $docker::params::storage_min_data_size
Data type: Optional[String]
Controls the chunk size/block size of thin pool.
Default value: $docker::params::storage_chunk_size
Data type: Optional[Boolean]
Enable resizing partition table backing root volume group.
Default value: $docker::params::storage_growpart
Data type: Optional[String]
Enable/disable automatic pool extension using lvm
Default value: $docker::params::storage_auto_extend_pool
Data type: Optional[String]
Auto pool extension threshold (in % of pool size)
Default value: $docker::params::storage_pool_autoextend_threshold
Data type: Optional[String]
Extend the pool by specified percentage when threshold is hit.
Default value: $docker::params::storage_pool_autoextend_percent
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
Data type: Optional[String]
Sets the tmp dir for Docker (path)
Default value: $docker::params::tmp_dir
Data type: Optional[Variant[String,Array]]
Sets the prefered container registry mirror.
Default value: $docker::params::registry_mirror
Data type: Optional[String]
The version of the NuGet Package provider
Default value: $docker::params::nuget_package_provider_version
Data type: Optional[String]
The version of the Microsoft Docker Provider Module
Default value: $docker::params::docker_msft_provider_version
Data type: String
Default value: $docker::params::docker_ce_start_command
Data type: Optional[String]
Default value: $docker::params::docker_ce_package_name
Data type: Optional[String]
Default value: $docker::params::package_ce_source_location
Data type: Optional[String]
Default value: $docker::params::package_ce_key_source
Data type: Optional[String]
Default value: $docker::params::package_ce_key_id
Data type: Optional[String]
Default value: $docker::params::package_ce_release
Data type: Optional[String]
Default value: $docker::params::package_source_location
Data type: Optional[String]
Default value: $docker::params::package_key_source
Data type: Optional[Boolean]
Default value: $docker::params::package_key_check_source
Data type: Optional[String]
Default value: $docker::params::package_key_id
Data type: Optional[String]
Default value: $docker::params::package_release
Data type: String
Default value: $docker::params::docker_engine_start_command
Data type: String
Default value: $docker::params::docker_engine_package_name
Data type: String
Default value: $docker::params::docker_ce_channel
Data type: Optional[Boolean]
Default value: $docker::params::docker_ee
Data type: Optional[String]
Default value: $docker::params::package_ee_package_name
Data type: Optional[String]
Default value: $docker::params::package_ee_source_location
Data type: Optional[String]
Default value: $docker::params::package_ee_key_source
Data type: Optional[String]
Default value: $docker::params::package_ee_key_id
Data type: Optional[String]
Default value: $docker::params::package_ee_repos
Data type: Optional[String]
Default value: $docker::params::package_ee_release
Data type: Optional[String]
Default value: $docker::params::package_release
Data type: Array
Default value: $docker::params::labels
Data type: Optional[String]
Default value: $docker::params::execdriver
Data type: Optional[String]
Default value: $docker::params::package_source
Data type: Optional[String]
Default value: $docker::params::os_lc
Data type: Optional[Variant[String,Boolean]]
Default value: $docker::params::storage_config
Data type: Optional[String]
Default value: $docker::params::storage_config_template
Data type: Optional[String]
Default value: $docker::params::storage_setup_file
Data type: Optional[String]
Default value: $docker::params::service_provider
Data type: Optional[Variant[String,Boolean]]
Default value: $docker::params::service_config
Data type: Optional[String]
Default value: $docker::params::service_config_template
Data type: Optional[Variant[String,Boolean]]
Default value: $docker::params::service_overrides_template
Data type: Optional[Variant[String,Boolean]]
Default value: $docker::params::socket_overrides_template
Data type: Optional[Boolean]
Default value: $docker::params::socket_override
Data type: Optional[Variant[String,Boolean]]
Default value: $docker::params::service_after_override
Data type: Optional[Boolean]
Default value: $docker::params::service_hasstatus
Data type: Optional[Boolean]
Default value: $docker::params::service_hasrestart
Data type: Boolean
Default value: false
install Docker Compose using the recommended curl command.
The following parameters are available in the docker::compose
class.
Data type: Optional[Enum[present,absent]]
Whether to install or remove Docker Compose Valid values are absent present
Default value: 'present'
Data type: Optional[String]
The version of Docker Compose to install.
Default value: $docker::params::compose_version
Data type: Optional[String]
The path where to install Docker Compose.
Default value: $docker::params::compose_install_path
Data type: Optional[String]
The name of the symlink created pointing to the actual docker-compose binary This allows use of own docker-compose wrapper scripts for the times it's necessary to set certain things before running the docker-compose binary
Default value: $docker::params::compose_symlink_name
Data type: Optional[String]
Proxy to use for downloading Docker Compose.
Default value: undef
Data type: Optional[String]
The base url for installation This allows use of a mirror that follows the same layout as the official repository
Default value: $docker::params::compose_base_url
Data type: Optional[String]
Override the raw URL for installation The default is to build a URL from baseurl. If rawurl is set, the caller is responsible for ensuring the URL points to the correct version and architecture.
Default value: undef
Data type: Optional[Boolean]
Whether or not the curl package is ensured by this module.
Default value: $docker::params::curl_ensure
The docker::config class.
The docker::images class.
The following parameters are available in the docker::images
class.
Data type: Any
Module to install an up-to-date version of Docker from a package repository. Only for Debian, Red Hat and Windows
The following parameters are available in the docker::install
class.
Data type: Any
The package version to install, used to set the package name.
Default value: $docker::version
Data type: Any
The version of the NuGet Package provider
Default value: $docker::nuget_package_provider_version
Data type: Any
The version of the Microsoft Docker Provider Module
Default value: $docker::docker_msft_provider_version
Data type: Any
The name of the Docker Enterprise Edition package
Default value: $docker::docker_ee_package_name
Data type: Any
Default value: $docker::package_location
Data type: Any
Default value: $docker::dependent_packages
install Docker Machine using the recommended curl command.
The following parameters are available in the docker::machine
class.
Data type: Optional[Enum[present,absent]]
Whether to install or remove Docker Machine Valid values are absent present
Default value: 'present'
Data type: Optional[String]
The version of Docker Machine to install.
Default value: $docker::params::machine_version
Data type: Optional[String]
The path where to install Docker Machine.
Default value: $docker::params::machine_install_path
Data type: Optional[String]
Proxy to use for downloading Docker Machine.
Default value: undef
Data type: Optional[Variant[Stdlib::HTTPUrl, Stdlib::HTTPSUrl]]
The URL from which the docker machine binary should be fetched
Default value: undef
Data type: Optional[Boolean]
Whether or not the curl package is ensured by this module.
Default value: $docker::params::curl_ensure
The docker::networks class.
The following parameters are available in the docker::networks
class.
Data type: Any
Default parameter values for the docker module
The docker::plugins class.
The following parameters are available in the docker::plugins
class.
Data type: Any
The docker::registry_auth class.
The following parameters are available in the docker::registry_auth
class.
Data type: Any
The docker::repos class.
The following parameters are available in the docker::repos
class.
Data type: Any
Default value: $docker::package_location
Data type: Any
Default value: $docker::package_key_source
Data type: Any
Default value: $docker::package_key_check_source
Data type: Any
Default value: $facts['os']['architecture']
The docker::run_instance class.
The following parameters are available in the docker::run_instance
class.
Data type: Any
manage the docker service daemon
The following parameters are available in the docker::service
class.
Data type: Any
Which tcp port, if any, to bind the docker service to.
Default value: $docker::tcp_bind
Data type: Any
This flag interacts with the IP forwarding setting on your host system's kernel
Default value: $docker::ip_forward
Data type: Any
Enable Docker's addition of iptables rules
Default value: $docker::iptables
Data type: Any
Enable IP masquerading for bridge's IP range.
Default value: $docker::ip_masq
Data type: Any
Which local unix socket to bind the docker service to.
Default value: $docker::socket_bind
Data type: Any
Which local unix socket to bind the docker service to.
Default value: $docker::socket_group
Data type: Any
Specify a non-standard root directory for docker.
Default value: $docker::root_dir
Data type: Any
Plain additional parameters to pass to the docker daemon
Default value: $docker::extra_parameters
Data type: Any
Array of shell values to pass into init script config files
Default value: $docker::shell_values
Data type: Any
Specify whether the service should be managed. Valid values are 'true', 'false'. Defaults to 'true'.
Default value: $docker::manage_service
Data type: Any
Default value: $docker::docker_command
Data type: Any
Default value: $docker::docker_start_command
Data type: Any
Default value: $docker::service_name
Data type: Any
Default value: $docker::icc
Data type: Any
Default value: $docker::bridge
Data type: Any
Default value: $docker::fixed_cidr
Data type: Any
Default value: $docker::default_gateway
Data type: Any
Default value: $docker::ipv6
Data type: Any
Default value: $docker::ipv6_cidr
Data type: Any
Default value: $docker::default_gateway_ipv6
Data type: Any
Default value: $docker::log_level
Data type: Any
Default value: $docker::log_driver
Data type: Any
Default value: $docker::log_opt
Data type: Any
Default value: $docker::selinux_enabled
Data type: Any
Default value: $docker::labels
Data type: Any
Default value: $docker::dns
Data type: Any
Default value: $docker::dns_search
Data type: Any
Default value: $docker::service_state
Data type: Any
Default value: $docker::service_enable
Data type: Any
Default value: $docker::proxy
Data type: Any
Default value: $docker::no_proxy
Data type: Any
Default value: $docker::execdriver
Data type: Any
Default value: $docker::bip
Data type: Any
Default value: $docker::mtu
Data type: Any
Default value: $docker::storage_driver
Data type: Any
Default value: $docker::dm_basesize
Data type: Any
Default value: $docker::dm_fs
Data type: Any
Default value: $docker::dm_mkfsarg
Data type: Any
Default value: $docker::dm_mountopt
Data type: Any
Default value: $docker::dm_blocksize
Data type: Any
Default value: $docker::dm_loopdatasize
Data type: Any
Default value: $docker::dm_loopmetadatasize
Data type: Any
Default value: $docker::dm_datadev
Data type: Any
Default value: $docker::dm_metadatadev
Data type: Any
Default value: $docker::tmp_dir_config
Data type: Any
Default value: $docker::tmp_dir
Data type: Any
Default value: $docker::dm_thinpooldev
Data type: Any
Default value: $docker::dm_use_deferred_removal
Data type: Any
Default value: $docker::dm_use_deferred_deletion
Data type: Any
Default value: $docker::dm_blkdiscard
Data type: Any
Default value: $docker::dm_override_udev_sync_check
Data type: Any
Default value: $docker::overlay2_override_kernel_check
Data type: Any
Default value: $docker::storage_devs
Data type: Any
Default value: $docker::storage_vg
Data type: Any
Default value: $docker::storage_root_size
Data type: Any
Default value: $docker::storage_data_size
Data type: Any
Default value: $docker::storage_min_data_size
Data type: Any
Default value: $docker::storage_chunk_size
Data type: Any
Default value: $docker::storage_growpart
Data type: Any
Default value: $docker::storage_auto_extend_pool
Data type: Any
Default value: $docker::storage_pool_autoextend_threshold
Data type: Any
Default value: $docker::storage_pool_autoextend_percent
Data type: Any
Default value: $docker::storage_config
Data type: Any
Default value: $docker::storage_config_template
Data type: Any
Default value: $docker::storage_setup_file
Data type: Any
Default value: $docker::service_provider
Data type: Any
Default value: $docker::service_config
Data type: Any
Default value: $docker::service_config_template
Data type: Any
Default value: $docker::service_overrides_template
Data type: Any
Default value: $docker::socket_overrides_template
Data type: Any
Default value: $docker::socket_override
Data type: Any
Default value: $docker::service_after_override
Data type: Any
Default value: $docker::service_hasstatus
Data type: Any
Default value: $docker::service_hasrestart
Data type: Any
Default value: $docker::daemon_environment_files
Data type: Any
Default value: $docker::tls_enable
Data type: Any
Default value: $docker::tls_verify
Data type: Any
Default value: $docker::tls_cacert
Data type: Any
Default value: $docker::tls_cert
Data type: Any
Default value: $docker::tls_key
Data type: Any
Default value: $docker::registry_mirror
Data type: Any
Default value: $docker::root_dir_flag
The docker::swarms class.
The following parameters are available in the docker::swarms
class.
Data type: Any
For systems that have systemd
The docker::volumes class.
The following parameters are available in the docker::volumes
class.
Data type: Any
A define which executes a command inside a container.
The following parameters are available in the docker::exec
defined type.
Data type: Optional[Boolean]
Default value: false
Data type: Optional[Boolean]
Default value: false
Data type: Optional[Array]
Default value: []
Data type: Optional[Boolean]
Default value: false
Data type: Optional[String]
Default value: undef
Data type: Optional[String]
Default value: undef
Data type: Optional[String]
Default value: undef
Data type: Optional[Boolean]
Default value: true
Data type: Optional[Boolean]
Default value: false
Data type: Optional[String]
Default value: undef
Module to install an up-to-date version of a Docker image from the registry
The following parameters are available in the docker::image
defined type.
Data type: Optional[Enum[present,absent,latest]]
Whether you want the image present or absent.
Default value: 'present'
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
Data type: Optional[String]
If you want a specific tag of the image to be installed
Default value: undef
Data type: Optional[String]
If you want a specific content digest of the image to be installed
Default value: undef
Data type: Optional[String]
If you want to add a docker image from specific docker file
Default value: undef
Data type: Optional[String]
If you want to load a docker image from specific docker tar
Default value: undef
Data type: Optional[Boolean]
Default value: false
Data type: Optional[String]
Default value: undef
A define that manages a docker plugin
The following parameters are available in the docker::plugin
defined type.
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
The name of the docker plugin
Default value: $title
Data type: Optional[Boolean]
A setting to enable or disable an installed plugin.
Default value: true
Data type: Optional[String]
The number of seconds to wait when enabling a plugin
Default value: undef
Data type: Optional[String]
An alternative name to use for an installed plugin
Default value: undef
Data type: Optional[Boolean]
Alters the default behaviour of enabling a plugin upon install
Default value: false
Data type: Optional[Boolean]
Skip image verification
Default value: true
Data type: Optional[Boolean]
Grant all permissions necessary to run the plugin
Default value: true
Data type: Optional[Boolean]
Force the removal of an active plugin
Default value: true
Data type: Optional[Array]
Any additional settings to pass to the plugin during install
Default value: []
Data type: Optional[Enum[present,absent]]
Default value: 'present'
Default value: true
Module to configure private docker registries from which to pull Docker images
The following parameters are available in the docker::registry
defined type.
Data type: Optional[String]
The hostname and port of the private Docker registry. Ex: dockerreg:5000
Default value: $title
Data type: Optional[Enum[present,absent]]
Whether or not you want to login or logout of a repository
Default value: 'present'
Data type: Optional[String]
Username for authentication to private Docker registry. auth is not required.
Default value: undef
Data type: Optional[String]
Password for authentication to private Docker registry. Leave undef if auth is not required.
Default value: undef
Data type: Optional[String]
The hash to be used for receipt. If left as undef, a hash will be generated
Default value: undef
Data type: Optional[String]
Email for registration to private Docker registry. Leave undef if auth is not required.
Default value: undef
Data type: Optional[String]
The local user to log in as. Docker will store credentials in this users home directory
Default value: 'root'
Data type: Optional[String]
The local user home directory.
Default value: undef
Data type: Optional[Boolean]
Required to be true for idempotency
Default value: true
Data type: Optional[String]
Default value: $docker::version
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
The following parameters are available in the docker::run
defined type.
Data type: Optional[String]
Default value: undef
Data type: Optional[String]
(optional) The name to prefix the startup script with and the Puppet service resource title with. Default: 'docker-'
Default value: 'docker-'
Data type: Optional[Boolean]
(optional) Whether or not to restart the service if the the generated init script changes. Default: true
Default value: true
Data type: Optional[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
Data type: Optional[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
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
Data type: Optional[String]
Default value: undef
Data type: Optional[Integer]
Default value: undef
Data type: Optional[Boolean]
Default value: false
Data type: Variant[String,Array]
Default value: 'bridge'
Data type: Optional[Variant[String,Array[String]]]
Default value: undef
Data type: Optional[String]
Default value: 'on-failure'
Data type: Optional[Variant[String,Array]]
Default value: []
Data type: Optional[String]
Default value: undef
Data type: Optional[String]
Default value: undef
Data type: Optional[Pattern[/^[\S]*$/]]
Data type: Optional[Enum[present,absent]]
Default value: 'present'
Data type: Optional[String]
Default value: undef
Data type: Optional[Pattern[/^[\d]*(b|k|m|g)$/]]
Default value: '0b'
Data type: Variant[String,Array,Undef]
Default value: []
Data type: Variant[String,Array,Undef]
Default value: []
Data type: Variant[String,Array,Undef]
Default value: []
Data type: Variant[String,Array,Undef]
Default value: []
Data type: Variant[String,Array,Undef]
Default value: []
Data type: Variant[String,Array,Undef]
Default value: []
Data type: Optional[Boolean]
Default value: false
Data type: Optional[Boolean]
Default value: true
Data type: Optional[Variant[String,Array]]
Default value: []
Data type: Variant[String,Boolean]
Default value: false
Data type: Variant[String,Boolean]
Default value: false
Data type: Optional[Variant[String,Array]]
Default value: []
Data type: Optional[Variant[String,Array]]
Default value: []
Data type: Optional[Variant[String,Array]]
Default value: []
Data type: Optional[Variant[String,Array]]
Default value: []
Data type: Optional[Variant[String,Array]]
Default value: []
Data type: Optional[String]
Default value: undef
Data type: Optional[Boolean]
Default value: false
Data type: Optional[Boolean]
Default value: false
Data type: Optional[Boolean]
Default value: undef
Data type: Optional[Variant[String,Hash]]
Default value: {}
Data type: Optional[Boolean]
Default value: false
Data type: Optional[Variant[String,Array]]
Default value: []
Data type: Optional[Variant[String,Array]]
Default value: []
Data type: Optional[Variant[String,Array]]
Default value: []
Data type: Optional[Variant[String,Array]]
Default value: ['docker.service']
Data type: Optional[Boolean]
Default value: false
Data type: Optional[Variant[String,Array]]
Default value: []
Data type: Optional[Variant[String,Array]]
Default value: []
Data type: Variant[String,Boolean]
Default value: false
Data type: Variant[String,Boolean]
Default value: false
Data type: Variant[String,Boolean]
Default value: false
Data type: Variant[String,Boolean]
Default value: false
Data type: Optional[Boolean]
Default value: true
Data type: Optional[Boolean]
Default value: true
Data type: Optional[Boolean]
Default value: false
Data type: Optional[Boolean]
Default value: false
Data type: Optional[Integer]
Default value: 0
Data type: Optional[String]
Default value: undef
Data type: Optional[Boolean]
Default value: false
The docker::secrets class.
The following parameters are available in the docker::secrets
defined type.
Data type: Optional[Enum[present,absent]]
Default value: 'present'
Data type: Optional[Variant[String,Array]]
Default value: []
Data type: Optional[String]
Default value: undef
Data type: Optional[String]
Default value: undef
define that managers a Docker services
The following parameters are available in the docker::services
defined type.
Data type: Optional[Enum[present,absent]]
This ensures that the service is present or not.
Default value: 'present'
Data type: Optional[Variant[String,Array]]
The Docker image to spwan the service from.
Default value: undef
Data type: Optional[Boolean]
Exit immediately instead of waiting for the service to converge (default true)
Default value: true
Data type: Optional[Array]
Set environment variables
Default value: []
Data type: Optional[Array]
Service labels. This used as metdata to configure constraints etc.
Default value: []
Data type: Optional[Variant[String,Array]]
Publish port(s) as node ports.
Default value: undef
Data type: Optional[Variant[String,Array]]
Number of tasks (containers per service)
Default value: undef
Data type: Optional[Boolean]
Allocate a pseudo-TTY
Default value: false
Data type: Optional[Variant[String,Array]]
Username or UID (format: <name|uid>[:<group|gid>])
Default value: undef
Data type: Optional[Variant[String,Array]]
Working directory inside the container
Default value: undef
Data type: Optional[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: []
Data type: Optional[Boolean]
This changes the docker command to docker service update, you must pass a service name with this option
Default value: false
Data type: Optional[Boolean]
This changes the docker command to docker service scale, this can only be used with service name and replicas
Default value: false
Data type: Optional[Variant[String,Array]]
This will allow the service to connect to the host linux socket.
Default value: undef
Data type: Optional[Variant[String,Array]]
This will allow the service to set a registry mirror.
Default value: undef
Data type: Optional[Variant[String,Array]]
Allows attaching filesystem mounts to the service (specified as an array)
Default value: undef
Data type: Optional[Array]
Allows attaching the service to networks (specified as an array)
Default value: undef
Data type: Optional[Variant[String,Array]]
Command to run on the container
Default value: undef
Data type: Optional[Boolean]
Default value: true
Data type: Optional[Variant[String,Array]]
Default value: undef
deploys Docker stacks or compose v3
The following parameters are available in the docker::stack
defined type.
Data type: Optional[Enum[present,absent]]
This ensures that the stack is present or not.
Default value: 'present'
Data type: Optional[String]
The name of the stack that you are deploying
Default value: undef
Data type: Optional[String]
Path to a Distributed Application Bundle file Please note this is experimental
Default value: undef
Data type: Optional[Boolean]
Prune services that are no longer referenced
Default value: false
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
Data type: Optional[Boolean]
Send registry authentication details to Swarm agents
Default value: false
Data type: Optional[Array]
Default value: undef
managers a Docker Swarm Mode cluster
The following parameters are available in the docker::swarm
defined type.
Data type: Optional[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'
Data type: Optional[Boolean]
This creates the first worker node for a new cluster. Set init to true to create a new cluster
Default value: false
Data type: Optional[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
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
Data type: Optional[Boolean]
Enable manager autolocking (requiring an unlock key to start a stopped manager)
Default value: false
Data type: Optional[String]
Validity period for node certificates (ns|us|ms|s|m|h) (default 2160h0m0s)
Default value: undef
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
Data type: Optional[String]
Default subnet pools mask length for default-addr-pools (CIDR block number)
Default value: undef
Data type: Optional[String]
Dispatcher heartbeat period (ns|us|ms|s|m|h) (default 5s)
Default value: undef
Data type: Optional[String]
Specifications of one or more certificate signing endpoints
Default value: undef
Data type: Optional[Boolean]
Force create a new cluster from current state
Default value: false
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
Data type: Optional[String]
Number of additional Raft snapshots to retain
Default value: undef
Data type: Optional[String]
Number of log entries between Raft snapshots (default 10000)
Default value: undef
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
Data type: Optional[String]
The ip address of a manager node to join the cluster.
Default value: undef
manage docker group users
The following parameters are available in the docker::system_user
defined type.
Data type: Any
Boolean to cotrol whether the user should be created
Default value: true
Windows account that owns the docker services
A type representing a Docker Compose file
The following properties are available in the docker_compose
type.
Valid values: present
, absent
The basic property that the resource should be in.
Default value: present
The following parameters are available in the docker_compose
type.
An array of Docker Compose Files paths.
namevar
The name of the project
Additional options to be passed directly to docker-compose.
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.
A hash of compose services and number of containers.
Arguments to be passed directly to docker-compose up.
Type representing a Docker network
The following properties are available in the docker_network
type.
The network driver used by the network
Valid values: present
, absent
The basic property that the resource should be in.
Default value: present
The ID of the network provided by Docker
The IPAM (IP Address Management) driver
The following parameters are available in the docker_network
type.
Additional flags for the 'docker network create'
Auxiliary ipv4 or ipv6 addresses used by the Network driver
An ipv4 or ipv6 gateway for the server subnet
The range of IP addresses used by the network
namevar
The name of the network
Additional options for the network driver
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.
The subnet in CIDR format that represents a network segment
A type representing a Docker Stack
The following properties are available in the docker_stack
type.
Valid values: present
, absent
The basic property that the resource should be in.
Default value: present
The following parameters are available in the docker_stack
type.
Path to a Distributed Application Bundle file.
An array of Docker Compose Files paths.
namevar
The name of the stack
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.
Arguments to be passed directly to docker stack deploy.
A type representing a Docker volume
The following properties are available in the docker_volume
type.
The volume driver used by the volume
Valid values: present
, absent
The basic property that the resource should be in.
Default value: present
The location that the volume is mounted to
The following parameters are available in the docker_volume
type.
namevar
The name of the volume
Additional options for the volume driver
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.
Type: Puppet Language
== Function: docker::sanitised_name
Function to sanitise container name.
=== Parameters
[name] Name to sanitise
== Function: docker::sanitised_name
Function to sanitise container name.
=== Parameters
[name] Name to sanitise
Returns: Any
Data type: Any
Type: Ruby 3.x API
Transforms a hash into a string of docker exec flags
Transforms a hash into a string of docker exec flags
Returns: Any
Type: Ruby 3.x API
Checks if at least one parammeter is changed
Checks if at least one parammeter is changed
Returns: Any
Type: Ruby 3.x API
Transforms a hash into a string of docker plugin remove flags
Transforms a hash into a string of docker plugin remove flags
Returns: Any
Type: Ruby 3.x API
Transforms a hash into a string of docker plugin install flags
Transforms a hash into a string of docker plugin install flags
Returns: Any
Type: Ruby 3.x API
Transforms a hash into a string of docker plugin remove flags
Transforms a hash into a string of docker plugin remove flags
Returns: Any
Type: Ruby 3.x API
Transforms a hash into a string of docker flags
Transforms a hash into a string of docker flags
Returns: Any
Type: Ruby 3.x API
Transforms a hash into a string of docker swarm init flags
Transforms a hash into a string of docker swarm init flags
Returns: Any
Type: Ruby 3.x API
Transforms a hash into a string of docker swarm init flags
Transforms a hash into a string of docker swarm init flags
Returns: Any
Type: Ruby 3.x API
Transforms a hash into a string of docker stack flags
Transforms a hash into a string of docker stack flags
Returns: Any
Type: Ruby 3.x API
Transforms a hash into a string of docker swarm init flags
Transforms a hash into a string of docker swarm init flags
Returns: Any
Type: Ruby 3.x API
Transforms a hash into a string of docker swarm init flags
Transforms a hash into a string of docker swarm init flags
Returns: Any
List nodes in the swarm
Supports noop? false
Data type: Optional[String[1]]
Filter output based on conditions provided
Data type: Optional[Boolean]
Only display IDs
Update a node
Supports noop? false
Data type: Optional[Boolean]
Force remove a node from the swarm
Data type: String[1]
Hostname or ID of the node in the swarm
Update a node
Supports noop? false
Data type: Optional[Enum['active', 'pause', 'drain']]
Availability of the node
Data type: Optional[Enum['manager', 'worker']]
Role of the node
Data type: Optional[Array]
Add or update a node label (key=value)
Data type: Optional[Array]
Remove a node label if exists.
Data type: String[1]
ID of the node in the swarm
Create a new Docker service
Supports noop? false
Data type: String[1]
The name of the service to create
Data type: String[1]
The new image to use for the service
Data type: Integer
Number of replicas
Data type: Variant[String,Array,Undef]
Publish service ports externally to the swarm
Data type: Optional[Hash]
Set environment variables
Data type: Variant[String,Array,Undef]
Command to run on the container
Data type: Optional[Array]
Allows you to pass any other flag that the Docker service create supports.
Data type: Optional[Boolean]
Exit immediately instead of waiting for the service to converge
Remove one replicated service
Supports noop? false
Data type: String[1]
Name or ID of the service
Scale one replicated service
Supports noop? false
Data type: String[1]
Name or ID of the service
Data type: Integer
Number of replicas
Data type: Optional[Boolean]
Exit immediately instead of waiting for the service to converge
Updates an existing service.
Supports noop? false
Data type: String[1]
The service to update
Data type: String[1]
The new image to use for the service
Data type: Optional[Array]
Add or update a service constraint (selector==value, selector!=value)
Data type: Optional[Array]
Remove a service constraint if exists.
Initializes a swarm
Supports noop? false
Data type: Optional[String[1]]
Advertised address
Data type: Optional[Boolean]
Enable manager autolocking
Data type: Optional[String[1]]
Validity period for node certificates
Data type: Optional[String[1]]
Dispatcher heartbeat period
Data type: Optional[String[1]]
Specifications of one or more certificate signing endpoints
Data type: Optional[Boolean]
Force create a new cluster from current state
Data type: Optional[String[1]]
Listen address
Data type: Optional[Integer[1]]
Number of additional Raft snapshots to retain
Data type: Optional[Integer[1]]
Number of log entries between Raft snapshots
Join a swarm
Supports noop? false
Data type: Optional[String[1]]
Advertised address
Data type: Optional[String[1]]
Listen address
Data type: String[1]
Join token for the swarm
Data type: String[1]
IP Address of the swarm manager
Leave a swarm
Supports noop? false
Data type: Optional[Boolean]
Force this node to leave the swarm, ignoring warnings
Gets the swarm token from the server
Supports noop? false
Data type: String[1]
The role of the node joining the swarm
Updates an existing service.
Supports noop? false
Data type: String[1]
The service to update
Data type: String[1]
The new image to use for the service