43 lines
		
	
	
	
		
			970 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
	
		
			970 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| from json import dumps
 | |
| 
 | |
| directories['/etc/gocryptfs'] = {
 | |
|     'purge': True,
 | |
| }
 | |
| 
 | |
| files['/etc/gocryptfs/masterkey'] = {
 | |
|     'content': node.metadata.get('gocryptfs/masterkey'),
 | |
|     'mode': '500',
 | |
| }
 | |
| 
 | |
| files['/etc/gocryptfs/gocryptfs.conf'] = {
 | |
|     'content': dumps({
 | |
|     	'Version': 2,
 | |
|     	'Creator': 'gocryptfs 1.6.1',
 | |
|     	'ScryptObject': {
 | |
|     		'Salt': node.metadata.get('gocryptfs/salt'),
 | |
|     		'N': 65536,
 | |
|     		'R': 8,
 | |
|     		'P': 1,
 | |
|     		'KeyLen': 32,
 | |
|     	},
 | |
|     	'FeatureFlags': [
 | |
|     		'GCMIV128',
 | |
|     		'HKDF',
 | |
|     		'PlaintextNames',
 | |
|     		'AESSIV',
 | |
|     	]
 | |
|     }, indent=4, sort_keys=True)
 | |
| }
 | |
| 
 | |
| for path, options in node.metadata.get('gocryptfs/paths').items():
 | |
|     directories[options['mountpoint']] = {
 | |
|         'owner': None,
 | |
|         'group': None,
 | |
|         'mode': None,
 | |
|         'preceded_by': [
 | |
|             f'svc_systemd:gocryptfs-{options["id"]}:stop',
 | |
|         ],
 | |
|         'needed_by': [
 | |
|             f'svc_systemd:gocryptfs-{options["id"]}',
 | |
|         ],
 | |
|     }
 | 
