defaults = { 'apt': { 'packages': { 'python3-pip': {}, }, }, 'postgresql': { 'roles': { 'steam_chat_logger': { 'password': repo.vault.password_for(f'{node.name} postgresql steam_chat_logger'), }, }, 'databases': { 'steam_chat_logger': { 'owner': 'steam_chat_logger', }, }, }, 'users': { 'steam_chat_logger': {}, }, 'zfs': { 'datasets': { 'tank/steam-chat-logger': { 'mountpoint': '/var/lib/steam_chat_logger', }, }, }, } @metadata_reactor.provides( 'systemd-timers/steam-chat-logger', ) def systemd_timer(metadata): return { 'systemd-timers': { f'steam-chat-logger': { 'command': '/opt/steam_chat_logger/steam_chat_logger.py', 'when': 'hourly', 'user': 'steam_chat_logger', 'env': { 'DB_NAME': 'steam_chat_logger', 'DB_USER': 'steam_chat_logger', 'DB_PASSWORD': metadata.get('postgresql/roles/steam_chat_logger/password'), **metadata.get('steam_chat_logger'), }, 'working_dir': '/var/lib/steam_chat_logger', }, }, }