Packaging DeploysΒΆ
Operations represent low-level state that should be met and applied if needed. Deploys are more high-level, for example “install & configure service X”. They represent a collection of operations. Like operations, deploys can be made into python packages making them reusable and shareable.
Writing a deploy is similar to writing an operation:
from pyinfra.api import deploy
from pyinfra.modules import apt
@deploy('Install MariaDB')
def install_mariadb(state, host):
apt.packages(
{'Install MariaDB apt package'},
state, host,
'mariadb-server',
)