@@ -445,17 +445,17 @@ function writeContainerConfig(workDir, name, bootstrapPeers) {
445445 return configPath ;
446446}
447447
448- function startFullNode ( {
448+ export function buildFullNodeRunArgs ( {
449449 containerName,
450450 imageName,
451451 configPath,
452452 networkName,
453453 platform,
454454 binaryPath = '/opt/spacedatanetwork/bin/spacedatanetwork' ,
455- configTargetPath = '/etc/spacedatanetwork/config.yaml'
455+ configTargetPath = '/etc/spacedatanetwork/config.yaml' ,
456+ entrypoint
456457} ) {
457- log ( `starting ${ containerName } ` ) ;
458- runDocker ( [
458+ const args = [
459459 'run' ,
460460 '-d' ,
461461 '--platform' ,
@@ -465,25 +465,36 @@ function startFullNode({
465465 '--network' ,
466466 networkName ,
467467 '-v' ,
468- `${ configPath } :${ configTargetPath } :ro` ,
468+ `${ configPath } :${ configTargetPath } :ro`
469+ ] ;
470+ if ( entrypoint ) {
471+ args . push ( '--entrypoint' , entrypoint ) ;
472+ }
473+ args . push (
469474 imageName ,
470- binaryPath ,
475+ ... ( binaryPath === null ? [ ] : [ binaryPath ] ) ,
471476 'daemon' ,
472477 '--config' ,
473478 configTargetPath
474- ] ) ;
479+ ) ;
480+ return args ;
481+ }
482+
483+ function startFullNode ( options ) {
484+ log ( `starting ${ options . containerName } ` ) ;
485+ runDocker ( buildFullNodeRunArgs ( options ) ) ;
475486}
476487
477- function startEdgeNode ( {
488+ export function buildEdgeNodeRunArgs ( {
478489 containerName,
479490 imageName,
480491 bootstrapPeer,
481492 networkName,
482493 platform,
483- binaryPath = '/opt/spacedatanetwork/bin/spacedatanetwork-edge'
494+ binaryPath = '/opt/spacedatanetwork/bin/spacedatanetwork-edge' ,
495+ entrypoint
484496} ) {
485- log ( `starting ${ containerName } ` ) ;
486- runDocker ( [
497+ const args = [
487498 'run' ,
488499 '-d' ,
489500 '--platform' ,
@@ -492,12 +503,23 @@ function startEdgeNode({
492503 containerName ,
493504 '--network' ,
494505 networkName ,
506+ ] ;
507+ if ( entrypoint ) {
508+ args . push ( '--entrypoint' , entrypoint ) ;
509+ }
510+ args . push (
495511 imageName ,
496- binaryPath ,
512+ ... ( entrypoint ? [ ] : [ binaryPath ] ) ,
497513 '--listen' ,
498514 '/ip4/0.0.0.0/tcp/8080/ws' ,
499515 ...generateEdgeArgs ( { bootstrapPeer, healthPort : 8081 } )
500- ] ) ;
516+ ) ;
517+ return args ;
518+ }
519+
520+ function startEdgeNode ( options ) {
521+ log ( `starting ${ options . containerName } ` ) ;
522+ runDocker ( buildEdgeNodeRunArgs ( options ) ) ;
501523}
502524
503525function sleep ( ms ) {
@@ -630,7 +652,7 @@ async function runNetworkTest({ images, workDir, platform, prefix, timeoutMs })
630652 configPath : containerConfig ,
631653 networkName,
632654 platform,
633- binaryPath : '/app/spacedatanetwork' ,
655+ binaryPath : null ,
634656 configTargetPath : '/app/config/full-docker.yaml'
635657 } ) ;
636658 startEdgeNode ( {
@@ -639,7 +661,7 @@ async function runNetworkTest({ images, workDir, platform, prefix, timeoutMs })
639661 bootstrapPeer : seedBootstrap ,
640662 networkName,
641663 platform,
642- binaryPath : '/app/spacedatanetwork-edge'
664+ entrypoint : '/app/spacedatanetwork-edge'
643665 } ) ;
644666
645667 await waitForJson ( {
0 commit comments