diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9620f9a..0fa5ed4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,428 +1,442 @@
# Change log
All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org).
+## [v4.1.0](https://github.com/puppetlabs/puppetlabs-docker/tree/v4.1.0) (2021-06-28)
+
+[Full Changelog](https://github.com/puppetlabs/puppetlabs-docker/compare/v4.0.1...v4.1.0)
+
+### Added
+
+- Add syslog\_facility parameter to docker::run [\#755](https://github.com/puppetlabs/puppetlabs-docker/pull/755) ([waipeng](https://github.com/waipeng))
+
+### Fixed
+
+- Fix docker::volumes hiera example [\#754](https://github.com/puppetlabs/puppetlabs-docker/pull/754) ([pskopnik](https://github.com/pskopnik))
+- Allow force update non-latest tagged image [\#752](https://github.com/puppetlabs/puppetlabs-docker/pull/752) ([yanjunding](https://github.com/yanjunding))
+- Allow management of the docker-ce-cli package [\#740](https://github.com/puppetlabs/puppetlabs-docker/pull/740) ([kenyon](https://github.com/kenyon))
+
## [v4.0.1](https://github.com/puppetlabs/puppetlabs-docker/tree/v4.0.1) (2021-05-26)
[Full Changelog](https://github.com/puppetlabs/puppetlabs-docker/compare/v4.0.0...v4.0.1)
### Fixed
- \(IAC-1497\) - Removal of unsupported `translate` dependency [\#737](https://github.com/puppetlabs/puppetlabs-docker/pull/737) ([david22swan](https://github.com/david22swan))
- add simple quotes around env service flag [\#706](https://github.com/puppetlabs/puppetlabs-docker/pull/706) ([adrianiurca](https://github.com/adrianiurca))
## [v4.0.0](https://github.com/puppetlabs/puppetlabs-docker/tree/v4.0.0) (2021-03-04)
[Full Changelog](https://github.com/puppetlabs/puppetlabs-docker/compare/v3.14.0...v4.0.0)
### Changed
- pdksync - Remove Puppet 5 from testing and bump minimal version to 6.0.0 [\#718](https://github.com/puppetlabs/puppetlabs-docker/pull/718) ([carabasdaniel](https://github.com/carabasdaniel))
### Fixed
- Make it possible to use pod's network [\#725](https://github.com/puppetlabs/puppetlabs-docker/pull/725) ([seriv](https://github.com/seriv))
## [v3.14.0](https://github.com/puppetlabs/puppetlabs-docker/tree/v3.14.0) (2021-03-04)
[Full Changelog](https://github.com/puppetlabs/puppetlabs-docker/compare/v3.13.1...v3.14.0)
### Fixed
- \[MODULES-10898\] Disable forced docker service restart for RedHat 7 and docker server 1.13 [\#730](https://github.com/puppetlabs/puppetlabs-docker/pull/730) ([carabasdaniel](https://github.com/carabasdaniel))
## [v3.13.1](https://github.com/puppetlabs/puppetlabs-docker/tree/v3.13.1) (2021-02-02)
[Full Changelog](https://github.com/puppetlabs/puppetlabs-docker/compare/v3.13.0...v3.13.1)
### Fixed
- \(IAC-1218\) - docker\_params\_changed should be run by agent [\#705](https://github.com/puppetlabs/puppetlabs-docker/pull/705) ([adrianiurca](https://github.com/adrianiurca))
- Fix systemd units for systemd versions \< v230 [\#704](https://github.com/puppetlabs/puppetlabs-docker/pull/704) ([benningm](https://github.com/benningm))
- setting HOME environment to /root [\#698](https://github.com/puppetlabs/puppetlabs-docker/pull/698) ([adrianiurca](https://github.com/adrianiurca))
## [v3.13.0](https://github.com/puppetlabs/puppetlabs-docker/tree/v3.13.0) (2020-12-14)
[Full Changelog](https://github.com/puppetlabs/puppetlabs-docker/compare/v3.12.1...v3.13.0)
### Added
- pdksync - \(feat\) - Bump Puppet boundary [\#687](https://github.com/puppetlabs/puppetlabs-docker/pull/687) ([daianamezdrea](https://github.com/daianamezdrea))
- Ensure image digest checksum before starting [\#673](https://github.com/puppetlabs/puppetlabs-docker/pull/673) ([tmanninger](https://github.com/tmanninger))
- Support multiple mirrors \#659 [\#669](https://github.com/puppetlabs/puppetlabs-docker/pull/669) ([TheLocehiliosan](https://github.com/TheLocehiliosan))
### Fixed
- Options to docker-compose should be an Array, not a String [\#695](https://github.com/puppetlabs/puppetlabs-docker/pull/695) ([adrianiurca](https://github.com/adrianiurca))
- fixing issue \#689 by setting HOME in docker command [\#692](https://github.com/puppetlabs/puppetlabs-docker/pull/692) ([sdinten](https://github.com/sdinten))
- \(MAINT\) Use docker-compose config instead file parsing [\#672](https://github.com/puppetlabs/puppetlabs-docker/pull/672) ([rbelnap](https://github.com/rbelnap))
- Fix array of additional flags [\#671](https://github.com/puppetlabs/puppetlabs-docker/pull/671) ([CAPSLOCK2000](https://github.com/CAPSLOCK2000))
- Test against OS family rather than name [\#667](https://github.com/puppetlabs/puppetlabs-docker/pull/667) ([bodgit](https://github.com/bodgit))
## [v3.12.1](https://github.com/puppetlabs/puppetlabs-docker/tree/v3.12.1) (2020-10-13)
[Full Changelog](https://github.com/puppetlabs/puppetlabs-docker/compare/v3.12.0...v3.12.1)
### Fixed
- Fix misplaced backslash in start template [\#666](https://github.com/puppetlabs/puppetlabs-docker/pull/666) ([optiz0r](https://github.com/optiz0r))
## [v3.12.0](https://github.com/puppetlabs/puppetlabs-docker/tree/v3.12.0) (2020-09-24)
[Full Changelog](https://github.com/puppetlabs/puppetlabs-docker/compare/v3.11.0...v3.12.0)
### Added
- Add docker swarm join-tokens as facts [\#651](https://github.com/puppetlabs/puppetlabs-docker/pull/651) ([oschusler](https://github.com/oschusler))
### Fixed
- \(IAC-982\) - Remove inappropriate terminology [\#654](https://github.com/puppetlabs/puppetlabs-docker/pull/654) ([david22swan](https://github.com/david22swan))
## [v3.11.0](https://github.com/puppetlabs/puppetlabs-docker/tree/v3.11.0) (2020-08-11)
[Full Changelog](https://github.com/puppetlabs/puppetlabs-docker/compare/v3.10.2...v3.11.0)
### Added
- Fix \#584: Deal with Arrays for the net list [\#647](https://github.com/puppetlabs/puppetlabs-docker/pull/647) ([MG2R](https://github.com/MG2R))
- pdksync - \(IAC-973\) - Update travis/appveyor to run on new default branch main [\#643](https://github.com/puppetlabs/puppetlabs-docker/pull/643) ([david22swan](https://github.com/david22swan))
### Fixed
- \[MODULES-10734\] - improve params detection on docker::run [\#648](https://github.com/puppetlabs/puppetlabs-docker/pull/648) ([adrianiurca](https://github.com/adrianiurca))
## [v3.10.2](https://github.com/puppetlabs/puppetlabs-docker/tree/v3.10.2) (2020-07-16)
[Full Changelog](https://github.com/puppetlabs/puppetlabs-docker/compare/v3.10.1...v3.10.2)
### Fixed
- \(MODULES-10691\) - Add root\_dir in daemon.json [\#632](https://github.com/puppetlabs/puppetlabs-docker/pull/632) ([daianamezdrea](https://github.com/daianamezdrea))
- Fixing the fix 'Fix the docker\_compose options parameter position \#378' [\#631](https://github.com/puppetlabs/puppetlabs-docker/pull/631) ([awegmann](https://github.com/awegmann))
- Blocking ordering between non-Windows service stops [\#622](https://github.com/puppetlabs/puppetlabs-docker/pull/622) ([ALTinners](https://github.com/ALTinners))
- Allow all 3.x docker-compose minor versions [\#620](https://github.com/puppetlabs/puppetlabs-docker/pull/620) ([runejuhl](https://github.com/runejuhl))
## [v3.10.1](https://github.com/puppetlabs/puppetlabs-docker/tree/v3.10.1) (2020-05-27)
[Full Changelog](https://github.com/puppetlabs/puppetlabs-docker/compare/v3.10.0...v3.10.1)
### Fixed
- Fix unreachable StartLimitBurst value in unit template [\#616](https://github.com/puppetlabs/puppetlabs-docker/pull/616) ([omeinderink](https://github.com/omeinderink))
- \(MODULES-9696\) remove docker\_home\_dirs fact [\#613](https://github.com/puppetlabs/puppetlabs-docker/pull/613) ([carabasdaniel](https://github.com/carabasdaniel))
- \[MODULES-10629\] Throw error when docker login fails [\#610](https://github.com/puppetlabs/puppetlabs-docker/pull/610) ([carabasdaniel](https://github.com/carabasdaniel))
- \(maint\) - facts fix for centos [\#608](https://github.com/puppetlabs/puppetlabs-docker/pull/608) ([david22swan](https://github.com/david22swan))
- major adjustments for current code style [\#607](https://github.com/puppetlabs/puppetlabs-docker/pull/607) ([crazymind1337](https://github.com/crazymind1337))
## [v3.10.0](https://github.com/puppetlabs/puppetlabs-docker/tree/v3.10.0) (2020-04-23)
[Full Changelog](https://github.com/puppetlabs/puppetlabs-docker/compare/v3.9.1...v3.10.0)
### Added
- \[IAC-291\] Convert acceptance tests to Litmus [\#585](https://github.com/puppetlabs/puppetlabs-docker/pull/585) ([carabasdaniel](https://github.com/carabasdaniel))
- Updated: Add Docker service \(create, remote, scale\) tasks [\#582](https://github.com/puppetlabs/puppetlabs-docker/pull/582) ([Flask](https://github.com/Flask))
- Add after\_start and after\_stop options to docker::run define [\#580](https://github.com/puppetlabs/puppetlabs-docker/pull/580) ([jantman](https://github.com/jantman))
- Make docker::machine::url configurable [\#569](https://github.com/puppetlabs/puppetlabs-docker/pull/569) ([baurmatt](https://github.com/baurmatt))
- Let docker.service start docker services managed by puppetlabs/docker… [\#563](https://github.com/puppetlabs/puppetlabs-docker/pull/563) ([jhejl](https://github.com/jhejl))
- Allow bypassing curl package ensure if needed [\#477](https://github.com/puppetlabs/puppetlabs-docker/pull/477) ([esalberg](https://github.com/esalberg))
### Fixed
- Enforce TLS1.2 on Windows; minor fixes for RH-based testing [\#603](https://github.com/puppetlabs/puppetlabs-docker/pull/603) ([carabasdaniel](https://github.com/carabasdaniel))
- \[MODULES-10628\] Update documentation for docker volume and set options as parameter [\#599](https://github.com/puppetlabs/puppetlabs-docker/pull/599) ([carabasdaniel](https://github.com/carabasdaniel))
- Allow module to work on SLES [\#591](https://github.com/puppetlabs/puppetlabs-docker/pull/591) ([npwalker](https://github.com/npwalker))
- \(maint\) Fix missing stubs in docker\_spec.rb [\#589](https://github.com/puppetlabs/puppetlabs-docker/pull/589) ([Filipovici-Andrei](https://github.com/Filipovici-Andrei))
- Add Hiera lookups for resources in init.pp [\#586](https://github.com/puppetlabs/puppetlabs-docker/pull/586) ([fe80](https://github.com/fe80))
- Use standardized quote type to help tests pass [\#566](https://github.com/puppetlabs/puppetlabs-docker/pull/566) ([DLeich](https://github.com/DLeich))
- Minimal changes to work with podman-docker [\#562](https://github.com/puppetlabs/puppetlabs-docker/pull/562) ([seriv](https://github.com/seriv))
## [v3.9.1](https://github.com/puppetlabs/puppetlabs-docker/tree/v3.9.1) (2020-01-17)
[Full Changelog](https://github.com/puppetlabs/puppetlabs-docker/compare/v3.9.0...v3.9.1)
### Fixed
- \(maint\) fix dependencies of powershell to 4.0.0 [\#568](https://github.com/puppetlabs/puppetlabs-docker/pull/568) ([sheenaajay](https://github.com/sheenaajay))
## [v3.9.0](https://github.com/puppetlabs/puppetlabs-docker/tree/v3.9.0) (2019-12-09)
[Full Changelog](https://github.com/puppetlabs/puppetlabs-docker/compare/v3.8.0...v3.9.0)
### Added
- Add option for RemainAfterExit [\#549](https://github.com/puppetlabs/puppetlabs-docker/pull/549) ([vdavidoff](https://github.com/vdavidoff))
### Fixed
- Fix error does not show when image:tag does not exists \(\#552\) [\#553](https://github.com/puppetlabs/puppetlabs-docker/pull/553) ([rafaelcarv](https://github.com/rafaelcarv))
- Allow defining the name of the docker-compose symlink [\#544](https://github.com/puppetlabs/puppetlabs-docker/pull/544) ([gtufte](https://github.com/gtufte))
- Clarify usage of docker\_stack type up\_args and fix link to docs [\#537](https://github.com/puppetlabs/puppetlabs-docker/pull/537) ([jacksgt](https://github.com/jacksgt))
- Move StartLimit\* options to \[Unit\], fix StartLimitIntervalSec [\#531](https://github.com/puppetlabs/puppetlabs-docker/pull/531) ([runejuhl](https://github.com/runejuhl))
## [v3.8.0](https://github.com/puppetlabs/puppetlabs-docker/tree/v3.8.0) (2019-10-01)
[Full Changelog](https://github.com/puppetlabs/puppetlabs-docker/compare/v3.7.0-bna...v3.8.0)
### Added
- pdksync - Add support on Debian10 [\#525](https://github.com/puppetlabs/puppetlabs-docker/pull/525) ([lionce](https://github.com/lionce))
- Add new Docker Swarm Tasks \(node ls, rm, update; service scale\) [\#509](https://github.com/puppetlabs/puppetlabs-docker/pull/509) ([khaefeli](https://github.com/khaefeli))
### Fixed
- Fix multiple additional flags for docker\_network [\#523](https://github.com/puppetlabs/puppetlabs-docker/pull/523) ([lemrouch](https://github.com/lemrouch))
- :bug: Fix wrong service detach handling [\#520](https://github.com/puppetlabs/puppetlabs-docker/pull/520) ([khaefeli](https://github.com/khaefeli))
- Fixing error: [\#516](https://github.com/puppetlabs/puppetlabs-docker/pull/516) ([darshannnn](https://github.com/darshannnn))
- Fix aliased plugin names [\#514](https://github.com/puppetlabs/puppetlabs-docker/pull/514) ([koshatul](https://github.com/koshatul))
## [v3.7.0-bna](https://github.com/puppetlabs/puppetlabs-docker/tree/v3.7.0-bna) (2019-08-08)
[Full Changelog](https://github.com/puppetlabs/puppetlabs-docker/compare/e2.6...v3.7.0-bna)
## [e2.6](https://github.com/puppetlabs/puppetlabs-docker/tree/e2.6) (2019-07-26)
[Full Changelog](https://github.com/puppetlabs/puppetlabs-docker/compare/v3.7.0...e2.6)
## [v3.7.0](https://github.com/puppetlabs/puppetlabs-docker/tree/v3.7.0) (2019-07-18)
[Full Changelog](https://github.com/puppetlabs/puppetlabs-docker/compare/v3.6.0...v3.7.0)
### Added
- Added option to override docker-compose download location [\#482](https://github.com/puppetlabs/puppetlabs-docker/pull/482) ([piquet90](https://github.com/piquet90))
## [v3.6.0](https://github.com/puppetlabs/puppetlabs-docker/tree/v3.6.0) (2019-06-25)
[Full Changelog](https://github.com/puppetlabs/puppetlabs-docker/compare/3.5.0...v3.6.0)
### Changed
- \(FM-8100\) Update minimum supported Puppet version to 5.5.10 [\#486](https://github.com/puppetlabs/puppetlabs-docker/pull/486) ([eimlav](https://github.com/eimlav))
### Added
- \(FM-8151\) Add Windows Server 2019 support [\#493](https://github.com/puppetlabs/puppetlabs-docker/pull/493) ([eimlav](https://github.com/eimlav))
- Support for docker machine download and install [\#466](https://github.com/puppetlabs/puppetlabs-docker/pull/466) ([acurus-puppetmaster](https://github.com/acurus-puppetmaster))
- Add service\_provider parameter to docker::run [\#376](https://github.com/puppetlabs/puppetlabs-docker/pull/376) ([iamjamestl](https://github.com/iamjamestl))
### Fixed
- Tasks frozen string [\#499](https://github.com/puppetlabs/puppetlabs-docker/pull/499) ([khaefeli](https://github.com/khaefeli))
- Fix \#239 local\_user permission denied [\#497](https://github.com/puppetlabs/puppetlabs-docker/pull/497) ([thde](https://github.com/thde))
- \(MODULES-9193\) Revert part of MODULES-9177 [\#490](https://github.com/puppetlabs/puppetlabs-docker/pull/490) ([eimlav](https://github.com/eimlav))
- \(MODULES-9177\) Fix version validation regex [\#489](https://github.com/puppetlabs/puppetlabs-docker/pull/489) ([eimlav](https://github.com/eimlav))
- Fix publish flag being erroneously added to docker service commands [\#471](https://github.com/puppetlabs/puppetlabs-docker/pull/471) ([twistedduck](https://github.com/twistedduck))
- Fix container running check to work for windows hosts [\#470](https://github.com/puppetlabs/puppetlabs-docker/pull/470) ([florindragos](https://github.com/florindragos))
- Allow images tagged latest to update on each run [\#468](https://github.com/puppetlabs/puppetlabs-docker/pull/468) ([electrofelix](https://github.com/electrofelix))
- Fix docker::image to not run images [\#465](https://github.com/puppetlabs/puppetlabs-docker/pull/465) ([hugotanure](https://github.com/hugotanure))
# 3.5.0
Changes range for dependent modules
Use multiple networks in docker::run and docker::services
Fixes quotes with docker::services command
Publish multiple ports to docker::services
A full list of issues and PRs associated with this release can be found [here](https://github.com/puppetlabs/puppetlabs-docker/milestone/7?closed=1)
# 3.4.0
Introduces docker_stack type and provider
Fixes frozen string in docker swarm token task
Acceptance testing updates
Allow use of newer translate module
A full list of issues and PRs associated with this release can be found [here](https://github.com/puppetlabs/puppetlabs-docker/milestone/6?closed=1)
# Version 3.3.0
Pins apt repo to 500 to ensure packages are updated
Fixes issue in docker fact failing when docker is not started
Acceptance testing updates
Allows more recent version of the reboot module
A full list of issues and PRs associated with this release can be found [here](https://github.com/puppetlabs/puppetlabs-docker/milestone/5?closed=1)
# Version 3.2.0
Adds in support for Puppet 6
Containers will be restared due to script changes in [PR #367](https://github.com/puppetlabs/puppetlabs-docker/pull/367)
A full list of issues and PRs associated with this release can be found [here](https://github.com/puppetlabs/puppetlabs-docker/milestone/4?closed=1)
# Version 3.1.0
Adding in the following faetures/functionality
- Docker Stack support on Windows.
# Version 3.0.0
Various fixes for github issues
- 206
- 226
- 241
- 280
- 281
- 287
- 289
- 294
- 303
- 312
- 314
Adding in the following features/functionality
-Support for multiple compose files.
A full list of issues and PRs associated with this release can be found [here](https://github.com/puppetlabs/puppetlabs-docker/issues?q=is%3Aissue+milestone%3AV3.0.0+is%3Aclosed)
# Version 2.0.0
Various fixes for github issues
- 193
- 197
- 198
- 203
- 207
- 208
- 209
- 211
- 212
- 213
- 215
- 216
- 217
- 218
- 223
- 224
- 225
- 228
- 229
- 230
- 232
- 234
- 237
- 243
- 245
- 255
- 256
- 259
Adding in the following features/functionality
- Ability to define swarm clusters in Hiera.
- Support docker compose file V2.3.
- Support refresh only flag.
- Support for Docker healthcheck and unhealthy container restart.
- Support for Docker on Windows:
- Add docker ee support for windows server 2016.
- Docker image on Windows.
- Docker run on Windows.
- Docker compose on Windows.
- Docker swarm on Windows.
- Add docker exec functionality for docker on windows.
- Add storage driver for Windows.
A full list of issues and PRs associated with this release can be found [here](https://github.com/puppetlabs/puppetlabs-docker/milestone/2?closed=1)
# Version 1.1.0
Various fixes for Github issues
- 183
- 173
- 173
- 167
- 163
- 161
Adding in the following features/functionality
- IPv6 support
- Define type for docker plugins
A full list of issues and PRs associated with this release can be found [here](https://github.com/puppetlabs/puppetlabs-docker/milestone/1?closed=1)
# Version 1.0.5
Various fixes for Github issues
- 98
- 104
- 115
- 122
- 124
Adding in the following features/functionality
- Removed all unsupported OS related code from module
- Removed EPEL dependency
- Added http support in compose proxy
- Added in rubocop support and i18 gem support
- Type and provider for docker volumes
- Update apt module to latest
- Added in support for a registry mirror
- Facts for docker version and docker info
- Fixes for $pass_hash undef
- Fixed typo in param.pp
- Replaced deprecated stblib functions with data types
# Version 1.0.4
Correcting changelog
# Version 1.0.3
Various fixes for Github issues
- 33
- 68
- 74
- 77
- 84
Adding in the following features/functionality:
- Add tasks to update existing service
- Backwards compatible TMPDIR
- Optional GPG check on repos
- Force pull on image tag 'latest'
- Add support for overlay2.override_kernel_check setting
- Add docker network fact
- Add pw hash for registry login idompodency
- Additional flags for creating a network
- Fixing incorrect repo url for redhat
# Version 1.0.2
Various fixes for Github issues
- 9
- 11
- 15
- 21
Add tasks support for Docker Swarm
# Version 1.0.1
Updated metadata and CHANGELOG
# Version 1.0.0
Forked for garethr/docker v5.3.0
Added support for:
- Docker services within a swarm cluster
- Swarm mode
- Docker secrets
\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
diff --git a/REFERENCE.md b/REFERENCE.md
index 55c0fe0..fc81b3e 100644
--- a/REFERENCE.md
+++ b/REFERENCE.md
@@ -1,4649 +1,4658 @@
# Reference
## Table of Contents
### Classes
* [`docker`](#docker): Module to install an up-to-date version of Docker from package.
* [`docker::compose`](#dockercompose): install Docker Compose using the recommended curl command.
* [`docker::config`](#dockerconfig)
* [`docker::images`](#dockerimages)
* [`docker::install`](#dockerinstall): Module to install an up-to-date version of Docker from a package repository.
Only for Debian, Red Hat and Windows
* [`docker::machine`](#dockermachine): install Docker Machine using the recommended curl command.
* [`docker::networks`](#dockernetworks)
* [`docker::params`](#dockerparams): Default parameter values for the docker module
* [`docker::plugins`](#dockerplugins)
* [`docker::registry_auth`](#dockerregistry_auth)
* [`docker::repos`](#dockerrepos)
* [`docker::run_instance`](#dockerrun_instance)
* [`docker::service`](#dockerservice): manage the docker service daemon
* [`docker::swarms`](#dockerswarms)
* [`docker::systemd_reload`](#dockersystemd_reload): For systems that have systemd
* [`docker::volumes`](#dockervolumes)
### Defined types
* [`docker::exec`](#dockerexec): A define which executes a command inside a container.
* [`docker::image`](#dockerimage): Module to install an up-to-date version of a Docker image
from the registry
* [`docker::plugin`](#dockerplugin): A define that manages a docker plugin
* [`docker::registry`](#dockerregistry): Module to configure private docker registries from which to pull Docker images
* [`docker::run`](#dockerrun): A define which manages a running docker container.
* [`docker::secrets`](#dockersecrets)
* [`docker::services`](#dockerservices): define that managers a Docker services
* [`docker::stack`](#dockerstack): deploys Docker stacks or compose v3
* [`docker::swarm`](#dockerswarm): managers a Docker Swarm Mode cluster
* [`docker::system_user`](#dockersystem_user): manage docker group users
* [`docker::windows_account`](#dockerwindows_account): Windows account that owns the docker services
### Resource types
* [`docker_compose`](#docker_compose): A type representing a Docker Compose file
* [`docker_network`](#docker_network): Type representing a Docker network
* [`docker_stack`](#docker_stack): A type representing a Docker Stack
* [`docker_volume`](#docker_volume): A type representing a Docker volume
### Functions
* [`docker::sanitised_name`](#dockersanitised_name): == Function: docker::sanitised_name Function to sanitise container name. === Parameters [*name*] Name to sanitise
* [`docker_exec_flags`](#docker_exec_flags): Transforms a hash into a string of docker exec flags
* [`docker_params_changed`](#docker_params_changed)
* [`docker_plugin_enable_flags`](#docker_plugin_enable_flags): Transforms a hash into a string of docker plugin remove flags
* [`docker_plugin_install_flags`](#docker_plugin_install_flags): Transforms a hash into a string of docker plugin install flags
* [`docker_plugin_remove_flags`](#docker_plugin_remove_flags): Transforms a hash into a string of docker plugin remove flags
* [`docker_run_flags`](#docker_run_flags): Transforms a hash into a string of docker flags
* [`docker_secrets_flags`](#docker_secrets_flags): Transforms a hash into a string of docker swarm init flags
* [`docker_service_flags`](#docker_service_flags): Transforms a hash into a string of docker swarm init flags
* [`docker_stack_flags`](#docker_stack_flags): Transforms a hash into a string of docker stack flags
* [`docker_swarm_init_flags`](#docker_swarm_init_flags): Transforms a hash into a string of docker swarm init flags
* [`docker_swarm_join_flags`](#docker_swarm_join_flags): Transforms a hash into a string of docker swarm init flags
### Tasks
* [`node_ls`](#node_ls): List nodes in the swarm
* [`node_rm`](#node_rm): Update a node
* [`node_update`](#node_update): Update a node
* [`service_create`](#service_create): Create a new Docker service
* [`service_rm`](#service_rm): Remove one replicated service
* [`service_scale`](#service_scale): Scale one replicated service
* [`service_update`](#service_update): Updates an existing service.
* [`swarm_init`](#swarm_init): Initializes a swarm
* [`swarm_join`](#swarm_join): Join a swarm
* [`swarm_leave`](#swarm_leave): Leave a swarm
* [`swarm_token`](#swarm_token): Gets the swarm token from the server
* [`swarm_update`](#swarm_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`](#version)
* [`ensure`](#ensure)
* [`prerequired_packages`](#prerequired_packages)
* [`dependent_packages`](#dependent_packages)
* [`tcp_bind`](#tcp_bind)
* [`tls_enable`](#tls_enable)
* [`tls_verify`](#tls_verify)
* [`tls_cacert`](#tls_cacert)
* [`tls_cert`](#tls_cert)
* [`tls_key`](#tls_key)
* [`ip_forward`](#ip_forward)
* [`iptables`](#iptables)
* [`ip_masq`](#ip_masq)
* [`icc`](#icc)
* [`bip`](#bip)
* [`mtu`](#mtu)
* [`bridge`](#bridge)
* [`fixed_cidr`](#fixed_cidr)
* [`default_gateway`](#default_gateway)
* [`ipv6`](#ipv6)
* [`ipv6_cidr`](#ipv6_cidr)
* [`default_gateway_ipv6`](#default_gateway_ipv6)
* [`socket_bind`](#socket_bind)
* [`log_level`](#log_level)
* [`log_driver`](#log_driver)
* [`log_opt`](#log_opt)
* [`selinux_enabled`](#selinux_enabled)
* [`use_upstream_package_source`](#use_upstream_package_source)
* [`pin_upstream_package_source`](#pin_upstream_package_source)
* [`apt_source_pin_level`](#apt_source_pin_level)
* [`service_state`](#service_state)
* [`service_enable`](#service_enable)
* [`manage_service`](#manage_service)
* [`root_dir`](#root_dir)
* [`dns`](#dns)
* [`dns_search`](#dns_search)
* [`socket_group`](#socket_group)
* [`extra_parameters`](#extra_parameters)
* [`shell_values`](#shell_values)
* [`proxy`](#proxy)
* [`no_proxy`](#no_proxy)
* [`storage_driver`](#storage_driver)
* [`dm_basesize`](#dm_basesize)
* [`dm_fs`](#dm_fs)
* [`dm_mkfsarg`](#dm_mkfsarg)
* [`dm_mountopt`](#dm_mountopt)
* [`dm_blocksize`](#dm_blocksize)
* [`dm_loopdatasize`](#dm_loopdatasize)
* [`dm_loopmetadatasize`](#dm_loopmetadatasize)
* [`dm_datadev`](#dm_datadev)
* [`dm_metadatadev`](#dm_metadatadev)
* [`dm_thinpooldev`](#dm_thinpooldev)
* [`dm_use_deferred_removal`](#dm_use_deferred_removal)
* [`dm_use_deferred_deletion`](#dm_use_deferred_deletion)
* [`dm_blkdiscard`](#dm_blkdiscard)
* [`dm_override_udev_sync_check`](#dm_override_udev_sync_check)
* [`overlay2_override_kernel_check`](#overlay2_override_kernel_check)
* [`manage_package`](#manage_package)
* [`service_name`](#service_name)
* [`docker_users`](#docker_users)
* [`docker_group`](#docker_group)
* [`daemon_environment_files`](#daemon_environment_files)
* [`repo_opt`](#repo_opt)
* [`storage_devs`](#storage_devs)
* [`storage_vg`](#storage_vg)
* [`storage_root_size`](#storage_root_size)
* [`storage_data_size`](#storage_data_size)
* [`storage_min_data_size`](#storage_min_data_size)
* [`storage_chunk_size`](#storage_chunk_size)
* [`storage_growpart`](#storage_growpart)
* [`storage_auto_extend_pool`](#storage_auto_extend_pool)
* [`storage_pool_autoextend_threshold`](#storage_pool_autoextend_threshold)
* [`storage_pool_autoextend_percent`](#storage_pool_autoextend_percent)
* [`tmp_dir_config`](#tmp_dir_config)
* [`tmp_dir`](#tmp_dir)
* [`registry_mirror`](#registry_mirror)
* [`nuget_package_provider_version`](#nuget_package_provider_version)
* [`docker_msft_provider_version`](#docker_msft_provider_version)
* [`docker_ce_start_command`](#docker_ce_start_command)
* [`docker_ce_package_name`](#docker_ce_package_name)
* [`docker_ce_cli_package_name`](#docker_ce_cli_package_name)
* [`docker_ce_source_location`](#docker_ce_source_location)
* [`docker_ce_key_source`](#docker_ce_key_source)
* [`docker_ce_key_id`](#docker_ce_key_id)
* [`docker_ce_release`](#docker_ce_release)
* [`docker_package_location`](#docker_package_location)
* [`docker_package_key_source`](#docker_package_key_source)
* [`docker_package_key_check_source`](#docker_package_key_check_source)
* [`docker_package_key_id`](#docker_package_key_id)
* [`docker_package_release`](#docker_package_release)
* [`docker_engine_start_command`](#docker_engine_start_command)
* [`docker_engine_package_name`](#docker_engine_package_name)
* [`docker_ce_channel`](#docker_ce_channel)
* [`docker_ee`](#docker_ee)
* [`docker_ee_package_name`](#docker_ee_package_name)
* [`docker_ee_source_location`](#docker_ee_source_location)
* [`docker_ee_key_source`](#docker_ee_key_source)
* [`docker_ee_key_id`](#docker_ee_key_id)
* [`docker_ee_repos`](#docker_ee_repos)
* [`docker_ee_release`](#docker_ee_release)
* [`package_release`](#package_release)
* [`labels`](#labels)
* [`execdriver`](#execdriver)
* [`package_source`](#package_source)
* [`os_lc`](#os_lc)
* [`storage_config`](#storage_config)
* [`storage_config_template`](#storage_config_template)
* [`storage_setup_file`](#storage_setup_file)
* [`service_provider`](#service_provider)
* [`service_config`](#service_config)
* [`service_config_template`](#service_config_template)
* [`service_overrides_template`](#service_overrides_template)
* [`socket_overrides_template`](#socket_overrides_template)
* [`socket_override`](#socket_override)
* [`service_after_override`](#service_after_override)
* [`service_hasstatus`](#service_hasstatus)
* [`service_hasrestart`](#service_hasrestart)
* [`acknowledge_unsupported_os`](#acknowledge_unsupported_os)
* [`have_systemd_v230`](#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.
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`
##### `log_opt`
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-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: `[]`
##### `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`](#ensure)
* [`version`](#version)
* [`install_path`](#install_path)
* [`symlink_name`](#symlink_name)
* [`proxy`](#proxy)
* [`base_url`](#base_url)
* [`raw_url`](#raw_url)
* [`curl_ensure`](#curl_ensure)
##### `ensure`
Data type: `Optional[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: `$docker::params::compose_version`
##### `install_path`
Data type: `Optional[String]`
The path where to install Docker Compose.
Default value: `$docker::params::compose_install_path`
##### `symlink_name`
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`
##### `proxy`
Data type: `Optional[String]`
Proxy to use for downloading Docker Compose.
Default value: ``undef``
##### `base_url`
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`
##### `raw_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``
##### `curl_ensure`
Data type: `Optional[Boolean]`
Whether or not the curl package is ensured by this module.
Default value: `$docker::params::curl_ensure`
### `docker::config`
The docker::config class.
### `docker::images`
The docker::images class.
#### Parameters
The following parameters are available in the `docker::images` class:
* [`images`](#images)
##### `images`
Data type: `Any`
### `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`](#version)
* [`nuget_package_provider_version`](#nuget_package_provider_version)
* [`docker_msft_provider_version`](#docker_msft_provider_version)
* [`docker_ee_package_name`](#docker_ee_package_name)
* [`docker_download_url`](#docker_download_url)
* [`dependent_packages`](#dependent_packages)
##### `version`
Data type: `Any`
The package version to install, used to set the package name.
Default value: `$docker::version`
##### `nuget_package_provider_version`
Data type: `Any`
The version of the NuGet Package provider
Default value: `$docker::nuget_package_provider_version`
##### `docker_msft_provider_version`
Data type: `Any`
The version of the Microsoft Docker Provider Module
Default value: `$docker::docker_msft_provider_version`
##### `docker_ee_package_name`
Data type: `Any`
The name of the Docker Enterprise Edition package
Default value: `$docker::docker_ee_package_name`
##### `docker_download_url`
Data type: `Any`
Default value: `$docker::package_location`
##### `dependent_packages`
Data type: `Any`
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`](#ensure)
* [`version`](#version)
* [`install_path`](#install_path)
* [`proxy`](#proxy)
* [`url`](#url)
* [`curl_ensure`](#curl_ensure)
##### `ensure`
Data type: `Optional[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[String]`
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`](#networks)
##### `networks`
Data type: `Any`
### `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`](#plugins)
##### `plugins`
Data type: `Any`
### `docker::registry_auth`
The docker::registry_auth class.
#### Parameters
The following parameters are available in the `docker::registry_auth` class:
* [`registries`](#registries)
##### `registries`
Data type: `Any`
### `docker::repos`
The docker::repos class.
#### Parameters
The following parameters are available in the `docker::repos` class:
* [`location`](#location)
* [`key_source`](#key_source)
* [`key_check_source`](#key_check_source)
* [`architecture`](#architecture)
##### `location`
Data type: `Any`
Default value: `$docker::package_location`
##### `key_source`
Data type: `Any`
Default value: `$docker::package_key_source`
##### `key_check_source`
Data type: `Any`
Default value: `$docker::package_key_check_source`
##### `architecture`
Data type: `Any`
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`](#instance)
##### `instance`
Data type: `Any`
### `docker::service`
manage the docker service daemon
#### Parameters
The following parameters are available in the `docker::service` class:
* [`tcp_bind`](#tcp_bind)
* [`ip_forward`](#ip_forward)
* [`iptables`](#iptables)
* [`ip_masq`](#ip_masq)
* [`socket_bind`](#socket_bind)
* [`socket_group`](#socket_group)
* [`root_dir`](#root_dir)
* [`extra_parameters`](#extra_parameters)
* [`shell_values`](#shell_values)
* [`manage_service`](#manage_service)
* [`docker_command`](#docker_command)
* [`docker_start_command`](#docker_start_command)
* [`service_name`](#service_name)
* [`icc`](#icc)
* [`bridge`](#bridge)
* [`fixed_cidr`](#fixed_cidr)
* [`default_gateway`](#default_gateway)
* [`ipv6`](#ipv6)
* [`ipv6_cidr`](#ipv6_cidr)
* [`default_gateway_ipv6`](#default_gateway_ipv6)
* [`log_level`](#log_level)
* [`log_driver`](#log_driver)
* [`log_opt`](#log_opt)
* [`selinux_enabled`](#selinux_enabled)
* [`labels`](#labels)
* [`dns`](#dns)
* [`dns_search`](#dns_search)
* [`service_state`](#service_state)
* [`service_enable`](#service_enable)
* [`proxy`](#proxy)
* [`no_proxy`](#no_proxy)
* [`execdriver`](#execdriver)
* [`bip`](#bip)
* [`mtu`](#mtu)
* [`storage_driver`](#storage_driver)
* [`dm_basesize`](#dm_basesize)
* [`dm_fs`](#dm_fs)
* [`dm_mkfsarg`](#dm_mkfsarg)
* [`dm_mountopt`](#dm_mountopt)
* [`dm_blocksize`](#dm_blocksize)
* [`dm_loopdatasize`](#dm_loopdatasize)
* [`dm_loopmetadatasize`](#dm_loopmetadatasize)
* [`dm_datadev`](#dm_datadev)
* [`dm_metadatadev`](#dm_metadatadev)
* [`tmp_dir_config`](#tmp_dir_config)
* [`tmp_dir`](#tmp_dir)
* [`dm_thinpooldev`](#dm_thinpooldev)
* [`dm_use_deferred_removal`](#dm_use_deferred_removal)
* [`dm_use_deferred_deletion`](#dm_use_deferred_deletion)
* [`dm_blkdiscard`](#dm_blkdiscard)
* [`dm_override_udev_sync_check`](#dm_override_udev_sync_check)
* [`overlay2_override_kernel_check`](#overlay2_override_kernel_check)
* [`storage_devs`](#storage_devs)
* [`storage_vg`](#storage_vg)
* [`storage_root_size`](#storage_root_size)
* [`storage_data_size`](#storage_data_size)
* [`storage_min_data_size`](#storage_min_data_size)
* [`storage_chunk_size`](#storage_chunk_size)
* [`storage_growpart`](#storage_growpart)
* [`storage_auto_extend_pool`](#storage_auto_extend_pool)
* [`storage_pool_autoextend_threshold`](#storage_pool_autoextend_threshold)
* [`storage_pool_autoextend_percent`](#storage_pool_autoextend_percent)
* [`storage_config`](#storage_config)
* [`storage_config_template`](#storage_config_template)
* [`storage_setup_file`](#storage_setup_file)
* [`service_provider`](#service_provider)
* [`service_config`](#service_config)
* [`service_config_template`](#service_config_template)
* [`service_overrides_template`](#service_overrides_template)
* [`socket_overrides_template`](#socket_overrides_template)
* [`socket_override`](#socket_override)
* [`service_after_override`](#service_after_override)
* [`service_hasstatus`](#service_hasstatus)
* [`service_hasrestart`](#service_hasrestart)
* [`daemon_environment_files`](#daemon_environment_files)
* [`tls_enable`](#tls_enable)
* [`tls_verify`](#tls_verify)
* [`tls_cacert`](#tls_cacert)
* [`tls_cert`](#tls_cert)
* [`tls_key`](#tls_key)
* [`registry_mirror`](#registry_mirror)
* [`root_dir_flag`](#root_dir_flag)
##### `tcp_bind`
Data type: `Any`
Which tcp port, if any, to bind the docker service to.
Default value: `$docker::tcp_bind`
##### `ip_forward`
Data type: `Any`
This flag interacts with the IP forwarding setting on
your host system's kernel
Default value: `$docker::ip_forward`
##### `iptables`
Data type: `Any`
Enable Docker's addition of iptables rules
Default value: `$docker::iptables`
##### `ip_masq`
Data type: `Any`
Enable IP masquerading for bridge's IP range.
Default value: `$docker::ip_masq`
##### `socket_bind`
Data type: `Any`
Which local unix socket to bind the docker service to.
Default value: `$docker::socket_bind`
##### `socket_group`
Data type: `Any`
Which local unix socket to bind the docker service to.
Default value: `$docker::socket_group`
##### `root_dir`
Data type: `Any`
Specify a non-standard root directory for docker.
Default value: `$docker::root_dir`
##### `extra_parameters`
Data type: `Any`
Plain additional parameters to pass to the docker daemon
Default value: `$docker::extra_parameters`
##### `shell_values`
Data type: `Any`
Array of shell values to pass into init script config files
Default value: `$docker::shell_values`
##### `manage_service`
Data type: `Any`
Specify whether the service should be managed.
Valid values are 'true', 'false'.
Defaults to 'true'.
Default value: `$docker::manage_service`
##### `docker_command`
Data type: `Any`
Default value: `$docker::docker_command`
##### `docker_start_command`
Data type: `Any`
Default value: `$docker::docker_start_command`
##### `service_name`
Data type: `Any`
Default value: `$docker::service_name`
##### `icc`
Data type: `Any`
Default value: `$docker::icc`
##### `bridge`
Data type: `Any`
Default value: `$docker::bridge`
##### `fixed_cidr`
Data type: `Any`
Default value: `$docker::fixed_cidr`
##### `default_gateway`
Data type: `Any`
Default value: `$docker::default_gateway`
##### `ipv6`
Data type: `Any`
Default value: `$docker::ipv6`
##### `ipv6_cidr`
Data type: `Any`
Default value: `$docker::ipv6_cidr`
##### `default_gateway_ipv6`
Data type: `Any`
Default value: `$docker::default_gateway_ipv6`
##### `log_level`
Data type: `Any`
Default value: `$docker::log_level`
##### `log_driver`
Data type: `Any`
Default value: `$docker::log_driver`
##### `log_opt`
Data type: `Any`
Default value: `$docker::log_opt`
##### `selinux_enabled`
Data type: `Any`
Default value: `$docker::selinux_enabled`
##### `labels`
Data type: `Any`
Default value: `$docker::labels`
##### `dns`
Data type: `Any`
Default value: `$docker::dns`
##### `dns_search`
Data type: `Any`
Default value: `$docker::dns_search`
##### `service_state`
Data type: `Any`
Default value: `$docker::service_state`
##### `service_enable`
Data type: `Any`
Default value: `$docker::service_enable`
##### `proxy`
Data type: `Any`
Default value: `$docker::proxy`
##### `no_proxy`
Data type: `Any`
Default value: `$docker::no_proxy`
##### `execdriver`
Data type: `Any`
Default value: `$docker::execdriver`
##### `bip`
Data type: `Any`
Default value: `$docker::bip`
##### `mtu`
Data type: `Any`
Default value: `$docker::mtu`
##### `storage_driver`
Data type: `Any`
Default value: `$docker::storage_driver`
##### `dm_basesize`
Data type: `Any`
Default value: `$docker::dm_basesize`
##### `dm_fs`
Data type: `Any`
Default value: `$docker::dm_fs`
##### `dm_mkfsarg`
Data type: `Any`
Default value: `$docker::dm_mkfsarg`
##### `dm_mountopt`
Data type: `Any`
Default value: `$docker::dm_mountopt`
##### `dm_blocksize`
Data type: `Any`
Default value: `$docker::dm_blocksize`
##### `dm_loopdatasize`
Data type: `Any`
Default value: `$docker::dm_loopdatasize`
##### `dm_loopmetadatasize`
Data type: `Any`
Default value: `$docker::dm_loopmetadatasize`
##### `dm_datadev`
Data type: `Any`
Default value: `$docker::dm_datadev`
##### `dm_metadatadev`
Data type: `Any`
Default value: `$docker::dm_metadatadev`
##### `tmp_dir_config`
Data type: `Any`
Default value: `$docker::tmp_dir_config`
##### `tmp_dir`
Data type: `Any`
Default value: `$docker::tmp_dir`
##### `dm_thinpooldev`
Data type: `Any`
Default value: `$docker::dm_thinpooldev`
##### `dm_use_deferred_removal`
Data type: `Any`
Default value: `$docker::dm_use_deferred_removal`
##### `dm_use_deferred_deletion`
Data type: `Any`
Default value: `$docker::dm_use_deferred_deletion`
##### `dm_blkdiscard`
Data type: `Any`
Default value: `$docker::dm_blkdiscard`
##### `dm_override_udev_sync_check`
Data type: `Any`
Default value: `$docker::dm_override_udev_sync_check`
##### `overlay2_override_kernel_check`
Data type: `Any`
Default value: `$docker::overlay2_override_kernel_check`
##### `storage_devs`
Data type: `Any`
Default value: `$docker::storage_devs`
##### `storage_vg`
Data type: `Any`
Default value: `$docker::storage_vg`
##### `storage_root_size`
Data type: `Any`
Default value: `$docker::storage_root_size`
##### `storage_data_size`
Data type: `Any`
Default value: `$docker::storage_data_size`
##### `storage_min_data_size`
Data type: `Any`
Default value: `$docker::storage_min_data_size`
##### `storage_chunk_size`
Data type: `Any`
Default value: `$docker::storage_chunk_size`
##### `storage_growpart`
Data type: `Any`
Default value: `$docker::storage_growpart`
##### `storage_auto_extend_pool`
Data type: `Any`
Default value: `$docker::storage_auto_extend_pool`
##### `storage_pool_autoextend_threshold`
Data type: `Any`
Default value: `$docker::storage_pool_autoextend_threshold`
##### `storage_pool_autoextend_percent`
Data type: `Any`
Default value: `$docker::storage_pool_autoextend_percent`
##### `storage_config`
Data type: `Any`
Default value: `$docker::storage_config`
##### `storage_config_template`
Data type: `Any`
Default value: `$docker::storage_config_template`
##### `storage_setup_file`
Data type: `Any`
Default value: `$docker::storage_setup_file`
##### `service_provider`
Data type: `Any`
Default value: `$docker::service_provider`
##### `service_config`
Data type: `Any`
Default value: `$docker::service_config`
##### `service_config_template`
Data type: `Any`
Default value: `$docker::service_config_template`
##### `service_overrides_template`
Data type: `Any`
Default value: `$docker::service_overrides_template`
##### `socket_overrides_template`
Data type: `Any`
Default value: `$docker::socket_overrides_template`
##### `socket_override`
Data type: `Any`
Default value: `$docker::socket_override`
##### `service_after_override`
Data type: `Any`
Default value: `$docker::service_after_override`
##### `service_hasstatus`
Data type: `Any`
Default value: `$docker::service_hasstatus`
##### `service_hasrestart`
Data type: `Any`
Default value: `$docker::service_hasrestart`
##### `daemon_environment_files`
Data type: `Any`
Default value: `$docker::daemon_environment_files`
##### `tls_enable`
Data type: `Any`
Default value: `$docker::tls_enable`
##### `tls_verify`
Data type: `Any`
Default value: `$docker::tls_verify`
##### `tls_cacert`
Data type: `Any`
Default value: `$docker::tls_cacert`
##### `tls_cert`
Data type: `Any`
Default value: `$docker::tls_cert`
##### `tls_key`
Data type: `Any`
Default value: `$docker::tls_key`
##### `registry_mirror`
Data type: `Any`
Default value: `$docker::registry_mirror`
##### `root_dir_flag`
Data type: `Any`
Default value: `$docker::root_dir_flag`
### `docker::swarms`
The docker::swarms class.
#### Parameters
The following parameters are available in the `docker::swarms` class:
* [`swarms`](#swarms)
##### `swarms`
Data type: `Any`
### `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`](#volumes)
##### `volumes`
Data type: `Any`
## 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`](#detach)
* [`interactive`](#interactive)
* [`env`](#env)
* [`tty`](#tty)
* [`container`](#container)
* [`command`](#command)
* [`unless`](#unless)
* [`sanitise_name`](#sanitise_name)
* [`refreshonly`](#refreshonly)
* [`onlyif`](#onlyif)
##### `detach`
Data type: `Optional[Boolean]`
Default value: ``false``
##### `interactive`
Data type: `Optional[Boolean]`
Default value: ``false``
##### `env`
Data type: `Optional[Array]`
Default value: `[]`
##### `tty`
Data type: `Optional[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: `Optional[Boolean]`
Default value: ``true``
##### `refreshonly`
Data type: `Optional[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`](#ensure)
* [`image`](#image)
* [`image_tag`](#image_tag)
* [`image_digest`](#image_digest)
* [`docker_file`](#docker_file)
* [`docker_tar`](#docker_tar)
* [`force`](#force)
* [`docker_dir`](#docker_dir)
##### `ensure`
Data type: `Optional[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: `Optional[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`](#plugin_name)
* [`plugin_name`](#plugin_name)
* [`enabled`](#enabled)
* [`timeout`](#timeout)
* [`plugin_alias`](#plugin_alias)
* [`disable_on_install`](#disable_on_install)
* [`disable_content_trust`](#disable_content_trust)
* [`grant_all_permissions`](#grant_all_permissions)
* [`force_remove`](#force_remove)
* [`settings`](#settings)
* [`ensure`](#ensure)
* [`grant_all_permissions`](#grant_all_permissions)
##### `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`
##### `plugin_name`
The name of the docker plugin
Default value: `$title`
##### `enabled`
Data type: `Optional[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: `Optional[Boolean]`
Alters the default behaviour of enabling a plugin upon install
Default value: ``false``
##### `disable_content_trust`
Data type: `Optional[Boolean]`
Skip image verification
Default value: ``true``
##### `grant_all_permissions`
Data type: `Optional[Boolean]`
Grant all permissions necessary to run the plugin
Default value: ``true``
##### `force_remove`
Data type: `Optional[Boolean]`
Force the removal of an active plugin
Default value: ``true``
##### `settings`
Data type: `Optional[Array]`
Any additional settings to pass to the plugin during install
Default value: `[]`
##### `ensure`
Data type: `Optional[Enum[present,absent]]`
Default value: `'present'`
##### `grant_all_permissions`
Default value: ``true``
### `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`](#server)
* [`ensure`](#ensure)
* [`username`](#username)
* [`password`](#password)
* [`pass_hash`](#pass_hash)
* [`email`](#email)
* [`local_user`](#local_user)
* [`local_user_home`](#local_user_home)
* [`receipt`](#receipt)
* [`version`](#version)
##### `server`
Data type: `Optional[String]`
The hostname and port of the private Docker registry. Ex: dockerreg:5000
Default value: `$title`
##### `ensure`
Data type: `Optional[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: `Optional[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: `Optional[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`](#restart)
* [`verify_digest`](#verify_digest)
* [`service_prefix`](#service_prefix)
* [`restart_service`](#restart_service)
* [`restart_service_on_docker_refresh`](#restart_service_on_docker_refresh)
* [`manage_service`](#manage_service)
* [`docker_service`](#docker_service)
* [`health_check_cmd`](#health_check_cmd)
* [`health_check_interval`](#health_check_interval)
* [`restart_on_unhealthy`](#restart_on_unhealthy)
* [`net`](#net)
* [`extra_parameters`](#extra_parameters)
* [`systemd_restart`](#systemd_restart)
* [`custom_unless`](#custom_unless)
* [`after_create`](#after_create)
* [`remain_after_exit`](#remain_after_exit)
* [`prepare_service_only`](#prepare_service_only)
* [`image`](#image)
* [`ensure`](#ensure)
* [`command`](#command)
* [`memory_limit`](#memory_limit)
* [`cpuset`](#cpuset)
* [`ports`](#ports)
* [`labels`](#labels)
* [`expose`](#expose)
* [`volumes`](#volumes)
* [`links`](#links)
* [`use_name`](#use_name)
* [`running`](#running)
* [`volumes_from`](#volumes_from)
* [`username`](#username)
* [`hostname`](#hostname)
* [`env`](#env)
* [`env_file`](#env_file)
* [`dns`](#dns)
* [`dns_search`](#dns_search)
* [`lxc_conf`](#lxc_conf)
* [`service_provider`](#service_provider)
* [`disable_network`](#disable_network)
* [`privileged`](#privileged)
* [`detach`](#detach)
* [`extra_systemd_parameters`](#extra_systemd_parameters)
* [`pull_on_start`](#pull_on_start)
* [`after`](#after)
* [`after_service`](#after_service)
* [`depends`](#depends)
* [`depend_services`](#depend_services)
* [`tty`](#tty)
* [`socket_connect`](#socket_connect)
* [`hostentries`](#hostentries)
* [`before_start`](#before_start)
* [`before_stop`](#before_stop)
* [`after_start`](#after_start)
* [`after_stop`](#after_stop)
* [`remove_container_on_start`](#remove_container_on_start)
* [`remove_container_on_stop`](#remove_container_on_stop)
* [`remove_volume_on_start`](#remove_volume_on_start)
* [`remove_volume_on_stop`](#remove_volume_on_stop)
* [`stop_wait_time`](#stop_wait_time)
* [`syslog_identifier`](#syslog_identifier)
+* [`syslog_facility`](#syslog_facility)
* [`read_only`](#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: `Optional[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: `Optional[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: `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``
##### `manage_service`
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``
##### `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: `Optional[Boolean]`
Default value: ``false``
##### `net`
Data type: `Variant[String,Array,Undef]`
Default value: ``undef``
##### `extra_parameters`
Data type: `Optional[Variant[String,Array[String]]]`
Default value: ``undef``
##### `systemd_restart`
Data type: `Optional[String]`
Default value: `'on-failure'`
##### `custom_unless`
Data type: `Optional[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: `Optional[Boolean]`
Default value: ``false``
##### `image`
Data type: `Optional[Pattern[/^[\S]*$/]]`
##### `ensure`
Data type: `Optional[Enum[present,absent]]`
Default value: `'present'`
##### `command`
Data type: `Optional[String]`
Default value: ``undef``
##### `memory_limit`
Data type: `Optional[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: `Optional[Boolean]`
Default value: ``false``
##### `running`
Data type: `Optional[Boolean]`
Default value: ``true``
##### `volumes_from`
Data type: `Optional[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: `Optional[Variant[String,Array]]`
Default value: `[]`
##### `env_file`
Data type: `Optional[Variant[String,Array]]`
Default value: `[]`
##### `dns`
Data type: `Optional[Variant[String,Array]]`
Default value: `[]`
##### `dns_search`
Data type: `Optional[Variant[String,Array]]`
Default value: `[]`
##### `lxc_conf`
Data type: `Optional[Variant[String,Array]]`
Default value: `[]`
##### `service_provider`
Data type: `Optional[String]`
Default value: ``undef``
##### `disable_network`
Data type: `Optional[Boolean]`
Default value: ``false``
##### `privileged`
Data type: `Optional[Boolean]`
Default value: ``false``
##### `detach`
Data type: `Optional[Boolean]`
Default value: ``undef``
##### `extra_systemd_parameters`
Data type: `Optional[Variant[String,Hash]]`
Default value: `{}`
##### `pull_on_start`
Data type: `Optional[Boolean]`
Default value: ``false``
##### `after`
Data type: `Optional[Variant[String,Array]]`
Default value: `[]`
##### `after_service`
Data type: `Optional[Variant[String,Array]]`
Default value: `[]`
##### `depends`
Data type: `Optional[Variant[String,Array]]`
Default value: `[]`
##### `depend_services`
Data type: `Optional[Variant[String,Array]]`
Default value: `['docker.service']`
##### `tty`
Data type: `Optional[Boolean]`
Default value: ``false``
##### `socket_connect`
Data type: `Optional[Variant[String,Array]]`
Default value: `[]`
##### `hostentries`
Data type: `Optional[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: `Optional[Boolean]`
Default value: ``true``
##### `remove_container_on_stop`
Data type: `Optional[Boolean]`
Default value: ``true``
##### `remove_volume_on_start`
Data type: `Optional[Boolean]`
Default value: ``false``
##### `remove_volume_on_stop`
Data type: `Optional[Boolean]`
Default value: ``false``
##### `stop_wait_time`
Data type: `Optional[Integer]`
Default value: `0`
##### `syslog_identifier`
Data type: `Optional[String]`
+Default value: ``undef``
+
+##### `syslog_facility`
+
+Data type: `Optional[String]`
+
+
+
Default value: ``undef``
##### `read_only`
Data type: `Optional[Boolean]`
Default value: ``false``
### `docker::secrets`
The docker::secrets class.
#### Parameters
The following parameters are available in the `docker::secrets` defined type:
* [`ensure`](#ensure)
* [`label`](#label)
* [`secret_name`](#secret_name)
* [`secret_path`](#secret_path)
##### `ensure`
Data type: `Optional[Enum[present,absent]]`
Default value: `'present'`
##### `label`
Data type: `Optional[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`](#ensure)
* [`image`](#image)
* [`detach`](#detach)
* [`env`](#env)
* [`label`](#label)
* [`publish`](#publish)
* [`replicas`](#replicas)
* [`tty`](#tty)
* [`user`](#user)
* [`workdir`](#workdir)
* [`extra_params`](#extra_params)
* [`update`](#update)
* [`scale`](#scale)
* [`host_socket`](#host_socket)
* [`registry_mirror`](#registry_mirror)
* [`mounts`](#mounts)
* [`networks`](#networks)
* [`command`](#command)
* [`create`](#create)
* [`service_name`](#service_name)
##### `ensure`
Data type: `Optional[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: `Optional[Boolean]`
Exit immediately instead of waiting for the service to converge (default true)
Default value: ``true``
##### `env`
Data type: `Optional[Array]`
Set environment variables
Default value: `[]`
##### `label`
Data type: `Optional[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: `Optional[Boolean]`
Allocate a pseudo-TTY
Default value: ``false``
##### `user`
Data type: `Optional[Variant[String,Array]]`
Username or UID (format: [:])
Default value: ``undef``
##### `workdir`
Data type: `Optional[Variant[String,Array]]`
Working directory inside the container
Default value: ``undef``
##### `extra_params`
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: `[]`
##### `update`
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``
##### `scale`
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``
##### `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: `Optional[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`](#ensure)
* [`stack_name`](#stack_name)
* [`bundle_file`](#bundle_file)
* [`prune`](#prune)
* [`resolve_image`](#resolve_image)
* [`with_registry_auth`](#with_registry_auth)
* [`compose_files`](#compose_files)
##### `ensure`
Data type: `Optional[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: `Optional[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: `Optional[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`](#ensure)
* [`init`](#init)
* [`join`](#join)
* [`advertise_addr`](#advertise_addr)
* [`autolock`](#autolock)
* [`cert_expiry`](#cert_expiry)
* [`default_addr_pool`](#default_addr_pool)
* [`default_addr_pool_mask_length`](#default_addr_pool_mask_length)
* [`dispatcher_heartbeat`](#dispatcher_heartbeat)
* [`external_ca`](#external_ca)
* [`force_new_cluster`](#force_new_cluster)
* [`listen_addr`](#listen_addr)
* [`max_snapshots`](#max_snapshots)
* [`snapshot_interval`](#snapshot_interval)
* [`token`](#token)
* [`manager_ip`](#manager_ip)
##### `ensure`
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'`
##### `init`
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``
##### `join`
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``
##### `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: `Optional[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: `Optional[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`](#create_user)
##### `create_user`
Data type: `Any`
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`](#compose_files)
* [`name`](#name)
* [`options`](#options)
* [`provider`](#provider)
* [`scale`](#scale)
* [`up_args`](#up_args)
##### `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.
##### `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)
* [`aux_address`](#aux_address)
* [`gateway`](#gateway)
* [`ip_range`](#ip_range)
* [`name`](#name)
* [`options`](#options)
* [`provider`](#provider)
* [`subnet`](#subnet)
##### `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`](#bundle_file)
* [`compose_files`](#compose_files)
* [`name`](#name)
* [`provider`](#provider)
* [`up_args`](#up_args)
##### `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`](#name)
* [`options`](#options)
* [`provider`](#provider)
##### `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::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
diff --git a/metadata.json b/metadata.json
index da0047b..3b91cee 100644
--- a/metadata.json
+++ b/metadata.json
@@ -1,69 +1,69 @@
{
"name": "puppetlabs-docker",
- "version": "4.0.1",
+ "version": "4.1.0",
"author": "puppetlabs",
"summary": "Module for installing and managing docker",
"license": "Apache-2.0",
"source": "git://github.com/puppetlabs/puppetlabs-docker",
"project_page": "https://github.com/puppetlabs/puppetlabs-docker",
"issues_url": "https://github.com/puppetlabs/puppetlabs-docker/issues",
"dependencies": [
{
"name": "puppetlabs/stdlib",
"version_requirement": ">= 4.24.0 < 8.0.0"
},
{
"name": "puppetlabs/apt",
"version_requirement": ">= 4.4.1 < 9.0.0"
},
{
"name": "puppetlabs/powershell",
"version_requirement": ">= 2.1.4 < 6.0.0"
},
{
"name": "puppetlabs/reboot",
"version_requirement": ">=2.0.0 < 5.0.0"
}
],
"operatingsystem_support": [
{
"operatingsystem": "CentOS",
"operatingsystemrelease": [
"7"
]
},
{
"operatingsystem": "Ubuntu",
"operatingsystemrelease": [
"14.04",
"16.04",
"18.04",
"20.04"
]
},
{
"operatingsystem": "Debian",
"operatingsystemrelease": [
"8",
"9",
"10"
]
},
{
"operatingsystem": "Windows",
"operatingsystemrelease": [
"2016",
"2019"
]
}
],
"requirements": [
{
"name": "puppet",
"version_requirement": ">= 6.0.0 < 8.0.0"
}
],
"pdk-version": "2.1.0",
"template-url": "https://github.com/puppetlabs/pdk-templates.git#main",
"template-ref": "heads/main-0-g03daa92"
}