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.
- {seto-2.2.3 → seto-2.2.4}/PKG-INFO +1 -1
- {seto-2.2.3 → seto-2.2.4}/pyproject.toml +1 -1
- {seto-2.2.3 → seto-2.2.4}/seto/commands/config.py +2 -2
- {seto-2.2.3 → seto-2.2.4}/seto/commands/deploy.py +5 -3
- {seto-2.2.3 → seto-2.2.4}/seto/core/docker.py +2 -2
- {seto-2.2.3 → seto-2.2.4}/LICENSE +0 -0
- {seto-2.2.3 → seto-2.2.4}/LICENSE_HEADER.txt +0 -0
- {seto-2.2.3 → seto-2.2.4}/README.md +0 -0
- {seto-2.2.3 → seto-2.2.4}/seto/__init__.py +0 -0
- {seto-2.2.3 → seto-2.2.4}/seto/__main__.py +0 -0
- {seto-2.2.3 → seto-2.2.4}/seto/commands/down.py +0 -0
- {seto-2.2.3 → seto-2.2.4}/seto/commands/mount.py +0 -0
- {seto-2.2.3 → seto-2.2.4}/seto/commands/setup.py +0 -0
- {seto-2.2.3 → seto-2.2.4}/seto/commands/umount.py +0 -0
- {seto-2.2.3 → seto-2.2.4}/seto/commands/volumes.py +0 -0
- {seto-2.2.3 → seto-2.2.4}/seto/core/command.py +0 -0
- {seto-2.2.3 → seto-2.2.4}/seto/core/dns.py +0 -0
- {seto-2.2.3 → seto-2.2.4}/seto/core/driver.py +0 -0
- {seto-2.2.3 → seto-2.2.4}/seto/core/network.py +0 -0
- {seto-2.2.3 → seto-2.2.4}/seto/core/parser.py +0 -0
- {seto-2.2.3 → seto-2.2.4}/seto/core/permissions.py +0 -0
- {seto-2.2.3 → seto-2.2.4}/seto/core/shell.py +0 -0
- {seto-2.2.3 → seto-2.2.4}/seto/core/swarm.py +0 -0
- {seto-2.2.3 → seto-2.2.4}/seto/core/traefik.py +0 -0
- {seto-2.2.3 → seto-2.2.4}/seto/core/volume.py +0 -0
- {seto-2.2.3 → seto-2.2.4}/seto/drivers/gluster.py +0 -0
- {seto-2.2.3 → seto-2.2.4}/seto/drivers/nfs.py +0 -0
- {seto-2.2.3 → seto-2.2.4}/seto/shells/local.py +0 -0
- {seto-2.2.3 → seto-2.2.4}/seto/shells/remote.py +0 -0
|
@@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api"
|
|
|
4
4
|
|
|
5
5
|
[tool.poetry]
|
|
6
6
|
name = "seto"
|
|
7
|
-
version = "2.2.
|
|
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'] = {
|
|
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
|
-
|
|
99
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|