Skip to content

Type/Provider docker_stack should support passing flags to docker stack deploy #536

Closed
@jacksgt

Description

@jacksgt

Use Case

The type/provider docker_stack does not support various flags for docker stack deploy, unlike the now deprecated define docker::stack:

define docker::stack(
  Optional[Pattern[/^present$|^absent$/]] $ensure                = 'present',
  Optional[String] $stack_name                                   = undef,
  Optional[String] $bundle_file                                  = undef,
  Optional[Array] $compose_files                                 = undef,
  Optional[Boolean] $prune                                       = false,
  Optional[Boolean] $with_registry_auth                          = false,
  Optional[Pattern[/^always$|^changed$|^never$/]] $resolve_image = undef,
)

Flags such as --with-registry-auth therefore not be passed to docker.

Here is the full list of Flags supported by Docker:

Usage:  docker stack deploy [OPTIONS] STACK

Deploy a new stack or update an existing stack

Aliases:
  deploy, up

Options:
      --bundle-file string     Path to a Distributed Application Bundle file
  -c, --compose-file strings   Path to a Compose file, or "-" to read from stdin
      --orchestrator string    Orchestrator to use (swarm|kubernetes|all)
      --prune                  Prune services that are no longer referenced
      --resolve-image string   Query the registry to resolve image digest and supported platforms ("always"|"changed"|"never") (default "always")
      --with-registry-auth     Send registry authentication details to Swarm agents

Describe the Solution You Would Like

These flags should be implemented as parameters in https://github.com/puppetlabs/puppetlabs-docker/blob/master/lib/puppet/provider/docker_stack/ruby.rb

Alternatively, just taking an arbitrary parameter such as extra_flags which then gets appended to the generated flags is also a possibility.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions