Mercurial > code > home > repos > infra
comparison users.py @ 0:1550a6db59b3
first ported section from ansible. shorter, faster, clearer.
author | drewp@bigasterisk.com |
---|---|
date | Thu, 04 Nov 2021 00:47:36 -0700 |
parents | |
children | 61945df2a392 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:1550a6db59b3 |
---|---|
1 from pyinfra import host | |
2 from pyinfra.operations import server | |
3 from pyinfra.facts.server import LinuxDistribution | |
4 | |
5 is_pi = host.get_fact(LinuxDistribution)['name'] == 'Debian' | |
6 | |
7 # 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 | |
9 # different id. | |
10 drewp_gid = 1000 if not is_pi else 501 | |
11 drewp_uid = 501 | |
12 drewp_groups = [ | |
13 'lp', 'adm', 'dialout', 'cdrom', 'sudo', 'audio', 'video', 'plugdev', | |
14 'games', 'users', 'netdev', 'i2c', 'input', 'spi', 'gpio', 'fuse', | |
15 'docker', 'render' | |
16 ] | |
17 | |
18 for group in [ | |
19 'fuse', | |
20 'spi', | |
21 'gpio', | |
22 'i2c', | |
23 'input', | |
24 'netdev', | |
25 'docker', | |
26 'render', | |
27 ]: | |
28 server.group(group=group) | |
29 | |
30 server.group(group='drewp', gid=drewp_gid) | |
31 server.user(user='drewp', group='drewp', groups=drewp_groups) | |
32 | |
33 if not is_pi: | |
34 server.group(group='adm', gid=4) | |
35 server.group(group='cdrom', gid=24) | |
36 server.group(group='dialout', gid=20) | |
37 server.group(group='dip', gid=30) | |
38 server.group(group='lp', gid=7) | |
39 # prime has something on 109 | |
40 server.group(group='lpadmin', gid=200) | |
41 server.group(group='plugdev', gid=46) | |
42 server.group(group='docker', system=True) | |
43 | |
44 server.group(group='damon', gid=3011) | |
45 server.group(group='ffg', gid=3008) | |
46 | |
47 server.group(group='drewnote', gid=1009) | |
48 | |
49 server.user(user='drewp', | |
50 uid=drewp_uid, | |
51 group='drewp', | |
52 groups=drewp_groups) | |
53 | |
54 server.group(group='ari', gid=3019) | |
55 server.user(user='ari', | |
56 uid=3019, | |
57 group='ari', | |
58 groups=['docker', 'sudo', 'audio', 'video', 'lpadmin', 'lp']) | |
59 | |
60 server.user(user='ffg', uid=3013, group='ffg') | |
61 | |
62 server.user(user='darcsweb') | |
63 | |
64 server.user(user='newsbru', uid=1019) | |
65 server.user(user='dmcc', uid=1013) | |
66 | |
67 server.group(group='elastic', gid=3018) | |
68 server.user(user='elastic', uid=3018, group='elastic') | |
69 | |
70 server.group(group='kelsi', gid=1008) | |
71 server.user(user='kelsi', uid=1008, group='elastic') | |
72 | |
73 server.group(group='drewnote', gid=1009) | |
74 server.user(user='drewnote', uid=1009) | |
75 | |
76 server.group(group='prometheus', gid=1010) | |
77 server.user(user='prometheus', uid=1010) | |
78 | |
79 if is_pi: | |
80 server.group(group='fuse') | |
81 server.user(user='pi', | |
82 uid=1000, | |
83 group=7, | |
84 groups=[ | |
85 'lp', 'adm', 'dialout', 'cdrom', 'sudo', 'audio', 'video', | |
86 'plugdev', 'games', 'users', 'netdev', 'i2c', 'input', | |
87 'spi', 'gpio', 'fuse', 'docker' | |
88 ]) |