11import { join } from 'node:path' ;
2- import { access , constants } from 'node:fs/promises' ;
2+
33import Docker from 'dockerode' ;
44import { SCONIFY_IMAGE_NAME } from '../constants/constants.js' ;
55import { logger } from '../utils/logger.js' ;
@@ -10,7 +10,8 @@ import { removeContainer } from './removeContainer.js';
1010
1111const docker = new Docker ( ) ;
1212
13- const ENCLAVE_KEY_PATH = join ( process . cwd ( ) , 'sig/enclave-key.pem' ) ;
13+ const ENCLAVE_KEY_PATH =
14+ process . env . ENCLAVE_KEY_PATH || join ( process . cwd ( ) , 'sig/enclave-key.pem' ) ;
1415
1516/**
1617 * Sconifies an iapp docker image
@@ -47,19 +48,6 @@ export async function sconifyImage({
4748 logger . info ( { sconifierImage } , 'Pulling sconifier image...' ) ;
4849 await pullSconeImage ( sconifierImage ) ;
4950
50- if ( prod ) {
51- // check signing key can be read on host
52- try {
53- await access ( ENCLAVE_KEY_PATH , constants . R_OK ) ;
54- } catch ( error ) {
55- logger . error (
56- { error, path : ENCLAVE_KEY_PATH } ,
57- 'Cannot read enclave key from host'
58- ) ;
59- throw new Error ( 'Cannot read enclave key from host' ) ;
60- }
61- }
62-
6351 const toImage = `${ fromImage } -tmp-sconified-${ Date . now ( ) } ` ; // create an unique temporary identifier for the target image
6452 logger . info ( { fromImage, toImage } , 'Sconifying...' ) ;
6553
@@ -87,7 +75,7 @@ export async function sconifyImage({
8775 : sconifyBaseCmd ,
8876 HostConfig : {
8977 Binds : prod
90- ? baseBinds . concat ( `${ ENCLAVE_KEY_PATH } :/sig/enclave-key.pem:ro` ) // mount signing key
78+ ? baseBinds . concat ( `${ ENCLAVE_KEY_PATH } :/sig/enclave-key.pem:ro` ) // mount signing key from host
9179 : baseBinds ,
9280 } ,
9381 } ) ;
0 commit comments