From 37ef193af7f46f0052d5a569b1ea23df58755fc1 Mon Sep 17 00:00:00 2001 From: felixfontein Date: Sat, 13 Jan 2024 11:47:09 +0000 Subject: [PATCH] deploy: 8ca5e2f810613391b7e824d4ffa4d13c0f2b7439 --- pr/698/docker_api_connection.html | 11 +- pr/698/docker_compose_module.html | 6 +- pr/698/docker_compose_v2_module.html | 67 +++++---- pr/698/docker_config_module.html | 6 +- pr/698/docker_container_copy_into_module.html | 6 +- pr/698/docker_container_exec_module.html | 6 +- pr/698/docker_container_info_module.html | 6 +- pr/698/docker_container_module.html | 6 +- pr/698/docker_containers_inventory.html | 8 +- pr/698/docker_host_info_module.html | 6 +- pr/698/docker_image_build_module.html | 6 +- pr/698/docker_image_info_module.html | 6 +- pr/698/docker_image_load_module.html | 6 +- pr/698/docker_image_module.html | 6 +- pr/698/docker_image_pull_module.html | 6 +- pr/698/docker_image_push_module.html | 6 +- pr/698/docker_image_remove_module.html | 6 +- pr/698/docker_image_tag_module.html | 6 +- pr/698/docker_login_module.html | 6 +- pr/698/docker_network_info_module.html | 6 +- pr/698/docker_network_module.html | 6 +- pr/698/docker_node_info_module.html | 6 +- pr/698/docker_node_module.html | 6 +- pr/698/docker_plugin_module.html | 6 +- pr/698/docker_prune_module.html | 6 +- pr/698/docker_secret_module.html | 6 +- pr/698/docker_swarm_info_module.html | 6 +- pr/698/docker_swarm_inventory.html | 8 +- pr/698/docker_swarm_module.html | 24 ++-- pr/698/docker_swarm_service_info_module.html | 6 +- pr/698/docker_swarm_service_module.html | 6 +- pr/698/docker_volume_info_module.html | 6 +- pr/698/docker_volume_module.html | 6 +- pr/698/docsite/scenario_guide.html | 127 +++++++++++++----- pr/698/objects.inv | Bin 17946 -> 18236 bytes pr/698/searchindex.js | 2 +- 36 files changed, 283 insertions(+), 132 deletions(-) diff --git a/pr/698/docker_api_connection.html b/pr/698/docker_api_connection.html index 67097fa6..1f2ffb9b 100644 --- a/pr/698/docker_api_connection.html +++ b/pr/698/docker_api_connection.html @@ -228,17 +228,22 @@ see
+
-

ca_cert

-

aliases: tls_ca_cert, cacert_path

+

ca_path

+

aliases: ca_cert, tls_ca_cert, cacert_path

path

Use a CA certificate when performing server verification by providing the path to a CA certificate file.

If the value is not specified in the task and the environment variable DOCKER_CERT_PATH is set, the file ca.pem from the directory specified in the environment variable DOCKER_CERT_PATH will be used.

+

This option was called ca_cert and got renamed to ca_path in community.docker 3.6.0. The old name has been added as an alias and can still be used.

Configuration:

-
diff --git a/pr/698/docker_compose_module.html b/pr/698/docker_compose_module.html index 2e367d79..55ab0036 100644 --- a/pr/698/docker_compose_module.html +++ b/pr/698/docker_compose_module.html @@ -250,14 +250,16 @@ see
+
-

ca_cert

-

aliases: tls_ca_cert, cacert_path

+

ca_path

+

aliases: ca_cert, tls_ca_cert, cacert_path

path

Use a CA certificate when performing server verification by providing the path to a CA certificate file.

If the value is not specified in the task and the environment variable DOCKER_CERT_PATH is set, the file ca.pem from the directory specified in the environment variable DOCKER_CERT_PATH will be used.

+

This option was called ca_cert and got renamed to ca_path in community.docker 3.6.0. The old name has been added as an alias and can still be used.

diff --git a/pr/698/docker_compose_v2_module.html b/pr/698/docker_compose_v2_module.html index a1b20432..c02ff200 100644 --- a/pr/698/docker_compose_v2_module.html +++ b/pr/698/docker_compose_v2_module.html @@ -227,10 +227,11 @@ see
+
-

ca_cert

-

aliases: tls_ca_cert, cacert_path

+

ca_path

+

aliases: ca_cert, tls_ca_cert, cacert_path

path

Use a CA certificate when performing server verification by providing the path to a CA certificate file.

@@ -328,6 +329,24 @@ see
+

pull

+

string

+
+

Whether to pull images before running. This is used when docker compose up is ran.

+

always ensures that the images are always pulled, even when already present on the Docker daemon.

+

missing only pulls them when they are not present on the Docker daemon.

+

never never pulls images. If they are not present, the module will fail when trying to create the containers that need them.

+

policy use the pull_policy defined for the service to figure out what to do.

+

Choices:

+
    +
  • "always"

  • +
  • "missing"

  • +
  • "never"

  • +
  • "policy" ← (default)

  • +
+
+ +

recreate

string

@@ -342,7 +361,7 @@ see
+ @@ -354,7 +373,7 @@ see
+ @@ -366,7 +385,7 @@ see
+ @@ -378,7 +397,7 @@ see
+

state

string

@@ -396,14 +415,14 @@ see
+

timeout

integer

Timeout in seconds for container shutdown when attached or when containers are already running.

-
+

tls

boolean

@@ -416,16 +435,15 @@ see
+

When verifying the authenticity of the Docker Host server, provide the expected name of the server.

If the value is not specified in the task, the value of environment variable DOCKER_TLS_HOSTNAME will be used instead. If the environment variable is not set, the default value will be used.

-

Note that this option had a default value localhost in older versions. It was removed in community.docker 3.0.0.

-
+

validate_certs

aliases: tls_verify

@@ -610,16 +628,17 @@ will change over time. New releases of the Docker compose CLI plugin can break t

Returned: success

Can only return:

    -
  • "Started"

  • -
  • "Exited"

  • -
  • "Restarted"

  • -
  • "Created"

  • -
  • "Stopped"

  • -
  • "Killed"

  • -
  • "Removed"

  • -
  • "Recreated"

  • +
  • "Starting"

  • +
  • "Exiting"

  • +
  • "Restarting"

  • +
  • "Creating"

  • +
  • "Stopping"

  • +
  • "Killing"

  • +
  • "Removing"

  • +
  • "Recreating"

  • +
  • "Pulling"

-

Sample: "Created"

+

Sample: "Creating"

@@ -630,10 +649,12 @@ will change over time. New releases of the Docker compose CLI plugin can break t

Returned: success

Can only return:

    -
  • "network"

  • -
  • "image"

  • -
  • "volume"

  • "container"

  • +
  • "image"

  • +
  • "network"

  • +
  • "service"

  • +
  • "unknown"

  • +
  • "volume"

Sample: "container"

diff --git a/pr/698/docker_config_module.html b/pr/698/docker_config_module.html index b824a7a5..2ae51d7f 100644 --- a/pr/698/docker_config_module.html +++ b/pr/698/docker_config_module.html @@ -229,14 +229,16 @@ see
+
-

ca_cert

-

aliases: tls_ca_cert, cacert_path

+

ca_path

+

aliases: ca_cert, tls_ca_cert, cacert_path

path

Use a CA certificate when performing server verification by providing the path to a CA certificate file.

If the value is not specified in the task and the environment variable DOCKER_CERT_PATH is set, the file ca.pem from the directory specified in the environment variable DOCKER_CERT_PATH will be used.

+

This option was called ca_cert and got renamed to ca_path in community.docker 3.6.0. The old name has been added as an alias and can still be used.

diff --git a/pr/698/docker_container_copy_into_module.html b/pr/698/docker_container_copy_into_module.html index 90eeefaf..0235bcdd 100644 --- a/pr/698/docker_container_copy_into_module.html +++ b/pr/698/docker_container_copy_into_module.html @@ -236,14 +236,16 @@ see
+
-

ca_cert

-

aliases: tls_ca_cert, cacert_path

+

ca_path

+

aliases: ca_cert, tls_ca_cert, cacert_path

path

Use a CA certificate when performing server verification by providing the path to a CA certificate file.

If the value is not specified in the task and the environment variable DOCKER_CERT_PATH is set, the file ca.pem from the directory specified in the environment variable DOCKER_CERT_PATH will be used.

+

This option was called ca_cert and got renamed to ca_path in community.docker 3.6.0. The old name has been added as an alias and can still be used.

diff --git a/pr/698/docker_container_exec_module.html b/pr/698/docker_container_exec_module.html index b2e8ae23..50a06686 100644 --- a/pr/698/docker_container_exec_module.html +++ b/pr/698/docker_container_exec_module.html @@ -239,14 +239,16 @@ see
+
-

ca_cert

-

aliases: tls_ca_cert, cacert_path

+

ca_path

+

aliases: ca_cert, tls_ca_cert, cacert_path

path

Use a CA certificate when performing server verification by providing the path to a CA certificate file.

If the value is not specified in the task and the environment variable DOCKER_CERT_PATH is set, the file ca.pem from the directory specified in the environment variable DOCKER_CERT_PATH will be used.

+

This option was called ca_cert and got renamed to ca_path in community.docker 3.6.0. The old name has been added as an alias and can still be used.

diff --git a/pr/698/docker_container_info_module.html b/pr/698/docker_container_info_module.html index fc895e16..03a30180 100644 --- a/pr/698/docker_container_info_module.html +++ b/pr/698/docker_container_info_module.html @@ -230,14 +230,16 @@ see
+
-

ca_cert

-

aliases: tls_ca_cert, cacert_path

+

ca_path

+

aliases: ca_cert, tls_ca_cert, cacert_path

path

Use a CA certificate when performing server verification by providing the path to a CA certificate file.

If the value is not specified in the task and the environment variable DOCKER_CERT_PATH is set, the file ca.pem from the directory specified in the environment variable DOCKER_CERT_PATH will be used.

+

This option was called ca_cert and got renamed to ca_path in community.docker 3.6.0. The old name has been added as an alias and can still be used.

diff --git a/pr/698/docker_container_module.html b/pr/698/docker_container_module.html index c99999d8..3206dd97 100644 --- a/pr/698/docker_container_module.html +++ b/pr/698/docker_container_module.html @@ -250,14 +250,16 @@ see
+
-

ca_cert

-

aliases: tls_ca_cert, cacert_path

+

ca_path

+

aliases: ca_cert, tls_ca_cert, cacert_path

path

Use a CA certificate when performing server verification by providing the path to a CA certificate file.

If the value is not specified in the task and the environment variable DOCKER_CERT_PATH is set, the file ca.pem from the directory specified in the environment variable DOCKER_CERT_PATH will be used.

+

This option was called ca_cert and got renamed to ca_path in community.docker 3.6.0. The old name has been added as an alias and can still be used.

diff --git a/pr/698/docker_containers_inventory.html b/pr/698/docker_containers_inventory.html index 584c1eae..057815cd 100644 --- a/pr/698/docker_containers_inventory.html +++ b/pr/698/docker_containers_inventory.html @@ -248,14 +248,16 @@ see
+
-

ca_cert

-

aliases: tls_ca_cert, cacert_path

+

ca_path

+

aliases: ca_cert, tls_ca_cert, cacert_path

path

Use a CA certificate when performing server verification by providing the path to a CA certificate file.

If the value is not specified in the task and the environment variable DOCKER_CERT_PATH is set, the file ca.pem from the directory specified in the environment variable DOCKER_CERT_PATH will be used.

+

This option was called ca_cert and got renamed to ca_path in community.docker 3.6.0. The old name has been added as an alias and can still be used.

@@ -633,7 +635,7 @@ see plugin: community.docker.docker_containers docker_host: tcp://my-docker-host:2376 validate_certs: true -ca_cert: /somewhere/ca.pem +ca_path: /somewhere/ca.pem client_key: /somewhere/key.pem client_cert: /somewhere/cert.pem diff --git a/pr/698/docker_host_info_module.html b/pr/698/docker_host_info_module.html index b56611db..06d450f4 100644 --- a/pr/698/docker_host_info_module.html +++ b/pr/698/docker_host_info_module.html @@ -233,14 +233,16 @@ see
+
-

ca_cert

-

aliases: tls_ca_cert, cacert_path

+

ca_path

+

aliases: ca_cert, tls_ca_cert, cacert_path

path

Use a CA certificate when performing server verification by providing the path to a CA certificate file.

If the value is not specified in the task and the environment variable DOCKER_CERT_PATH is set, the file ca.pem from the directory specified in the environment variable DOCKER_CERT_PATH will be used.

+

This option was called ca_cert and got renamed to ca_path in community.docker 3.6.0. The old name has been added as an alias and can still be used.

diff --git a/pr/698/docker_image_build_module.html b/pr/698/docker_image_build_module.html index 3cb65124..ebf36288 100644 --- a/pr/698/docker_image_build_module.html +++ b/pr/698/docker_image_build_module.html @@ -235,10 +235,11 @@ see
+
-

ca_cert

-

aliases: tls_ca_cert, cacert_path

+

ca_path

+

aliases: ca_cert, tls_ca_cert, cacert_path

path

Use a CA certificate when performing server verification by providing the path to a CA certificate file.

@@ -429,7 +430,6 @@ see

When verifying the authenticity of the Docker Host server, provide the expected name of the server.

If the value is not specified in the task, the value of environment variable DOCKER_TLS_HOSTNAME will be used instead. If the environment variable is not set, the default value will be used.

-

Note that this option had a default value localhost in older versions. It was removed in community.docker 3.0.0.

diff --git a/pr/698/docker_image_info_module.html b/pr/698/docker_image_info_module.html index eaa46e4e..85d4ca04 100644 --- a/pr/698/docker_image_info_module.html +++ b/pr/698/docker_image_info_module.html @@ -231,14 +231,16 @@ see
+
-

ca_cert

-

aliases: tls_ca_cert, cacert_path

+

ca_path

+

aliases: ca_cert, tls_ca_cert, cacert_path

path

Use a CA certificate when performing server verification by providing the path to a CA certificate file.

If the value is not specified in the task and the environment variable DOCKER_CERT_PATH is set, the file ca.pem from the directory specified in the environment variable DOCKER_CERT_PATH will be used.

+

This option was called ca_cert and got renamed to ca_path in community.docker 3.6.0. The old name has been added as an alias and can still be used.

diff --git a/pr/698/docker_image_load_module.html b/pr/698/docker_image_load_module.html index 1b5e1db4..e4b78c60 100644 --- a/pr/698/docker_image_load_module.html +++ b/pr/698/docker_image_load_module.html @@ -232,14 +232,16 @@ see
+
-

ca_cert

-

aliases: tls_ca_cert, cacert_path

+

ca_path

+

aliases: ca_cert, tls_ca_cert, cacert_path

path

Use a CA certificate when performing server verification by providing the path to a CA certificate file.

If the value is not specified in the task and the environment variable DOCKER_CERT_PATH is set, the file ca.pem from the directory specified in the environment variable DOCKER_CERT_PATH will be used.

+

This option was called ca_cert and got renamed to ca_path in community.docker 3.6.0. The old name has been added as an alias and can still be used.

diff --git a/pr/698/docker_image_module.html b/pr/698/docker_image_module.html index e3ee3271..b96e3437 100644 --- a/pr/698/docker_image_module.html +++ b/pr/698/docker_image_module.html @@ -416,14 +416,16 @@ see
+
-

ca_cert

-

aliases: tls_ca_cert, cacert_path

+

ca_path

+

aliases: ca_cert, tls_ca_cert, cacert_path

path

Use a CA certificate when performing server verification by providing the path to a CA certificate file.

If the value is not specified in the task and the environment variable DOCKER_CERT_PATH is set, the file ca.pem from the directory specified in the environment variable DOCKER_CERT_PATH will be used.

+

This option was called ca_cert and got renamed to ca_path in community.docker 3.6.0. The old name has been added as an alias and can still be used.

diff --git a/pr/698/docker_image_pull_module.html b/pr/698/docker_image_pull_module.html index c8b294fa..2e2a0218 100644 --- a/pr/698/docker_image_pull_module.html +++ b/pr/698/docker_image_pull_module.html @@ -232,14 +232,16 @@ see
+
-

ca_cert

-

aliases: tls_ca_cert, cacert_path

+

ca_path

+

aliases: ca_cert, tls_ca_cert, cacert_path

path

Use a CA certificate when performing server verification by providing the path to a CA certificate file.

If the value is not specified in the task and the environment variable DOCKER_CERT_PATH is set, the file ca.pem from the directory specified in the environment variable DOCKER_CERT_PATH will be used.

+

This option was called ca_cert and got renamed to ca_path in community.docker 3.6.0. The old name has been added as an alias and can still be used.

diff --git a/pr/698/docker_image_push_module.html b/pr/698/docker_image_push_module.html index 5c7bf2b7..ad99b887 100644 --- a/pr/698/docker_image_push_module.html +++ b/pr/698/docker_image_push_module.html @@ -232,14 +232,16 @@ see
+
-

ca_cert

-

aliases: tls_ca_cert, cacert_path

+

ca_path

+

aliases: ca_cert, tls_ca_cert, cacert_path

path

Use a CA certificate when performing server verification by providing the path to a CA certificate file.

If the value is not specified in the task and the environment variable DOCKER_CERT_PATH is set, the file ca.pem from the directory specified in the environment variable DOCKER_CERT_PATH will be used.

+

This option was called ca_cert and got renamed to ca_path in community.docker 3.6.0. The old name has been added as an alias and can still be used.

diff --git a/pr/698/docker_image_remove_module.html b/pr/698/docker_image_remove_module.html index 1c2e645c..da01094d 100644 --- a/pr/698/docker_image_remove_module.html +++ b/pr/698/docker_image_remove_module.html @@ -232,14 +232,16 @@ see
+
-

ca_cert

-

aliases: tls_ca_cert, cacert_path

+

ca_path

+

aliases: ca_cert, tls_ca_cert, cacert_path

path

Use a CA certificate when performing server verification by providing the path to a CA certificate file.

If the value is not specified in the task and the environment variable DOCKER_CERT_PATH is set, the file ca.pem from the directory specified in the environment variable DOCKER_CERT_PATH will be used.

+

This option was called ca_cert and got renamed to ca_path in community.docker 3.6.0. The old name has been added as an alias and can still be used.

diff --git a/pr/698/docker_image_tag_module.html b/pr/698/docker_image_tag_module.html index 4ca2d79b..cfca99a2 100644 --- a/pr/698/docker_image_tag_module.html +++ b/pr/698/docker_image_tag_module.html @@ -232,14 +232,16 @@ see
+
-

ca_cert

-

aliases: tls_ca_cert, cacert_path

+

ca_path

+

aliases: ca_cert, tls_ca_cert, cacert_path

path

Use a CA certificate when performing server verification by providing the path to a CA certificate file.

If the value is not specified in the task and the environment variable DOCKER_CERT_PATH is set, the file ca.pem from the directory specified in the environment variable DOCKER_CERT_PATH will be used.

+

This option was called ca_cert and got renamed to ca_path in community.docker 3.6.0. The old name has been added as an alias and can still be used.

diff --git a/pr/698/docker_login_module.html b/pr/698/docker_login_module.html index 96467509..1f9e06ac 100644 --- a/pr/698/docker_login_module.html +++ b/pr/698/docker_login_module.html @@ -231,14 +231,16 @@ see
+
-

ca_cert

-

aliases: tls_ca_cert, cacert_path

+

ca_path

+

aliases: ca_cert, tls_ca_cert, cacert_path

path

Use a CA certificate when performing server verification by providing the path to a CA certificate file.

If the value is not specified in the task and the environment variable DOCKER_CERT_PATH is set, the file ca.pem from the directory specified in the environment variable DOCKER_CERT_PATH will be used.

+

This option was called ca_cert and got renamed to ca_path in community.docker 3.6.0. The old name has been added as an alias and can still be used.

diff --git a/pr/698/docker_network_info_module.html b/pr/698/docker_network_info_module.html index 0f192d37..62cf03e0 100644 --- a/pr/698/docker_network_info_module.html +++ b/pr/698/docker_network_info_module.html @@ -230,14 +230,16 @@ see
+
-

ca_cert

-

aliases: tls_ca_cert, cacert_path

+

ca_path

+

aliases: ca_cert, tls_ca_cert, cacert_path

path

Use a CA certificate when performing server verification by providing the path to a CA certificate file.

If the value is not specified in the task and the environment variable DOCKER_CERT_PATH is set, the file ca.pem from the directory specified in the environment variable DOCKER_CERT_PATH will be used.

+

This option was called ca_cert and got renamed to ca_path in community.docker 3.6.0. The old name has been added as an alias and can still be used.

diff --git a/pr/698/docker_network_module.html b/pr/698/docker_network_module.html index 8e08b2fd..71799383 100644 --- a/pr/698/docker_network_module.html +++ b/pr/698/docker_network_module.html @@ -257,14 +257,16 @@ see
+
-

ca_cert

-

aliases: tls_ca_cert, cacert_path

+

ca_path

+

aliases: ca_cert, tls_ca_cert, cacert_path

path

Use a CA certificate when performing server verification by providing the path to a CA certificate file.

If the value is not specified in the task and the environment variable DOCKER_CERT_PATH is set, the file ca.pem from the directory specified in the environment variable DOCKER_CERT_PATH will be used.

+

This option was called ca_cert and got renamed to ca_path in community.docker 3.6.0. The old name has been added as an alias and can still be used.

diff --git a/pr/698/docker_node_info_module.html b/pr/698/docker_node_info_module.html index dad94f0f..aaa34b6e 100644 --- a/pr/698/docker_node_info_module.html +++ b/pr/698/docker_node_info_module.html @@ -228,14 +228,16 @@ see
+
-

ca_cert

-

aliases: tls_ca_cert, cacert_path

+

ca_path

+

aliases: ca_cert, tls_ca_cert, cacert_path

path

Use a CA certificate when performing server verification by providing the path to a CA certificate file.

If the value is not specified in the task and the environment variable DOCKER_CERT_PATH is set, the file ca.pem from the directory specified in the environment variable DOCKER_CERT_PATH will be used.

+

This option was called ca_cert and got renamed to ca_path in community.docker 3.6.0. The old name has been added as an alias and can still be used.

diff --git a/pr/698/docker_node_module.html b/pr/698/docker_node_module.html index 79a2582f..d404170b 100644 --- a/pr/698/docker_node_module.html +++ b/pr/698/docker_node_module.html @@ -240,14 +240,16 @@ see
+
-

ca_cert

-

aliases: tls_ca_cert, cacert_path

+

ca_path

+

aliases: ca_cert, tls_ca_cert, cacert_path

path

Use a CA certificate when performing server verification by providing the path to a CA certificate file.

If the value is not specified in the task and the environment variable DOCKER_CERT_PATH is set, the file ca.pem from the directory specified in the environment variable DOCKER_CERT_PATH will be used.

+

This option was called ca_cert and got renamed to ca_path in community.docker 3.6.0. The old name has been added as an alias and can still be used.

diff --git a/pr/698/docker_plugin_module.html b/pr/698/docker_plugin_module.html index 79e3d2b4..f142e453 100644 --- a/pr/698/docker_plugin_module.html +++ b/pr/698/docker_plugin_module.html @@ -239,14 +239,16 @@ see
+
-

ca_cert

-

aliases: tls_ca_cert, cacert_path

+

ca_path

+

aliases: ca_cert, tls_ca_cert, cacert_path

path

Use a CA certificate when performing server verification by providing the path to a CA certificate file.

If the value is not specified in the task and the environment variable DOCKER_CERT_PATH is set, the file ca.pem from the directory specified in the environment variable DOCKER_CERT_PATH will be used.

+

This option was called ca_cert and got renamed to ca_path in community.docker 3.6.0. The old name has been added as an alias and can still be used.

diff --git a/pr/698/docker_prune_module.html b/pr/698/docker_prune_module.html index 720783ea..bd987f85 100644 --- a/pr/698/docker_prune_module.html +++ b/pr/698/docker_prune_module.html @@ -241,14 +241,16 @@ see
+
-

ca_cert

-

aliases: tls_ca_cert, cacert_path

+

ca_path

+

aliases: ca_cert, tls_ca_cert, cacert_path

path

Use a CA certificate when performing server verification by providing the path to a CA certificate file.

If the value is not specified in the task and the environment variable DOCKER_CERT_PATH is set, the file ca.pem from the directory specified in the environment variable DOCKER_CERT_PATH will be used.

+

This option was called ca_cert and got renamed to ca_path in community.docker 3.6.0. The old name has been added as an alias and can still be used.

diff --git a/pr/698/docker_secret_module.html b/pr/698/docker_secret_module.html index e31a3ec3..a6637abc 100644 --- a/pr/698/docker_secret_module.html +++ b/pr/698/docker_secret_module.html @@ -229,14 +229,16 @@ see
+
-

ca_cert

-

aliases: tls_ca_cert, cacert_path

+

ca_path

+

aliases: ca_cert, tls_ca_cert, cacert_path

path

Use a CA certificate when performing server verification by providing the path to a CA certificate file.

If the value is not specified in the task and the environment variable DOCKER_CERT_PATH is set, the file ca.pem from the directory specified in the environment variable DOCKER_CERT_PATH will be used.

+

This option was called ca_cert and got renamed to ca_path in community.docker 3.6.0. The old name has been added as an alias and can still be used.

diff --git a/pr/698/docker_swarm_info_module.html b/pr/698/docker_swarm_info_module.html index 6dbceea2..2698f5ab 100644 --- a/pr/698/docker_swarm_info_module.html +++ b/pr/698/docker_swarm_info_module.html @@ -229,14 +229,16 @@ see
+
-

ca_cert

-

aliases: tls_ca_cert, cacert_path

+

ca_path

+

aliases: ca_cert, tls_ca_cert, cacert_path

path

Use a CA certificate when performing server verification by providing the path to a CA certificate file.

If the value is not specified in the task and the environment variable DOCKER_CERT_PATH is set, the file ca.pem from the directory specified in the environment variable DOCKER_CERT_PATH will be used.

+

This option was called ca_cert and got renamed to ca_path in community.docker 3.6.0. The old name has been added as an alias and can still be used.

diff --git a/pr/698/docker_swarm_inventory.html b/pr/698/docker_swarm_inventory.html index 06aa2337..23aa3193 100644 --- a/pr/698/docker_swarm_inventory.html +++ b/pr/698/docker_swarm_inventory.html @@ -218,13 +218,15 @@ see
+
-

ca_cert

-

aliases: tls_ca_cert, cacert_path

+

ca_path

+

aliases: ca_cert, tls_ca_cert, cacert_path

path

Use a CA certificate when performing server verification by providing the path to a CA certificate file.

+

This option was called ca_cert and got renamed to ca_path in community.docker 3.6.0. The old name has been added as an alias and can still be used.

@@ -543,7 +545,7 @@ see plugin: community.docker.docker_swarm docker_host: tcp://my-docker-host:2376 validate_certs: true -ca_cert: /somewhere/ca.pem +ca_path: /somewhere/ca.pem client_key: /somewhere/key.pem client_cert: /somewhere/cert.pem diff --git a/pr/698/docker_swarm_module.html b/pr/698/docker_swarm_module.html index 6f7be672..0ce829d7 100644 --- a/pr/698/docker_swarm_module.html +++ b/pr/698/docker_swarm_module.html @@ -252,17 +252,6 @@ see
-
-
-

ca_cert

-

aliases: tls_ca_cert, cacert_path

-

path

-
-

Use a CA certificate when performing server verification by providing the path to a CA certificate file.

-

If the value is not specified in the task and the environment variable DOCKER_CERT_PATH is set, the file ca.pem from the directory specified in the environment variable DOCKER_CERT_PATH will be used.

-
- -

ca_force_rotate

integer

@@ -271,6 +260,19 @@ see
+
+
+
+

ca_path

+

aliases: ca_cert, tls_ca_cert, cacert_path

+

path

+
+

Use a CA certificate when performing server verification by providing the path to a CA certificate file.

+

If the value is not specified in the task and the environment variable DOCKER_CERT_PATH is set, the file ca.pem from the directory specified in the environment variable DOCKER_CERT_PATH will be used.

+

This option was called ca_cert and got renamed to ca_path in community.docker 3.6.0. The old name has been added as an alias and can still be used.

+
+
diff --git a/pr/698/docker_swarm_service_info_module.html b/pr/698/docker_swarm_service_info_module.html index 9854a5cc..9e9f1679 100644 --- a/pr/698/docker_swarm_service_info_module.html +++ b/pr/698/docker_swarm_service_info_module.html @@ -228,14 +228,16 @@ see
+
-

ca_cert

-

aliases: tls_ca_cert, cacert_path

+

ca_path

+

aliases: ca_cert, tls_ca_cert, cacert_path

path

Use a CA certificate when performing server verification by providing the path to a CA certificate file.

If the value is not specified in the task and the environment variable DOCKER_CERT_PATH is set, the file ca.pem from the directory specified in the environment variable DOCKER_CERT_PATH will be used.

+

This option was called ca_cert and got renamed to ca_path in community.docker 3.6.0. The old name has been added as an alias and can still be used.

diff --git a/pr/698/docker_swarm_service_module.html b/pr/698/docker_swarm_service_module.html index e6bebede..cd36fb47 100644 --- a/pr/698/docker_swarm_service_module.html +++ b/pr/698/docker_swarm_service_module.html @@ -236,14 +236,16 @@ see
+
-

ca_cert

-

aliases: tls_ca_cert, cacert_path

+

ca_path

+

aliases: ca_cert, tls_ca_cert, cacert_path

path

Use a CA certificate when performing server verification by providing the path to a CA certificate file.

If the value is not specified in the task and the environment variable DOCKER_CERT_PATH is set, the file ca.pem from the directory specified in the environment variable DOCKER_CERT_PATH will be used.

+

This option was called ca_cert and got renamed to ca_path in community.docker 3.6.0. The old name has been added as an alias and can still be used.

diff --git a/pr/698/docker_volume_info_module.html b/pr/698/docker_volume_info_module.html index ae2f34a2..92aa2f02 100644 --- a/pr/698/docker_volume_info_module.html +++ b/pr/698/docker_volume_info_module.html @@ -229,14 +229,16 @@ see
+
-

ca_cert

-

aliases: tls_ca_cert, cacert_path

+

ca_path

+

aliases: ca_cert, tls_ca_cert, cacert_path

path

Use a CA certificate when performing server verification by providing the path to a CA certificate file.

If the value is not specified in the task and the environment variable DOCKER_CERT_PATH is set, the file ca.pem from the directory specified in the environment variable DOCKER_CERT_PATH will be used.

+

This option was called ca_cert and got renamed to ca_path in community.docker 3.6.0. The old name has been added as an alias and can still be used.

diff --git a/pr/698/docker_volume_module.html b/pr/698/docker_volume_module.html index b98573e0..ffde84f0 100644 --- a/pr/698/docker_volume_module.html +++ b/pr/698/docker_volume_module.html @@ -230,14 +230,16 @@ see
+
-

ca_cert

-

aliases: tls_ca_cert, cacert_path

+

ca_path

+

aliases: ca_cert, tls_ca_cert, cacert_path

path

Use a CA certificate when performing server verification by providing the path to a CA certificate file.

If the value is not specified in the task and the environment variable DOCKER_CERT_PATH is set, the file ca.pem from the directory specified in the environment variable DOCKER_CERT_PATH will be used.

+

This option was called ca_cert and got renamed to ca_path in community.docker 3.6.0. The old name has been added as an alias and can still be used.

diff --git a/pr/698/docsite/scenario_guide.html b/pr/698/docsite/scenario_guide.html index 3a681974..77ba7e92 100644 --- a/pr/698/docsite/scenario_guide.html +++ b/pr/698/docsite/scenario_guide.html @@ -79,20 +79,24 @@
  • Requirements
  • Connecting to the Docker API
  • Plain Docker daemon: images, networks, volumes, and containers
  • -
  • Docker Compose
  • +
  • Docker Compose +
  • Docker Machine
  • -
  • Docker stack
  • +
  • Docker Swarm stack
  • Docker Swarm
  • -
  • Helpful links
  • @@ -174,18 +178,17 @@

    The community.docker collection offers several modules and plugins for orchestrating Docker containers and Docker Swarm.

    -

    Requirements

    +

    Requirements

    Most of the modules and plugins in community.docker require the Docker SDK for Python. The SDK needs to be installed on the machines where the modules and plugins are executed, and for the Python version(s) with which the modules and plugins are executed. You can use the community.general.python_requirements_info module to make sure that the Docker SDK for Python is installed on the correct machine and for the Python version used by Ansible.

    Note that plugins (inventory plugins and connection plugins) are always executed in the context of Ansible itself. If you use a plugin that requires the Docker SDK for Python, you need to install it on the machine running ansible or ansible-playbook and for the same Python interpreter used by Ansible. To see which Python is used, run ansible --version.

    You can install the Docker SDK for Python for Python 3.6 or later as follows:

    @@ -199,14 +202,14 @@

    Note that the Docker SDK for Python was called docker-py on PyPi before version 2.0.0. Please avoid installing this really old version, and make sure to not install both docker and docker-py. Installing both will result in a broken installation. If this happens, Ansible will detect it and inform you about it. If that happens, you must uninstall both and reinstall the correct version. If in doubt, always install docker and never docker-py.

    -

    Connecting to the Docker API

    +

    Connecting to the Docker API

    You can connect to a local or remote API using parameters passed to each task or by setting environment variables. The order of precedence is command line parameters and then environment variables. If neither a command line option nor an environment variable is found, Ansible uses the default value provided under Parameters.

    Parameters

    Most plugins and modules can be configured by the following parameters:

    -
    -
    docker_host

    The URL or Unix socket path used to connect to the Docker API. Defaults to unix://var/run/docker.sock. To connect to a remote host, provide the TCP connection string (for example: tcp://192.0.2.23:2376). If TLS is used to encrypt the connection to the API, then the module will automatically replace ‘tcp’ in the connection URL with ‘https’.

    +
    +
    docker_host

    The URL or Unix socket path used to connect to the Docker API. Defaults to unix:///var/run/docker.sock. To connect to a remote host, provide the TCP connection string (for example: tcp://192.0.2.23:2376). If TLS is used to encrypt the connection to the API, then the module will automatically replace tcp in the connection URL with https.

    api_version

    The version of the Docker API running on the Docker Host. Defaults to the latest version of the API supported by the Docker SDK for Python installed.

    @@ -216,7 +219,7 @@
    validate_certs

    Secure the connection to the API by using TLS and verifying the authenticity of the Docker host server. Default is false.

    -
    cacert_path

    Use a CA certificate when performing server verification by providing the path to a CA certificate file.

    +
    ca_path

    Use a CA certificate when performing server verification by providing the path to a CA certificate file.

    cert_path

    Path to the client’s TLS certificate file.

    @@ -225,10 +228,56 @@
    tls_hostname

    When verifying the authenticity of the Docker Host server, provide the expected name of the server. Defaults to localhost.

    ssl_version

    Provide a valid SSL version number. The default value is determined by the Docker SDK for Python.

    +

    This option is not available for the CLI based plugins. It is mainly needed for legacy systems and should be avoided.

    +
    +

    Module default group

    +

    To avoid having to specify common parameters for all the modules in every task, you can use the community.docker.docker module defaults group, or its short name docker. Please note that the Docker Swarm stack modules (community.docker.docker_stack, community.docker.docker_stack_info, and community.docker.docker_stack_task_info) are not part of the defaults group.

    +
    +

    Note

    +

    Module default groups only work for modules, not for plugins (connection and inventory plugins).

    +
    +

    The following example shows how the module default group can be used in a playbook:

    +
    ---
    +- name: Pull and image and start the container
    +  hosts: localhost
    +  gather_facts: false
    +  module_defaults:
    +    group/community.docker.docker:
    +      # Select Docker Daemon on other host
    +      docker_host: tcp://192.0.2.23:2376
    +      # Configure TLS
    +      tls: true
    +      validate_certs: true
    +      tls_hostname: docker.example.com
    +      ca_path: /path/to/cacert.pem
    +      # Increase timeout
    +      timeout: 120
    +  tasks:
    +    - name: Pull image
    +      community.docker.docker_image_pull:
    +        name: python
    +        tag: 3.12
    +
    +    - name: Start container
    +      community.docker.docker_container:
    +        cleanup: true
    +        command: python --version
    +        detach: false
    +        image: python:3.12
    +        name: my-python-container
    +        output_logs: true
    +
    +    - name: Show output
    +      ansible.builtin.debug:
    +        msg: "{{ output.container.Output }}"
    +
    +
    +

    Here the two community.docker tasks will use the options set for the module defaults group.

    +

    Environment variables

    You can also control how the plugins and modules connect to the Docker API by setting the following environment variables.

    @@ -285,7 +334,7 @@ by Docker SDK for Python.

    -

    Plain Docker daemon: images, networks, volumes, and containers

    +

    Plain Docker daemon: images, networks, volumes, and containers

    For working with a plain Docker daemon, that is without Swarm, there are connection plugins, an inventory plugin, and several modules available:

    @@ -304,10 +353,20 @@ by Docker SDK for Python.

    docker_image module

    The community.docker.docker_image module provides full control over images, including: build, pull, push, tag and remove.

    -
    docker_image_load

    The community.docker.docker_image_load module allows you to import one or multiple images from tarballs.

    +
    docker_image_build

    The community.docker.docker_image_build module allows you to build a Docker image using Docker buildx.

    docker_image_info module

    The community.docker.docker_image_info module allows you to list and inspect images.

    +
    docker_image_load

    The community.docker.docker_image_load module allows you to import one or multiple images from tarballs.

    +
    +
    docker_image_pull

    The community.docker.docker_image_pull module allows you to pull a Docker image from a registry.

    +
    +
    docker_image_push

    The community.docker.docker_image_push module allows you to push a Docker image to a registry.

    +
    +
    docker_image_remove

    The community.docker.docker_image_remove module allows you to remove and/or untag a Docker image from the Docker daemon.

    +
    +
    docker_image_tag

    The community.docker.docker_image_tag module allows you to tag a Docker image with additional names and/or tags.

    +
    docker_network module

    The community.docker.docker_network module provides full control over Docker networks.

    docker_network_info module

    The community.docker.docker_network_info module allows you to inspect Docker networks.

    @@ -330,22 +389,33 @@ by Docker SDK for Python.

    -

    Docker Compose

    +

    Docker Compose

    +
    +

    Docker Compose v2

    +

    The community.docker.docker_compose_v2 module +allows you to use your existing Docker compose files to orchestrate containers on a single Docker daemon or on Swarm. +This module uses the Docker CLI “compose” plugin (docker compose), and thus needs access to the Docker CLI tool. +No further requirements next to to the CLI tool and its Docker Compose plugin are needed.

    +
    +
    +

    Docker Compose v1

    The community.docker.docker_compose module allows you to use your existing Docker compose files to orchestrate containers on a single Docker daemon or on Swarm. -Supports compose versions 1 and 2.

    -

    Next to Docker SDK for Python, you need to install docker-compose on the remote machines to use the module.

    +This module uses the out-dated and End of Life version 1.x of Docker Compose. It should mainly be used for legacy systems +which still have to use that version of Docker Compose.

    +

    You need to install the old Python docker-compose on the remote machines to use the module.

    +
    -

    Docker Machine

    +

    Docker Machine

    The community.docker.docker_machine inventory plugin allows you to dynamically add Docker Machine hosts to your Ansible inventory.

    -
    -

    Docker stack

    -

    The community.docker.docker_stack module module allows you to control Docker stacks. Information on stacks can be retrieved by the community.docker.docker_stack_info module, and information on stack tasks can be retrieved by the community.docker.docker_stack_task_info module.

    +
    +

    Docker Swarm stack

    +

    The community.docker.docker_stack module module allows you to control Docker Swarm stacks. Information on Swarm stacks can be retrieved by the community.docker.docker_stack_info module, and information on Swarm stack tasks can be retrieved by the community.docker.docker_stack_task_info module.

    -

    Docker Swarm

    +

    Docker Swarm

    The community.docker collection provides multiple plugins and modules for managing Docker Swarms.

    Swarm management

    @@ -382,11 +452,6 @@ Supports compose versions 1 and 2.

    Docker Swarm services can be created and updated with the community.docker.docker_swarm_service module, and information on them can be queried by the community.docker.docker_swarm_service_info module.

    -
    diff --git a/pr/698/objects.inv b/pr/698/objects.inv index 0b8a4cf73329aaf56abce6df1b35f4e54e25e174..49106f801de43cb1064dc5a861d5a6de84f86b36 100644 GIT binary patch delta 17237 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 #cac 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 delta 16897 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 Em66