-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdeploy.py
40 lines (32 loc) · 847 Bytes
/
deploy.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
from pyinfra.api import deploy
from pyinfra.operations import apt, files, server
@deploy("Install common base packages")
def install_base_packages():
apt.packages(
name="Install base packages",
packages=["dstat", "iftop"],
update=True,
cache_time=3600,
)
@deploy("Setup nginx server")
def setup_nginx():
apt.packages(
name="Install nginx",
packages=["nginx"],
update=True,
cache_time=3600,
)
remove_default_config = files.file(
name="Remove nginx default config",
path="/etc/nginx/nginx.conf",
present=False,
)
server.service(
name="Reload nginx",
service="nginx",
reloaded=True,
_if=remove_default_config.did_change,
)
def deploy_server():
install_base_packages()
setup_nginx()