-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup.py
More file actions
executable file
·40 lines (32 loc) · 1.21 KB
/
setup.py
File metadata and controls
executable file
·40 lines (32 loc) · 1.21 KB
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
#!/usr/bin/env python3
# steven@makeitwork.cloud
# https://github.com/welchworks/cflan/blob/main/setup.py
# setup.py - Creates NetworkManager dispatcher script
import os
import shutil
import sys
def setup() -> None:
"""Deploy NetworkManager dispatcher script and configuration files."""
if os.getuid() != 0:
sys.exit("Must run as root")
print("Deploying NetworkManager script...")
shutil.copyfile("set_dns.py", "/etc/NetworkManager/dispatcher.d/set_dns")
os.chown("/etc/NetworkManager/dispatcher.d/set_dns", 0, 0)
os.chmod("/etc/NetworkManager/dispatcher.d/set_dns", 0o700)
print("Attempting to deploy vars.yaml ...")
try:
shutil.copyfile("vars.yaml", "/vars.yaml")
os.chown("/vars.yaml", 0, 0)
os.chmod("/vars.yaml", 0o600)
except Exception:
print("Could not deploy vars.yaml ...")
print("Deploying sops_vars.yaml ...")
print(
"Ensure that the sops environment & encryption standards are setup for root..."
)
shutil.copyfile("sops_vars.yaml", "/sops_vars.yaml")
os.chown("/sops_vars.yaml", 0, 0)
os.chmod("/sops_vars.yaml", 0o600)
print("Success!")
if __name__ == "__main__":
setup()