NAME

API::Docker::Type::TaskSpec::Placement - Where in the swarm a task may be scheduled

VERSION

version 0.004

DESCRIPTION

Generated from the inline Placement schema of the TaskSpec definition in spec/v1.51.yaml, which the swagger leaves undescribed. Hard constraints, soft preferences, the platforms the task can run on, and a cap on how many replicas one node may take.

constraints

An array of constraint expressions to limit the set of nodes where a task can be scheduled. Constraint expressions can either use a match (==) or exclude (!=) rule. Multiple constraints find nodes that satisfy every expression (AND match). Constraints can match node or Docker Engine labels as follows:

node attribute | matches | example ---------------------|--------------------------------|----------------------------------------------- node.id | Node ID | node.id==2ivku8v2gvtg4 node.hostname | Node hostname | node.hostname!=node-2 node.role | Node role (manager/worker) | node.role==manager node.platform.os | Node operating system | node.platform.os==windows node.platform.arch | Node architecture | node.platform.arch==x86_64 node.labels | User-defined node labels | node.labels.security==high engine.labels | Docker Engine's labels | engine.labels.operatingsystem==ubuntu-24.04

engine.labels apply to Docker Engine labels like operating system, drivers, etc. Swarm administrators add node.labels for operational purposes by using the [node update endpoint](#operation/NodeUpdate).

preferences

Preferences provide a way to make the scheduler aware of factors such as topology. They are provided in order from highest to lowest precedence. See API::Docker::Type::TaskSpec::Placement::Preference.

max_replicas

Maximum number of replicas for per node (default value is 0, which is unlimited).

platforms

Platforms stores all the platforms that the service's image can run on. This field is used in the platform filter for scheduling. If empty, then the platform filter is off, meaning there are no scheduling restrictions. See API::Docker::Type::Platform.

SUPPORT

Issues

Please report bugs and feature requests on GitHub at https://github.com/Getty/p5-api-docker/issues.

CONTRIBUTING

Contributions are welcome! Please fork the repository and submit a pull request.

AUTHOR

Torsten Raudssus <getty@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2026 by Torsten Raudssus <torsten@raudssus.de> https://raudssus.de/.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.