annotate users.py @ 288:3af02e24eaf9

minor
author drewp@bigasterisk.com
date Sun, 21 Apr 2024 17:01:13 -0700
parents e10ee3ddadcf
children 65e28d2e0cd8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
1 from pyinfra import host
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
2 from pyinfra.operations import server
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
3 from pyinfra.facts.server import LinuxDistribution
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
4
3
61945df2a392 updates to work on recent raspbian installs
drewp@bigasterisk.com
parents: 0
diff changeset
5 is_pi = host.get_fact(LinuxDistribution)['name'] in ['Debian', 'Raspbian GNU/Linux']
0
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
6
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
7 # raspbian took 1000 for 'pi' group, but drewp is rarely used on pi
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
8 # setups so hopefully it won't matter much that drew group has a
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
9 # different id.
278
4e424a144183 for netboot pi
drewp@bigasterisk.com
parents: 275
diff changeset
10 drewp_uid, drewp_gid = 501, 1000
282
e10ee3ddadcf pi changes
drewp@bigasterisk.com
parents: 280
diff changeset
11 if host.name in ['pillow', ]:
278
4e424a144183 for netboot pi
drewp@bigasterisk.com
parents: 275
diff changeset
12 drewp_uid, drewp_gid = 1000, 1000
282
e10ee3ddadcf pi changes
drewp@bigasterisk.com
parents: 280
diff changeset
13 if host.name in ['pipe', 'garage', 'ws-printer', 'gn-music', 'li-drums']:
278
4e424a144183 for netboot pi
drewp@bigasterisk.com
parents: 275
diff changeset
14 drewp_uid, drewp_gid = 1001, 501
0
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
15 drewp_groups = [
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
16 'lp', 'adm', 'dialout', 'cdrom', 'sudo', 'audio', 'video', 'plugdev',
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
17 'games', 'users', 'netdev', 'i2c', 'input', 'spi', 'gpio', 'fuse',
171
5565e4c907aa add drewp groups; fix logic err
drewp@bigasterisk.com
parents: 168
diff changeset
18 'docker', 'render', 'mongodb', 'lpadmin'
0
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
19 ]
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
20
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
21 for group in [
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
22 'fuse',
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
23 'spi',
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
24 'gpio',
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
25 'i2c',
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
26 'input',
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
27 'netdev',
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
28 'docker',
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
29 'render',
171
5565e4c907aa add drewp groups; fix logic err
drewp@bigasterisk.com
parents: 168
diff changeset
30 'lpadmin',
0
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
31 ]:
72
f0e59adf7b91 updates that aren't pkg or version changes
drewp@bigasterisk.com
parents: 69
diff changeset
32 server.group(group=group, system=True)
0
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
33
171
5565e4c907aa add drewp groups; fix logic err
drewp@bigasterisk.com
parents: 168
diff changeset
34 svcIds = 1050
5565e4c907aa add drewp groups; fix logic err
drewp@bigasterisk.com
parents: 168
diff changeset
35 for svc in [
5565e4c907aa add drewp groups; fix logic err
drewp@bigasterisk.com
parents: 168
diff changeset
36 # only append to this list:
5565e4c907aa add drewp groups; fix logic err
drewp@bigasterisk.com
parents: 168
diff changeset
37 "photoprism",
5565e4c907aa add drewp groups; fix logic err
drewp@bigasterisk.com
parents: 168
diff changeset
38 "mongodb",
5565e4c907aa add drewp groups; fix logic err
drewp@bigasterisk.com
parents: 168
diff changeset
39 ]:
5565e4c907aa add drewp groups; fix logic err
drewp@bigasterisk.com
parents: 168
diff changeset
40 server.group(group=svc, gid=svcIds)
5565e4c907aa add drewp groups; fix logic err
drewp@bigasterisk.com
parents: 168
diff changeset
41 server.user(user=svc, uid=svcIds, group=svc)
5565e4c907aa add drewp groups; fix logic err
drewp@bigasterisk.com
parents: 168
diff changeset
42 svcIds += 1
5565e4c907aa add drewp groups; fix logic err
drewp@bigasterisk.com
parents: 168
diff changeset
43
0
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
44 server.group(group='drewp', gid=drewp_gid)
145
drewp@bigasterisk.com
parents: 86
diff changeset
45 # this won't change existing drewp uid; I've been doing that myself.
86
drewp@bigasterisk.com
parents: 72
diff changeset
46 server.user(user='drewp', uid=drewp_uid, group='drewp', groups=drewp_groups)
0
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
47
168
e18d1a8b1523 start making linux users per service
drewp@bigasterisk.com
parents: 156
diff changeset
48
e18d1a8b1523 start making linux users per service
drewp@bigasterisk.com
parents: 156
diff changeset
49
0
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
50 if not is_pi:
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
51 server.group(group='adm', gid=4)
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
52 server.group(group='cdrom', gid=24)
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
53 server.group(group='dialout', gid=20)
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
54 server.group(group='dip', gid=30)
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
55 server.group(group='lp', gid=7)
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
56 # prime has something on 109
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
57 server.group(group='lpadmin', gid=200)
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
58 server.group(group='plugdev', gid=46)
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
59 server.group(group='docker', system=True)
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
60
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
61 server.group(group='damon', gid=3011)
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
62 server.group(group='ffg', gid=3008)
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
63
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
64 server.user(user='drewp',
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
65 uid=drewp_uid,
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
66 group='drewp',
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
67 groups=drewp_groups)
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
68
156
d10cab700ce6 add user
drewp@bigasterisk.com
parents: 145
diff changeset
69 for name, uid, gid in [
d10cab700ce6 add user
drewp@bigasterisk.com
parents: 145
diff changeset
70 ('ari', 3019, 3019),
d10cab700ce6 add user
drewp@bigasterisk.com
parents: 145
diff changeset
71 ('talia', 1003, 1003),
d10cab700ce6 add user
drewp@bigasterisk.com
parents: 145
diff changeset
72 ]:
d10cab700ce6 add user
drewp@bigasterisk.com
parents: 145
diff changeset
73 server.group(group=name, gid=gid)
d10cab700ce6 add user
drewp@bigasterisk.com
parents: 145
diff changeset
74 server.user(user=name,
d10cab700ce6 add user
drewp@bigasterisk.com
parents: 145
diff changeset
75 uid=uid,
d10cab700ce6 add user
drewp@bigasterisk.com
parents: 145
diff changeset
76 group=name,
50
68eeca50ae7f ari groups +dialout
drewp@bigasterisk.com
parents: 3
diff changeset
77 groups=['audio', 'dialout', 'docker', 'lp', 'lpadmin', 'sudo', 'video'])
0
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
78
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
79 server.user(user='ffg', uid=3013, group='ffg')
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
80
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
81 server.user(user='darcsweb')
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
82
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
83 server.user(user='newsbru', uid=1019)
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
84 server.user(user='dmcc', uid=1013)
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
85
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
86 server.group(group='elastic', gid=3018)
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
87 server.user(user='elastic', uid=3018, group='elastic')
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
88
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
89 server.group(group='kelsi', gid=1008)
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
90 server.user(user='kelsi', uid=1008, group='elastic')
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
91
72
f0e59adf7b91 updates that aren't pkg or version changes
drewp@bigasterisk.com
parents: 69
diff changeset
92 if host.name != 'pipe': # https://github.com/Fizzadar/pyinfra/issues/835
f0e59adf7b91 updates that aren't pkg or version changes
drewp@bigasterisk.com
parents: 69
diff changeset
93 server.group(group='drewnote', gid=1009)
f0e59adf7b91 updates that aren't pkg or version changes
drewp@bigasterisk.com
parents: 69
diff changeset
94 server.user(user='drewnote', uid=1009)
0
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
95
72
f0e59adf7b91 updates that aren't pkg or version changes
drewp@bigasterisk.com
parents: 69
diff changeset
96 server.group(group='prometheus', gid=1010)
f0e59adf7b91 updates that aren't pkg or version changes
drewp@bigasterisk.com
parents: 69
diff changeset
97 server.user(user='prometheus', uid=1010)
0
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
98
288
drewp@bigasterisk.com
parents: 282
diff changeset
99 # delete when garage is diskless
278
4e424a144183 for netboot pi
drewp@bigasterisk.com
parents: 275
diff changeset
100 if host.name == 'garage':
0
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
101 server.group(group='fuse')
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
102 server.user(user='pi',
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
103 uid=1000,
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
104 group=7,
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
105 groups=[
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
106 'lp', 'adm', 'dialout', 'cdrom', 'sudo', 'audio', 'video',
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
107 'plugdev', 'games', 'users', 'netdev', 'i2c', 'input',
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
108 'spi', 'gpio', 'fuse', 'docker'
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
109 ])