104 lines
2.9 KiB
Python
104 lines
2.9 KiB
Python
users = {
|
|
'steam': {
|
|
'home': '/opt/l4d2/steam',
|
|
'shell': '/bin/bash',
|
|
},
|
|
}
|
|
|
|
directories = {
|
|
'/opt/l4d2': {
|
|
'owner': 'steam', 'group': 'steam',
|
|
},
|
|
'/opt/l4d2/steam': {
|
|
'owner': 'steam', 'group': 'steam',
|
|
},
|
|
'/opt/l4d2/configs': {
|
|
'owner': 'steam', 'group': 'steam',
|
|
'purge': True,
|
|
},
|
|
'/opt/l4d2/scripts': {
|
|
'owner': 'steam', 'group': 'steam',
|
|
},
|
|
'/opt/l4d2/scripts/overlays': {
|
|
'owner': 'steam', 'group': 'steam',
|
|
'purge': True,
|
|
},
|
|
}
|
|
|
|
files = {
|
|
'/opt/l4d2/setup': {
|
|
'mode': '755',
|
|
'triggers': {
|
|
'svc_systemd:left4dead2-initialize.service:restart',
|
|
},
|
|
},
|
|
'/opt/l4d2/start': {
|
|
'mode': '755',
|
|
'triggers': {
|
|
f'svc_systemd:left4dead2-{server_name}.service:restart'
|
|
for server_name in node.metadata.get('left4dead2/servers').keys()
|
|
},
|
|
},
|
|
'/opt/l4d2/stop': {
|
|
'mode': '755',
|
|
'triggers': {
|
|
f'svc_systemd:left4dead2-{server_name}.service:restart'
|
|
for server_name in node.metadata.get('left4dead2/servers').keys()
|
|
},
|
|
},
|
|
'/opt/l4d2/scripts/helpers': {
|
|
'source': 'scripts/helpers',
|
|
'mode': '755',
|
|
'triggers': {
|
|
'svc_systemd:left4dead2-initialize.service:restart',
|
|
},
|
|
},
|
|
}
|
|
|
|
for overlay in node.metadata.get('left4dead2/overlays'):
|
|
files[f'/opt/l4d2/scripts/overlays/{overlay}'] = {
|
|
'source': f'scripts/overlays/{overlay}',
|
|
'mode': '755',
|
|
'triggers': {
|
|
'svc_systemd:left4dead2-initialize.service:restart',
|
|
},
|
|
}
|
|
|
|
svc_systemd = {
|
|
'left4dead2-initialize.service': {
|
|
'enabled': True,
|
|
'running': None,
|
|
'needs': {
|
|
'file:/opt/l4d2/setup',
|
|
'file:/usr/local/lib/systemd/system/left4dead2-initialize.service',
|
|
},
|
|
},
|
|
}
|
|
|
|
for server_name, config in node.metadata.get('left4dead2/servers').items():
|
|
files[f'/opt/l4d2/configs/{server_name}.cfg'] = {
|
|
'source': 'server.cfg',
|
|
'content_type': 'mako',
|
|
'context': {
|
|
'server_name': server_name,
|
|
'rcon_password': repo.vault.decrypt('encrypt$gAAAAABpAdZhxwJ47I1AXotuZmBvyZP1ecVTt9IXFkLI28JiVS74LKs9QdgIBz-FC-iXtIHHh_GVGxxKQZprn4UrXZcvZ57kCKxfHBs3cE2JiGnbWE8_mfs=').value,
|
|
'config': config.get('config', []),
|
|
},
|
|
'owner': 'steam',
|
|
'mode': '644',
|
|
'triggers': {
|
|
f'svc_systemd:left4dead2-{server_name}.service:restart',
|
|
},
|
|
}
|
|
|
|
svc_systemd[f'left4dead2-{server_name}.service'] = {
|
|
'enabled': True,
|
|
'running': True,
|
|
'tags': {
|
|
'left4dead2-servers',
|
|
},
|
|
'needs': {
|
|
'svc_systemd:left4dead2-initialize.service',
|
|
f'file:/usr/local/lib/systemd/system/left4dead2-{server_name}.service',
|
|
},
|
|
}
|