Skip to content

Commit ca61c06

Browse files
Ryan McCorryFizzadar
authored andcommitted
Update README and move versioning to global inventory data
1 parent a3aee1e commit ca61c06

File tree

2 files changed

+15
-11
lines changed

2 files changed

+15
-11
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ A basic [pyinfra](https://pyinfra.com) deploy that installs and optionally confi
66
+ Debian 8/9/10
77
+ CentOS 7/8
88

9+
This deploy installs packages in the `docker-ce` ecosystem (`docker-ce`/`docker-ce-cli`/`docker-ce-rootless-extras`) You can specify `docker_version` in your inventory data file and it will install that version for all `docker-ce` packages.
10+
911
## Usage
1012

1113
See [the example](https://github.com/Fizzadar/pyinfra-docker/tree/master/example) for a more complete example.

pyinfra_docker/docker.py

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,21 @@
1111
from pyinfra.operations import apt, dnf, files, yum
1212

1313

14-
def get_pkgs_to_install(version):
14+
DEFAULTS = {
15+
"docker_version": None,
16+
}
17+
18+
19+
def get_pkgs_to_install():
1520
docker_packages = [
1621
"docker-ce",
17-
"docker-ce-cli"
22+
"docker-ce-cli",
23+
"docker-ce-rootless-extras",
1824
]
19-
if not version:
25+
if not host.data.docker_version:
2026
return docker_packages
2127

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]
2729

2830

2931

@@ -82,16 +84,16 @@ def _yum_or_dnf_install(yum_or_dnf, packages):
8284
)
8385

8486

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):
8789
"""
8890
Install Docker on the target machine.
8991
9092
Args:
9193
config: filename or dict of JSON data
9294
"""
9395

94-
packages = get_pkgs_to_install(version)
96+
packages = get_pkgs_to_install()
9597
if host.get_fact(DebPackages):
9698
_apt_install(packages)
9799
elif host.get_fact(RpmPackages):

0 commit comments

Comments
 (0)