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"]}',
 | 
						|
        ],
 | 
						|
    }
 |