diff --git a/src/main/java/io/github/guacsec/trustifyda/image/ImageUtils.java b/src/main/java/io/github/guacsec/trustifyda/image/ImageUtils.java index b2f567f1..30da1baa 100644 --- a/src/main/java/io/github/guacsec/trustifyda/image/ImageUtils.java +++ b/src/main/java/io/github/guacsec/trustifyda/image/ImageUtils.java @@ -467,47 +467,32 @@ static Operations.ProcessExecOutput execSkopeoInspect(ImageRef imageRef, boolean var configPath = Environment.get(TRUSTIFY_DA_SKOPEO_CONFIG_PATH, ""); var daemonHost = Environment.get(TRUSTIFY_DA_IMAGE_SERVICE_ENDPOINT, ""); - String[] cmd; + var cmdList = new java.util.ArrayList(); + cmdList.add(skopeo); + cmdList.add("inspect"); + + if (!configPath.isEmpty()) { + cmdList.add("--authfile"); + cmdList.add(configPath); + } + + if (!daemonHost.isEmpty()) { + cmdList.add("--daemon-host"); + cmdList.add(daemonHost); + } + + if (raw) { + cmdList.add("--raw"); + } + if (daemonHost.isEmpty()) { - cmd = - configPath.isEmpty() - ? new String[] { - skopeo, - "inspect", - raw ? "--raw" : "", - String.format("docker://%s", imageRef.getImage().getFullName()) - } - : new String[] { - skopeo, - "inspect", - "--authfile", - configPath, - raw ? "--raw" : "", - String.format("docker://%s", imageRef.getImage().getFullName()) - }; + cmdList.add(String.format("docker://%s", imageRef.getImage().getFullName())); } else { - cmd = - configPath.isEmpty() - ? new String[] { - skopeo, - "inspect", - "--daemon-host", - daemonHost, - raw ? "--raw" : "", - String.format("docker-daemon:%s", imageRef.getImage().getFullName()) - } - : new String[] { - skopeo, - "inspect", - "--authfile", - configPath, - "--daemon-host", - daemonHost, - raw ? "--raw" : "", - String.format("docker-daemon:%s", imageRef.getImage().getFullName()) - }; + cmdList.add(String.format("docker-daemon:%s", imageRef.getImage().getFullName())); } + String[] cmd = cmdList.toArray(new String[0]); + return Operations.runProcessGetFullOutput(null, cmd, null); } diff --git a/src/test/java/io/github/guacsec/trustifyda/image/ImageUtilsTest.java b/src/test/java/io/github/guacsec/trustifyda/image/ImageUtilsTest.java index d8f3e1bd..12838309 100644 --- a/src/test/java/io/github/guacsec/trustifyda/image/ImageUtilsTest.java +++ b/src/test/java/io/github/guacsec/trustifyda/image/ImageUtilsTest.java @@ -229,7 +229,6 @@ void test_get_image_digests_single() throws IOException { new String[] { "skopeo", "inspect", - "", String.format("docker://%s", mockImageRef.getImage().getFullName()) }), isNull())) @@ -866,7 +865,6 @@ void test_exec_skopeo_inspect() { mockSkopeoConfig, "--daemon-host", mockSkopeoDaemon, - "", String.format("docker-daemon:%s", mockImageRef.getImage().getFullName()) }), isNull())) @@ -898,7 +896,6 @@ void test_exec_skopeo_inspect_no_config() { "inspect", "--daemon-host", mockSkopeoDaemon, - "", String.format("docker-daemon:%s", mockImageRef.getImage().getFullName()) }), isNull())) @@ -930,7 +927,6 @@ void test_exec_skopeo_inspect_no_daemon() { "inspect", "--authfile", mockSkopeoConfig, - "", String.format("docker://%s", mockImageRef.getImage().getFullName()) }), isNull())) @@ -960,7 +956,6 @@ void test_exec_skopeo_inspect_no_config_no_daemon() { new String[] { "skopeo", "inspect", - "", String.format("docker://%s", mockImageRef.getImage().getFullName()) }), isNull())) @@ -1062,7 +1057,6 @@ void test_get_single_image_digest() throws IOException { new String[] { "skopeo", "inspect", - "", String.format("docker://%s", mockImageRef.getImage().getFullName()) }), isNull())) @@ -1097,7 +1091,6 @@ void test_get_single_image_digest_empty() throws JsonProcessingException { new String[] { "skopeo", "inspect", - "", String.format("docker://%s", mockImageRef.getImage().getFullName()) }), isNull()))