paths = { # subpaths of /video
    'capture',
    'encoded',
    'fuse',
    'intros',
    'repair',
    'tmp',
}

directories = {
    '/opt/crs-scripts': {},
}

for path in paths:
    directories[f'/video/{path}'] = {
        'owner': 'voc',
        'group': 'voc',
    }

git_deploy = {
    '/opt/crs-scripts': {
        'repo': 'https://github.com/crs-tools/crs-scripts.git',
        'rev': 'master',
    },
}

files = {
    '/etc/default/crs-worker': {
        'content_type': 'mako',
        'source': 'environment',
        'context': node.metadata.get('voc-tracker-worker'),
    },
}

for worker, script in {
    'recording-scheduler': 'script-A-recording-scheduler.pl',
    'mount4cut': 'script-B-mount4cut.pl',
    'cut-postprocessor': 'script-C-cut-postprocessor.pl',
    'encoding': 'script-D-encoding.pl',
    'postencoding': 'script-E-postencoding-auphonic.pl',
    'postprocessing': 'script-F-postprocessing-upload.pl',
}.items():
    files[f'/etc/systemd/system/crs-{worker}.service'] = {
        'content_type': 'mako',
        'source': 'crs-runner.service',
        'context': {
            'worker': worker,
            'script': script,
        },
        'needs': {
            'file:/etc/default/crs-worker',
        },
        'triggers': {
            'action:systemd-reload',
        },
    }