Mercurial > code > home > repos > infra
comparison 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 |
comparison
equal
deleted
inserted
replaced
288:3af02e24eaf9 | 289:65e28d2e0cd8 |
---|---|
1 from pyinfra import host | 1 from pyinfra import host |
2 from pyinfra.operations import server | 2 from pyinfra.operations import server |
3 from pyinfra.facts.server import LinuxDistribution | 3 from pyinfra.facts.server import LinuxDistribution |
4 | 4 |
5 is_pi = host.get_fact(LinuxDistribution)['name'] in ['Debian', 'Raspbian GNU/Linux'] | |
6 | 5 |
7 # raspbian took 1000 for 'pi' group, but drewp is rarely used on pi | 6 # raspbian took 1000 for 'pi' group, but drewp is rarely used on pi |
8 # setups so hopefully it won't matter much that drew group has a | 7 # setups so hopefully it won't matter much that drew group has a |
9 # different id. | 8 # different id. |
10 drewp_uid, drewp_gid = 501, 1000 | 9 drewp_uid, drewp_gid = host.data.drewp_uid, host.data.drewp_gid |
11 if host.name in ['pillow', ]: | |
12 drewp_uid, drewp_gid = 1000, 1000 | |
13 if host.name in ['pipe', 'garage', 'ws-printer', 'gn-music', 'li-drums']: | |
14 drewp_uid, drewp_gid = 1001, 501 | |
15 drewp_groups = [ | 10 drewp_groups = [ |
16 'lp', 'adm', 'dialout', 'cdrom', 'sudo', 'audio', 'video', 'plugdev', | 11 'lp', 'adm', 'dialout', 'cdrom', 'sudo', 'audio', 'video', 'plugdev', |
17 'games', 'users', 'netdev', 'i2c', 'input', 'spi', 'gpio', 'fuse', | 12 'games', 'users', 'netdev', 'i2c', 'input', 'spi', 'gpio', 'fuse', |
18 'docker', 'render', 'mongodb', 'lpadmin' | 13 'docker', 'render', 'mongodb', 'lpadmin' |
19 ] | 14 ] |
44 server.group(group='drewp', gid=drewp_gid) | 39 server.group(group='drewp', gid=drewp_gid) |
45 # this won't change existing drewp uid; I've been doing that myself. | 40 # this won't change existing drewp uid; I've been doing that myself. |
46 server.user(user='drewp', uid=drewp_uid, group='drewp', groups=drewp_groups) | 41 server.user(user='drewp', uid=drewp_uid, group='drewp', groups=drewp_groups) |
47 | 42 |
48 | 43 |
49 | 44 if 'pi' not in host.groups: |
50 if not is_pi: | |
51 server.group(group='adm', gid=4) | 45 server.group(group='adm', gid=4) |
52 server.group(group='cdrom', gid=24) | 46 server.group(group='cdrom', gid=24) |
53 server.group(group='dialout', gid=20) | 47 server.group(group='dialout', gid=20) |
54 server.group(group='dip', gid=30) | 48 server.group(group='dip', gid=30) |
55 server.group(group='lp', gid=7) | 49 server.group(group='lp', gid=7) |
87 server.user(user='elastic', uid=3018, group='elastic') | 81 server.user(user='elastic', uid=3018, group='elastic') |
88 | 82 |
89 server.group(group='kelsi', gid=1008) | 83 server.group(group='kelsi', gid=1008) |
90 server.user(user='kelsi', uid=1008, group='elastic') | 84 server.user(user='kelsi', uid=1008, group='elastic') |
91 | 85 |
92 if host.name != 'pipe': # https://github.com/Fizzadar/pyinfra/issues/835 | 86 server.group(group='drewnote', gid=1009) |
93 server.group(group='drewnote', gid=1009) | 87 server.user(user='drewnote', uid=1009) |
94 server.user(user='drewnote', uid=1009) | |
95 | 88 |
96 server.group(group='prometheus', gid=1010) | 89 server.group(group='prometheus', gid=1010) |
97 server.user(user='prometheus', uid=1010) | 90 server.user(user='prometheus', uid=1010) |
98 | 91 |
99 # delete when garage is diskless | 92 # delete when garage is diskless |
100 if host.name == 'garage': | 93 if host.name == 'garage': |
101 server.group(group='fuse') | 94 server.group(group='fuse') |
102 server.user(user='pi', | 95 server.user(user='pi', |