view users.py @ 300:e9950e0185b0

more hosts
author drewp@bigasterisk.com
date Wed, 07 Aug 2024 00:58:20 -0700
parents 65e28d2e0cd8
children b3acb9fff274
line wrap: on
line source

from pyinfra import host
from pyinfra.operations import server
from pyinfra.facts.server import LinuxDistribution


# 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 = 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',
    'docker', 'render', 'mongodb', 'lpadmin'
]

for group in [
        'fuse',
        'spi',
        'gpio',
        'i2c',
        'input',
        'netdev',
        'docker',
        'render',
        'lpadmin',
]:
    server.group(group=group, system=True)

svcIds = 1050
for svc in [
    # only append to this list:
    "photoprism",
    "mongodb",
]:
    server.group(group=svc, gid=svcIds)
    server.user(user=svc, uid=svcIds, group=svc)
    svcIds += 1

server.group(group='drewp', gid=drewp_gid)
# this won't change existing drewp uid; I've been doing that myself.
server.user(user='drewp', uid=drewp_uid, group='drewp', groups=drewp_groups)


if 'pi' not in host.groups:
    server.group(group='adm', gid=4)
    server.group(group='cdrom', gid=24)
    server.group(group='dialout', gid=20)
    server.group(group='dip', gid=30)
    server.group(group='lp', gid=7)
    # prime has something on 109
    server.group(group='lpadmin', gid=200)
    server.group(group='plugdev', gid=46)
    server.group(group='docker', system=True)

    server.group(group='damon', gid=3011)
    server.group(group='ffg', gid=3008)

    server.user(user='drewp',
                uid=drewp_uid,
                group='drewp',
                groups=drewp_groups)

    for name, uid, gid in [
            ('ari', 3019, 3019),
            ('talia', 1003, 1003),
            ]:
        server.group(group=name, gid=gid)
        server.user(user=name,
                uid=uid,
                group=name,
                groups=['audio', 'dialout', 'docker', 'lp', 'lpadmin', 'sudo', 'video'])

    server.user(user='ffg', uid=3013, group='ffg')

    server.user(user='darcsweb')

    server.user(user='newsbru', uid=1019)
    server.user(user='dmcc', uid=1013)

    server.group(group='elastic', gid=3018)
    server.user(user='elastic', uid=3018, group='elastic')

    server.group(group='kelsi', gid=1008)
    server.user(user='kelsi', uid=1008, group='elastic')

    server.group(group='drewnote', gid=1009)
    server.user(user='drewnote', uid=1009)

    server.group(group='prometheus', gid=1010)
    server.user(user='prometheus', uid=1010)

# delete when garage is diskless
if host.name == 'garage':
    server.group(group='fuse')
    server.user(user='pi',
                uid=1000,
                group=7,
                groups=[
                    'lp', 'adm', 'dialout', 'cdrom', 'sudo', 'audio', 'video',
                    'plugdev', 'games', 'users', 'netdev', 'i2c', 'input',
                    'spi', 'gpio', 'fuse', 'docker'
                ])