45 lines
		
	
	
	
		
			937 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
	
		
			937 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| defaults = {
 | |
|     'apt': {
 | |
|         'packages': {
 | |
|             'jq': {},
 | |
|         },
 | |
|     },
 | |
|     'archive': {
 | |
|         'paths': {},
 | |
|     },
 | |
| }
 | |
| 
 | |
| 
 | |
| @metadata_reactor.provides(
 | |
|     'archive/paths',
 | |
| )
 | |
| def paths(metadata):
 | |
|     return {
 | |
|         'archive': {
 | |
|             'paths': {
 | |
|                 path: {
 | |
|                     'encrypted_path': f'/mnt/archive.enc{path}',
 | |
|                     'exclude': [
 | |
|                         '^\..*',
 | |
|                         '/\..*',
 | |
|                     ],
 | |
|                 } for path in metadata.get('archive/paths')
 | |
|             },
 | |
|         }
 | |
|     }
 | |
| 
 | |
| 
 | |
| @metadata_reactor.provides(
 | |
|     'gocryptfs/paths',
 | |
| )
 | |
| def gocryptfs(metadata):
 | |
|     return {
 | |
|         'gocryptfs': {
 | |
|             'paths': {
 | |
|                 path: {
 | |
|                     'mountpoint': options['encrypted_path'],
 | |
|                     'reverse': True,
 | |
|                 } for path, options in metadata.get('archive/paths').items()
 | |
|             },
 | |
|         }
 | |
|     }
 | 
