Skip to content

Commit 22a24df

Browse files
committed
Migrate to Compose v2
Remove duplicated networks entry in flower container definition Remove docker-comopose from dependencies and bump others
1 parent 9b1ed0b commit 22a24df

4 files changed

Lines changed: 40 additions & 95 deletions

File tree

derex/runner/compose_utils.py

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,34 @@
1-
from compose.cli.main import main
21
from contextlib import contextmanager
32
from typing import List
43

54
import click
65
import derex # noqa # This is ugly, but makes mypy and flake8 happy and still performs type checks
76
import logging
7+
import subprocess
88
import sys
99

1010

1111
logger = logging.getLogger(__name__)
1212

1313

14+
def run_compose(compose_argv: List[str]):
15+
subprocess.run(["docker", "compose"] + compose_argv)
16+
17+
1418
def run_docker_compose(
1519
compose_argv: List[str], dry_run: bool = False, exit_afterwards: bool = False
1620
):
1721
"""Run a docker-compose command with the specified arguments."""
18-
system_argv = sys.argv
19-
try:
20-
sys.argv = ["docker-compose"] + compose_argv
21-
if not dry_run:
22-
click.echo(f'Running\n{" ".join(sys.argv)}', err=True)
23-
if exit_afterwards:
24-
main()
25-
else:
26-
with exit_cm():
27-
main()
22+
if not dry_run:
23+
click.echo(f'Running\ndocker compose {" ".join(compose_argv)}', err=True)
24+
if exit_afterwards:
25+
run_compose(compose_argv)
2826
else:
29-
click.echo("Would have run:\n")
30-
click.echo(click.style(" ".join(sys.argv), fg="blue"))
31-
finally:
32-
sys.argv = system_argv
27+
with exit_cm():
28+
run_compose(compose_argv)
29+
else:
30+
click.echo("Would have run:\n")
31+
click.echo(click.style(" ".join(sys.argv), fg="blue"))
3332

3433

3534
@contextmanager

derex/runner/templates/docker-compose-project.yml.j2

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,6 @@ services:
7070
<<: *common-env
7171
SERVICE_VARIANT: lms
7272
container_name: {{ project.name }}_flower
73-
networks:
74-
- derex
7573
networks:
7674
derex:
7775
aliases:

requirements.txt

Lines changed: 26 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,15 @@
11
#
2-
# This file is autogenerated by pip-compile with Python 3.11
2+
# This file is autogenerated by pip-compile with Python 3.12
33
# by the following command:
44
#
55
# pip-compile
66
#
7-
annotated-types==0.6.0
7+
annotated-types==0.7.0
88
# via pydantic
99
appdirs==1.4.4
1010
# via derex.runner (setup.py)
11-
attrs==23.1.0
12-
# via jsonschema
13-
bcrypt==4.0.1
14-
# via paramiko
15-
certifi==2023.7.22
11+
certifi==2024.8.30
1612
# via requests
17-
cffi==1.16.0
18-
# via
19-
# cryptography
20-
# pynacl
2113
charset-normalizer==3.3.2
2214
# via requests
2315
click==8.1.7
@@ -27,96 +19,53 @@ click==8.1.7
2719
# typer
2820
click-plugins==1.1.1
2921
# via derex.runner (setup.py)
30-
cryptography==41.0.5
31-
# via paramiko
32-
distro==1.8.0
33-
# via docker-compose
34-
docker[ssh]==6.1.3
35-
# via docker-compose
36-
docker-compose==1.29.2
37-
# via derex.runner (setup.py)
38-
dockerpty==0.4.1
39-
# via docker-compose
40-
docopt==0.6.2
41-
# via docker-compose
42-
idna==3.4
22+
idna==3.8
4323
# via requests
44-
importlib-metadata==6.8.0
24+
importlib-metadata==8.5.0
4525
# via derex.runner (setup.py)
46-
jinja2==3.1.2
26+
jinja2==3.1.4
4727
# via derex.runner (setup.py)
48-
jsonschema==3.2.0
49-
# via docker-compose
5028
markdown-it-py==3.0.0
5129
# via rich
52-
markupsafe==2.1.3
30+
markupsafe==2.1.5
5331
# via jinja2
5432
mdurl==0.1.2
5533
# via markdown-it-py
56-
packaging==23.2
57-
# via docker
58-
paramiko==3.3.1
59-
# via docker
60-
pluggy==1.3.0
34+
pluggy==1.5.0
6135
# via derex.runner (setup.py)
62-
pycparser==2.21
63-
# via cffi
64-
pydantic==2.4.2
36+
pydantic==2.9.1
6537
# via python-on-whales
66-
pydantic-core==2.10.1
38+
pydantic-core==2.23.3
6739
# via pydantic
68-
pygments==2.16.1
40+
pygments==2.18.0
6941
# via rich
7042
pymongo==3.13.0
7143
# via derex.runner (setup.py)
72-
pymysql==1.1.0
44+
pymysql==1.1.1
7345
# via derex.runner (setup.py)
74-
pynacl==1.5.0
75-
# via paramiko
76-
pyrsistent==0.20.0
77-
# via jsonschema
78-
python-dotenv==0.21.1
79-
# via docker-compose
80-
python-on-whales==0.67.0
46+
python-on-whales==0.73.0
8147
# via derex.runner (setup.py)
8248
pyyaml==5.3
83-
# via
84-
# derex.runner (setup.py)
85-
# docker-compose
86-
requests==2.31.0
87-
# via
88-
# docker
89-
# docker-compose
90-
# python-on-whales
91-
rich==13.6.0
9249
# via derex.runner (setup.py)
93-
six==1.16.0
50+
requests==2.32.3
51+
# via python-on-whales
52+
rich==13.8.1
9453
# via
95-
# dockerpty
96-
# jsonschema
97-
# websocket-client
98-
texttable==1.7.0
99-
# via docker-compose
100-
tqdm==4.66.1
54+
# derex.runner (setup.py)
55+
# typer
56+
shellingham==1.5.4
57+
# via typer
58+
tqdm==4.66.5
10159
# via python-on-whales
102-
typer==0.9.0
60+
typer==0.12.5
10361
# via python-on-whales
104-
typing-extensions==4.8.0
62+
typing-extensions==4.12.2
10563
# via
10664
# pydantic
10765
# pydantic-core
10866
# python-on-whales
10967
# typer
110-
urllib3==2.0.7
111-
# via
112-
# docker
113-
# requests
114-
websocket-client==0.59.0
115-
# via
116-
# docker
117-
# docker-compose
118-
zipp==3.17.0
68+
urllib3==2.2.3
69+
# via requests
70+
zipp==3.20.2
11971
# via importlib-metadata
120-
121-
# The following packages are considered to be unsafe in a requirements file:
122-
# setuptools

setup.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
"appdirs",
1515
"Click",
1616
"click_plugins",
17-
"docker-compose",
1817
"importlib_metadata",
1918
"jinja2",
2019
"pluggy",

0 commit comments

Comments
 (0)