|
11 | 11 | from pyinfra.operations import apt, dnf, files, yum |
12 | 12 |
|
13 | 13 |
|
14 | | -def get_pkgs_to_install(version): |
| 14 | +DEFAULTS = { |
| 15 | + "docker_version": None, |
| 16 | +} |
| 17 | + |
| 18 | + |
| 19 | +def get_pkgs_to_install(): |
15 | 20 | docker_packages = [ |
16 | 21 | "docker-ce", |
17 | | - "docker-ce-cli" |
| 22 | + "docker-ce-cli", |
| 23 | + "docker-ce-rootless-extras", |
18 | 24 | ] |
19 | | - if not version: |
| 25 | + if not host.data.docker_version: |
20 | 26 | return docker_packages |
21 | 27 |
|
22 | | - versioned_packages = [] |
23 | | - for pkg in docker_packages: |
24 | | - versioned_packages.append(f"{pkg}={version}") |
25 | | - |
26 | | - return versioned_packages |
| 28 | + return [f"{pkg}={host.data.docker_version}" for pkg in docker_packages] |
27 | 29 |
|
28 | 30 |
|
29 | 31 |
|
@@ -82,16 +84,16 @@ def _yum_or_dnf_install(yum_or_dnf, packages): |
82 | 84 | ) |
83 | 85 |
|
84 | 86 |
|
85 | | -@deploy("Deploy Docker") |
86 | | -def deploy_docker(config=None, version=None): |
| 87 | +@deploy("Deploy Docker", data_defaults=DEFAULTS) |
| 88 | +def deploy_docker(config=None): |
87 | 89 | """ |
88 | 90 | Install Docker on the target machine. |
89 | 91 |
|
90 | 92 | Args: |
91 | 93 | config: filename or dict of JSON data |
92 | 94 | """ |
93 | 95 |
|
94 | | - packages = get_pkgs_to_install(version) |
| 96 | + packages = get_pkgs_to_install() |
95 | 97 | if host.get_fact(DebPackages): |
96 | 98 | _apt_install(packages) |
97 | 99 | elif host.get_fact(RpmPackages): |
|
0 commit comments