users = {
    'steam': {
        'home': '/opt/steam/steam',
    },
}

directories = {
    '/opt/steam': {
        'owner': 'steam',
        'group': 'steam',
        'needs': [
            'zfs_dataset:tank/steam',
        ],
    },
    '/opt/steam/steam': {
        'owner': 'steam',
        'group': 'steam',
    },
}
for game in node.metadata.get('steam/games'):
    directories[f'/opt/steam/{game}'] = {
        'owner': 'steam',
        'group': 'steam',
        'needed_by': [
            'svc_systemd:steam-update.service',
        ],
    }

files = {
    '/opt/steam/steam/steamcmd_linux.tar.gz': {
        'content_type': 'download',
        'source': 'https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz',
        'owner': 'steam',
        'group': 'steam',
    },
}

actions = {
    'extract_steamcmd': {
        'command': """su - steam -c 'tar xfvz /opt/steam/steam/steamcmd_linux.tar.gz --directory /opt/steam/steam'""",
        'unless': 'test -f /opt/steam/steam/steamcmd.sh',
        'needs': [
            'file:/opt/steam/steam/steamcmd_linux.tar.gz',
        ],
    },
}

svc_systemd['steam-update.service'] = {
    'running': None,
    'enabled': True,
    'needs': {
        'file:/usr/local/lib/systemd/system/steam-update.service',
    }
}