pyinfra/provision.py

41 lines
847 B
Python
Raw Normal View History

2025-02-07 13:58:37 +01:00
from pyinfra import host
2023-10-04 18:05:47 +02:00
from pyinfra.operations import apt
from pyinfra_docker import deploy_docker
2025-02-07 13:58:37 +01:00
from tasks.k3s import setup_k3s
2024-04-25 15:31:13 +02:00
from tasks.ssh import setup_ssh
from tasks.tailscale import deploy_tailscale
2023-10-04 18:05:47 +02:00
apt.packages(
name="Update and upgrade server",
update=True,
2024-06-08 00:53:33 +02:00
upgrade=True,
2023-10-04 18:05:47 +02:00
)
apt.packages(
name="Install useful packages",
2025-02-07 13:58:37 +01:00
packages=["htop", "curl", "ufw", "qemu-guest-agent", "nfs-common"],
2023-10-04 18:05:47 +02:00
)
setup_ssh()
2025-02-07 13:58:37 +01:00
if host.data.get("docker"):
apt.packages(
name="Install packages required by Docker",
packages=[
"apt-transport-https",
"ca-certificates",
"curl",
"gnupg-agent",
"software-properties-common",
],
)
deploy_docker()
if host.data.get("tailscale"):
deploy_tailscale()
2024-04-25 15:31:13 +02:00
2025-02-07 13:58:37 +01:00
if host.data.get("k3s"):
setup_k3s()