From b663cff49313634378ef8c6936e0068b58c9b55a Mon Sep 17 00:00:00 2001 From: Benoit Date: Sat, 15 Feb 2025 00:36:02 +0900 Subject: [PATCH] Update --- deploy.py | 8 ++++---- files/AdGuardHome.yaml | Bin 9318 -> 12368 bytes 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/deploy.py b/deploy.py index 22fd3d9..382472d 100644 --- a/deploy.py +++ b/deploy.py @@ -1,7 +1,7 @@ from pyinfra import host from pyinfra.operations import apt, server, files, systemd - -SUDO = True +from pyinfra.facts.files import Directory +from pyinfra.facts.systemd import SystemdEnabled #server.user( # name='Add user benpro', @@ -70,7 +70,7 @@ files.put( mode='400', ) -if not host.fact.directory('/etc/letsencrypt/live/dns.benpro.fr'): +if not host.get_fact(Directory, '/etc/letsencrypt/live/dns.benpro.fr'): server.shell( name='Add certificate', commands=[ @@ -124,7 +124,7 @@ server.shell( commands=['setcap \'CAP_NET_BIND_SERVICE=+eip CAP_NET_RAW=+eip\' AdGuardHome/AdGuardHome'], ) -if host.fact.systemd_enabled['AdGuardHome.service'] == False: +if host.get_fact(SystemdEnabled)['AdGuardHome.service'] == False: server.shell( name='Install Adguard systemd service file', chdir=host.data.app_dir, diff --git a/files/AdGuardHome.yaml b/files/AdGuardHome.yaml index fc62bd66f7f96a784f0d2570b33c36e5530ce7d4..34daba6ca4d3d91d874af6d34f808c8e89537cbd 100644 GIT binary patch literal 12368 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 Ch!so# literal 9318 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 C)L|lZTc21{bOM1J_34c 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