diff users.py @ 289:65e28d2e0cd8

move static templates to files/ ; use inventory tags for selecting hosts+features ; other refactors
author drewp@bigasterisk.com
date Sun, 21 Apr 2024 17:07:23 -0700
parents 3af02e24eaf9
children b3acb9fff274
line wrap: on
line diff
--- a/users.py	Sun Apr 21 17:01:13 2024 -0700
+++ b/users.py	Sun Apr 21 17:07:23 2024 -0700
@@ -2,16 +2,11 @@
 from pyinfra.operations import server
 from pyinfra.facts.server import LinuxDistribution
 
-is_pi = host.get_fact(LinuxDistribution)['name'] in ['Debian', 'Raspbian GNU/Linux']
 
 # raspbian took 1000 for 'pi' group, but drewp is rarely used on pi
 # setups so hopefully it won't matter much that drew group has a
 # different id.
-drewp_uid, drewp_gid = 501, 1000
-if host.name in ['pillow', ]:
-    drewp_uid, drewp_gid = 1000, 1000
-if host.name in ['pipe', 'garage', 'ws-printer', 'gn-music', 'li-drums']:
-    drewp_uid, drewp_gid = 1001, 501
+drewp_uid, drewp_gid = host.data.drewp_uid, host.data.drewp_gid
 drewp_groups = [
     'lp', 'adm', 'dialout', 'cdrom', 'sudo', 'audio', 'video', 'plugdev',
     'games', 'users', 'netdev', 'i2c', 'input', 'spi', 'gpio', 'fuse',
@@ -46,8 +41,7 @@
 server.user(user='drewp', uid=drewp_uid, group='drewp', groups=drewp_groups)
 
 
-
-if not is_pi:
+if 'pi' not in host.groups:
     server.group(group='adm', gid=4)
     server.group(group='cdrom', gid=24)
     server.group(group='dialout', gid=20)
@@ -89,12 +83,11 @@
     server.group(group='kelsi', gid=1008)
     server.user(user='kelsi', uid=1008, group='elastic')
 
-    if host.name != 'pipe':  # https://github.com/Fizzadar/pyinfra/issues/835
-        server.group(group='drewnote', gid=1009)
-        server.user(user='drewnote', uid=1009)
+    server.group(group='drewnote', gid=1009)
+    server.user(user='drewnote', uid=1009)
 
-        server.group(group='prometheus', gid=1010)
-        server.user(user='prometheus', uid=1010)
+    server.group(group='prometheus', gid=1010)
+    server.user(user='prometheus', uid=1010)
 
 # delete when garage is diskless
 if host.name == 'garage':