seto 2.2.3__tar.gz → 2.2.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. {seto-2.2.3 → seto-2.2.4}/PKG-INFO +1 -1
  2. {seto-2.2.3 → seto-2.2.4}/pyproject.toml +1 -1
  3. {seto-2.2.3 → seto-2.2.4}/seto/commands/config.py +2 -2
  4. {seto-2.2.3 → seto-2.2.4}/seto/commands/deploy.py +5 -3
  5. {seto-2.2.3 → seto-2.2.4}/seto/core/docker.py +2 -2
  6. {seto-2.2.3 → seto-2.2.4}/LICENSE +0 -0
  7. {seto-2.2.3 → seto-2.2.4}/LICENSE_HEADER.txt +0 -0
  8. {seto-2.2.3 → seto-2.2.4}/README.md +0 -0
  9. {seto-2.2.3 → seto-2.2.4}/seto/__init__.py +0 -0
  10. {seto-2.2.3 → seto-2.2.4}/seto/__main__.py +0 -0
  11. {seto-2.2.3 → seto-2.2.4}/seto/commands/down.py +0 -0
  12. {seto-2.2.3 → seto-2.2.4}/seto/commands/mount.py +0 -0
  13. {seto-2.2.3 → seto-2.2.4}/seto/commands/setup.py +0 -0
  14. {seto-2.2.3 → seto-2.2.4}/seto/commands/umount.py +0 -0
  15. {seto-2.2.3 → seto-2.2.4}/seto/commands/volumes.py +0 -0
  16. {seto-2.2.3 → seto-2.2.4}/seto/core/command.py +0 -0
  17. {seto-2.2.3 → seto-2.2.4}/seto/core/dns.py +0 -0
  18. {seto-2.2.3 → seto-2.2.4}/seto/core/driver.py +0 -0
  19. {seto-2.2.3 → seto-2.2.4}/seto/core/network.py +0 -0
  20. {seto-2.2.3 → seto-2.2.4}/seto/core/parser.py +0 -0
  21. {seto-2.2.3 → seto-2.2.4}/seto/core/permissions.py +0 -0
  22. {seto-2.2.3 → seto-2.2.4}/seto/core/shell.py +0 -0
  23. {seto-2.2.3 → seto-2.2.4}/seto/core/swarm.py +0 -0
  24. {seto-2.2.3 → seto-2.2.4}/seto/core/traefik.py +0 -0
  25. {seto-2.2.3 → seto-2.2.4}/seto/core/volume.py +0 -0
  26. {seto-2.2.3 → seto-2.2.4}/seto/drivers/gluster.py +0 -0
  27. {seto-2.2.3 → seto-2.2.4}/seto/drivers/nfs.py +0 -0
  28. {seto-2.2.3 → seto-2.2.4}/seto/shells/local.py +0 -0
  29. {seto-2.2.3 → seto-2.2.4}/seto/shells/remote.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: seto
3
- Version: 2.2.3
3
+ Version: 2.2.4
4
4
  Summary: A Docker Swarm Deployment Manager
5
5
  License: Apache 2.0
6
6
  Keywords: docker,swarm,manager
@@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api"
4
4
 
5
5
  [tool.poetry]
6
6
  name = "seto"
7
- version = "2.2.3"
7
+ version = "2.2.4"
8
8
  description = "A Docker Swarm Deployment Manager"
9
9
  keywords = ["docker", "swarm", "manager"]
10
10
  authors = ["Sébastien Demanou <demsking@gmail.com>"]
@@ -1,4 +1,4 @@
1
- # Copyright 2024 Sébastien Demanou. All Rights Reserved.
1
+ # Copyright 2024-2025 Sébastien Demanou. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -57,7 +57,7 @@ def resolve(
57
57
  configs = resolved_compose_data.get('configs', {})
58
58
  secrets = resolved_compose_data.get('secrets', {})
59
59
 
60
- resolved_compose_data['networks'] = {*config_networks, *networks_}
60
+ resolved_compose_data['networks'] = {**config_networks, **networks_}
61
61
  compose['x-placement'] = placement
62
62
  compose['networks'].update(networks_)
63
63
  compose['services'].update(services)
@@ -95,8 +95,9 @@ def parse_compose_config(
95
95
  'deploy': service_deploy,
96
96
  }
97
97
 
98
- parse_service_vars(service_labels, compose.node_hostname)
99
- parse_service_vars(service_environment, compose.node_hostname)
98
+ if compose.node_hostname:
99
+ parse_service_vars(service_labels, compose.node_hostname)
100
+ parse_service_vars(service_environment, compose.node_hostname)
100
101
 
101
102
  service['ports'] = service_ports
102
103
  service_traefik_rule = pick_label_value(service_labels, '.rule')
@@ -108,7 +109,8 @@ def parse_compose_config(
108
109
  published_port = random.randint(53100, 64200)
109
110
 
110
111
  if not service_traefik_port:
111
- raise ValueError(f'Service "{service_name}" error: port is missing')
112
+ print(f'WARN: Service "{service_name}" has no defined port. Skipped from Traefik HTTP Provider')
113
+ continue
112
114
 
113
115
  service_ports.append(f'{published_port}:{service_traefik_port}')
114
116
 
@@ -1,4 +1,4 @@
1
- # Copyright 2024 Sébastien Demanou. All Rights Reserved.
1
+ # Copyright 2024-2025 Sébastien Demanou. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -110,7 +110,7 @@ class DockerCompose(Docker):
110
110
  if node.attrs['Spec']['Labels'].get(label_key) == value:
111
111
  return node.attrs['Description']['Hostname']
112
112
 
113
- return None
113
+ raise ValueError(f'Unable to found node for placement "{self.placement}"')
114
114
 
115
115
  def info(self) -> None:
116
116
  self._exec(f'docker compose -p {self.driver.stack_id} -f - config')
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes