54 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| 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',
 | |
|     }
 | |
| }
 |