From 993e62315826eba1d33915c306b89dd26e7525ba Mon Sep 17 00:00:00 2001 From: Robby Cochran Date: Mon, 25 Jan 2021 09:54:46 -0800 Subject: [PATCH] ROX-6200 Fix JSON parsing error (#382) Remove consumption labels or env var metadata from container runtime --- .circleci/config.yml | 2 +- Makefile | 4 ++ collector/container/scripts/bootstrap.sh | 2 + integration-tests/Makefile | 7 +++ integration-tests/collector_manager.go | 17 ++++++- .../container/jsonlabel/Dockerfile | 22 ++++++++++ integration-tests/executor.go | 11 ++++- integration-tests/integration_test.go | 44 +++++++++++++++++++ sysdig/src | 2 +- 9 files changed, 107 insertions(+), 4 deletions(-) create mode 100644 integration-tests/container/jsonlabel/Dockerfile diff --git a/.circleci/config.yml b/.circleci/config.yml index 4d9f0e7ad0..0140cd7294 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1072,7 +1072,7 @@ jobs: export VM_CONFIG="circle_local_<< parameters.vm-config >>" export COLLECTOR_REPO="stackrox/collector<<# parameters.use-rhel>>-rhel<>" export COLLECTOR_IMAGE="${COLLECTOR_REPO}:${COLLECTOR_TAG}" - make -C "${SOURCE_ROOT}" integration-tests-missing-proc-scrape integration-tests integration-tests-report + make -C "${SOURCE_ROOT}" integration-tests-missing-proc-scrape integration-tests-image-label-json integration-tests integration-tests-report [[ -z "$CIRCLE_BRANCH" ]] || gsutil cp ~/workspace/go/src/github.com/stackrox/collector/integration-tests/integration-test-report.xml "gs://stackrox-ci-results/circleci/collector/${CIRCLE_BRANCH}/$(date +%Y-%m-%d)-${CIRCLE_BUILD_NUM}/" - store_test_results: diff --git a/Makefile b/Makefile index 0a0df9a7c7..0ab96be784 100644 --- a/Makefile +++ b/Makefile @@ -106,6 +106,10 @@ integration-tests-process-network: integration-tests-missing-proc-scrape: make -C integration-tests missing-proc-scrape +.PHONY: integration-tests-image-label-json +integration-tests-image-label-json: + make -C integration-tests image-label-json + .PHONY: integration-tests-process-network-rhel integration-tests-process-network-rhel: COLLECTOR_REPO="stackrox/collector-rhel" \ diff --git a/collector/container/scripts/bootstrap.sh b/collector/container/scripts/bootstrap.sh index 102b041166..8b2e95e149 100755 --- a/collector/container/scripts/bootstrap.sh +++ b/collector/container/scripts/bootstrap.sh @@ -368,10 +368,12 @@ function main() { eval exec "$@" & PID=$! wait $PID + status=$? if collection_method_module; then remove_module "$module_name" fi + exit $status } main "$@" diff --git a/integration-tests/Makefile b/integration-tests/Makefile index d8f943717f..3482d43db7 100644 --- a/integration-tests/Makefile +++ b/integration-tests/Makefile @@ -39,6 +39,13 @@ baseline: docker-clean go test -timeout 30m -count=1 -v \ -run TestBenchmarkBaseline 2>&1 | tee -a integration-test.log +.PHONY: image-label-json +image-label-json: docker-clean + go version + set -o pipefail ; \ + go test -timeout 30m -count=1 -v \ + -run TestImageLabelJSON 2>&1 | tee -a integration-test.log + .PHONY: missing-proc-scrape missing-proc-scrape: docker-clean ./scripts/create-fake-proc-dir.sh diff --git a/integration-tests/collector_manager.go b/integration-tests/collector_manager.go index 59777f2df1..78e5ea10cf 100644 --- a/integration-tests/collector_manager.go +++ b/integration-tests/collector_manager.go @@ -96,7 +96,22 @@ func (c *collectorManager) TearDown() error { } c.captureLogs("collector") - c.killContainer("collector") + isRunning, err := c.executor.IsContainerRunning("collector") + if err != nil { + return err + } + if isRunning { + c.killContainer("collector") + } else { + // Check if collector container segfaulted or exited with error + exitCode, err := c.executor.ExitCode("collector") + if err != nil { + return err + } + if exitCode != 0 { + return fmt.Errorf("Collector container has non-zero exit code (%d)", exitCode) + } + } return nil } diff --git a/integration-tests/container/jsonlabel/Dockerfile b/integration-tests/container/jsonlabel/Dockerfile new file mode 100644 index 0000000000..43408bb762 --- /dev/null +++ b/integration-tests/container/jsonlabel/Dockerfile @@ -0,0 +1,22 @@ +# ROX-6200 regression test: image to trigger JSON parsing error +# docker build -t stackrox/benchmark-collector:json-label +FROM alpine:latest + +LABEL "annotation.ad.datadoghq.com/account-service.instances"="[{ \"host\": \"%%host%%\", \"port\": 13080, \"tags\": {\"service\": \"zendesk_account_service\"}, \"refresh_beans\": 1, \"conf\": [{ \"include\": { \"bean_regex\": \"com\\\\.zaxxer\\\\.hikari[:]type=Pool\\\\s.+\" } }, { \"include\": { \"domain\": \"slick\" } }, { \"include\": { \"domain\": \"java.lang\", \"type\": \"GarbageCollector\", \"attribute\": { \"LastGcInfo.duration\": { \"metric_type\": \"gauge\" } } } }]}]" \ + "annotation.container-secret-puller-samson/dockerfile"="none" \ + "annotation.kube-admission/handler-service"="[{\"op\":\"add\",\"path\":\"/metadata/labels/service\",\"value\":\"account-service\"}]" + +LABEL build="{\"container\":{\"Mounts\":[{\"Destination\":\"/opt/zonehawk/notification-composer/config\",\"Mode\":\"ro\",\"Propagation\":\"rprivate\",\"RW\":false,\"Source\":\"/var/lib/kubelet/pods/5a869192-108c-48ee-818c-c369099f6921/volumes/kubernetes.io~configmap/app-config\"},{\"Destination\":\"/opt/zonehawk/notification-composer/secrets\",\"Mode\":\"ro\",\"Propagation\":\"rprivate\",\"RW\":false,\"Source\":\"/var/lib/kubelet/pods/5a869192-108c-48ee-818c-c369099f6921/volumes/kubernetes.io~secret/app-secret\"},{\"Destination\":\"/var/run/secrets/kubernetes.io/serviceaccount\",\"Mode\":\"ro\",\"Propagation\":\"rprivate\",\"RW\":false,\"Source\":\"/var/lib/kubelet/pods/5a869192-108c-48ee-818c-c369099f6921/volumes/kubernetes.io~secret/zonehawk-sa-token-wt7dd\"},{\"Destination\":\"/etc/hosts\",\"Mode\":\"\",\"Propagation\":\"rprivate\",\"RW\":true,\"Source\":\"/var/lib/kubelet/pods/5a869192-108c-48ee-818c-c369099f6921/etc-hosts\"},{\"Destination\":\"/dev/termination-log\",\"Mode\":\"\",\"Propagation\":\"rprivate\",\"RW\":true,\"Source\":\"/var/lib/kubelet/pods/5a869192-108c-48ee-818c-c369099f6921/containers/zonehawk-notification-composer/1105102c\"}],\"cpu_period\":100000,\"cpu_quota\":0,\"cpu_shares\":2,\"cpuset_cpu_count\":0,\"env\":[],\"id\":\"412de571fa54\",\"image\":\"qadockerregistry.azurecr.io/zonehawk-notification-composer@sha256:3e289d8f2a039699cb87a9f5dfd67fc614a785617866e9f3e447d4a7fa99a855\",\"imagedigest\":\"sha256:3e289d8f2a039699cb87a9f5dfd67fc614a785617866e9f3e447d4a7fa99a855\",\"imageid\":\"cb6f44d9f67fe78703760fe9c793cff1e07e648881b2e3b651b863602f4f380f\",\"imagerepo\":\"qadockerregistry.azurecr.io/zonehawk-notification-composer\",\"imagetag\":\"10.3.0\",\"ip\":\"0.0.0.0\",\"is_pod_sandbox\":false,\"labels\":{\"annotation.io.kubernetes.container.hash\":\"71fd3d7\",\"annotation.io.kubernetes.container.ports\":\"[{\"name\":\"http\",\"containerPort\":8087,\"protocol\":\"TCP\"}]\",\"annotation.io.kubernetes.container.restartCount\":\"0\",\"annotation.io.kubernetes.container.terminationMessagePath\":\"/dev/termination-log\",\"annotation.io.kubernetes.container.terminationMessagePolicy\":\"File\",\"annotation.io.kubernetes.pod.terminationGracePeriod\":\"30\",\"io.buildpacks.build.metadata\":\"{\"bom\":[{\"name\":\"jre\",\"version\":\"11.0.8\",\"metadata\":{\"layer\":\"jre\",\"licenses\":[{\"type\":\"GPL-2.0 WITH Classpath-exception-2.0\",\"uri\":\"https://openjdk.java.net/legal/gplv2+ce.html\"}],\"name\":\"BellSoft Liberica JRE\",\"sha256\":\"b4cb31162ff6d7926dd09e21551fa745fa3ae1758c25148b48dadcf78ab0c24c\",\"stacks\":[\"io.buildpacks.stacks.bionic\",\"org.cloudfoundry.stacks.cflinuxfs3\"],\"uri\":\"https://github.com/bell-sw/Liberica/releases/download/11.0.8+10/bellsoft-jre11.0.8+10-linux-amd64.tar.gz\",\"version\":\"11.0.8\"},\"buildpack\":{\"id\":\"paketo-buildpacks/bellsoft-liberica\",\"version\":\"4.0.0\"}},{\"name\":\"helper\",\"version\":\"4.0.0\",\"metadata\":{\"layer\":\"helper\",\"names\":[\"active-processor-count\",\"java-opts\",\"link-local-dns\",\"memory-calculator\",\"openssl-certificate-loader\",\"security-providers-configurer\",\"security-providers-classpath-9\"],\"version\":\"4.0.0\"},\"buildpack\":{\"id\":\"paketo-buildpacks/bellsoft-liberica\",\"version\":\"4.0.0\"}},{\"name\":\"jvmkill\",\"version\":\"1.16.0\",\"metadata\":{\"layer\":\"jvmkill\",\"licenses\":[{\"type\":\"Apache-2.0\",\"uri\":\"https://github.com/cloudfoundry/jvmkill/blob/main/LICENSE\"}],\"name\":\"JVMKill Agent\",\"sha256\":\"a3092627b082cb3cdbbe4b255d35687126aa604e6b613dcda33be9f7e1277162\",\"stacks\":[\"io.buildpacks.stacks.bionic\",\"org.cloudfoundry.stacks.cflinuxfs3\"],\"uri\":\"https://github.com/cloudfoundry/jvmkill/releases/download/v1.16.0.RELEASE/jvmkill-1.16.0-RELEASE.so\",\"version\":\"1.16.0\"},\"buildpack\":{\"id\":\"paketo-buildpacks/bellsoft-liberica\",\"version\":\"4.0.0\"}},{\"name\":\"jvm-application\",\"metadata\":null,\"buildpack\":{\"id\":\"paketo-buildpacks/executable-jar\",\"version\":\"3.1.1\"}},{\"name\":\"jvm-application\",\"metadata\":null,\"buildpack\":{\"id\":\"paketo-buildpacks/executable-jar\",\"version\":\"3.1.1\"}},{\"name\":\"jvm-application\",\"metadata\":null,\"buildpack\":{\"id\":\"paketo-buildpacks/executable-jar\",\"version\":\"3.1.1\"}},{\"name\":\"jvm-application\",\"metadata\":null,\"buildpack\":{\"id\":\"paketo-buildpacks/executable-jar\",\"version\":\"3.1.1\"}},{\"name\":\"dependencies\",\"metadata\":{\"dependencies\":[{\"name\":\"HdrHistogram\",\"sha256\":\"9b47fbae444feaac4b7e04f0ea294569e4bc282bc69d8c2ce2ac3f23577281e2\",\"version\":\"2.1.12\"},{\"name\":\"HikariCP\",\"sha256\":\"8b732f9470570d4a841dc1ef6c826b586978b25ba830712ff1fa59de275dfa61\",\"version\":\"3.4.5\"},{\"name\":\"LatencyUtils\",\"sha256\":\"a32a9ffa06b2f4e01c5360f8f9df7bc5d9454a5d373cd8f361347fa5a57165ec\",\"version\":\"2.0.3\"},{\"name\":\"ant\",\"sha256\":\"559878381082474655c740e8373a2c9990fe4a987aa4c26f39c722cef5c42ccc\",\"version\":\"1.9.15\"},{\"name\":\"ant-antlr\",\"sha256\":\"eb054b35dc0972fca04a16f1055763acb81c587b76743f23883ed8da9dc66573\",\"version\":\"1.9.15\"},{\"name\":\"ant-junit\",\"sha256\":\"7de816305826d78a87379e1b99759463320e38624056d9336ac54424df5a0dd9\",\"version\":\"1.9.15\"},{\"name\":\"ant-launcher\",\"sha256\":\"3b6c7c0bbc064a6d40039f995f6dc39bc3b79a3b35f3e947ed545c4b661bd94b\",\"version\":\"1.9.15\"},{\"name\":\"archaius-core\",\"sha256\":\"94b6f2b64bcf6f8996fb5b544304254cf0137ae30153a758f3ac9e74387b6bf6\",\"version\":\"0.7.6\"},{\"name\":\"aspectjweaver\",\"sha256\":\"3167577eaa4be02817295d320c5a6578de8b80d15615d719d5be0a0d65d16165\",\"version\":\"1.9.6\"},{\"name\":\"automaton-1.11\",\"sha256\":\"a24475f6ccfe1cc7a4fe9e34e05ce687b0ce0c6e8cb781e0eced3b186482c61e\",\"version\":\"8\"},{\"name\":\"bcpkix-jdk15on\",\"sha256\":\"84669138b1d99143e2c009024f67824ab8d3edb9b05b7591f5ebfb020a4bda71\",\"version\":\"1.64\"},{\"name\":\"bcprov-jdk15on\",\"sha256\":\"a4f463ce552b908a722fa198ef4892a226b3225e453f8df10d5c0a5bfe5db6b6\",\"version\":\"1.64\"},{\"name\":\"checker-compat-qual\",\"sha256\":\"11d134b245e9cacc474514d2d66b5b8618f8039a1465cdc55bbc0b34e0008b7a\",\"version\":\"2.5.5\"},{\"name\":\"commons-cli\",\"sha256\":\"fd3c7c9545a9cdb2051d1f9155c4f76b1e4ac5a57304404a6eedb578ffba7328\",\"version\":\"1.4\"},{\"name\":\"commons-codec\",\"sha256\":\"a128e4f93fabe5381ded64cf2873019e06030b718eb43ceeae0b0e5d17ad33e9\",\"version\":\"1.14\"},{\"name\":\"commons-collections\",\"sha256\":\"eeeae917917144a68a741d4c0dff66aa5c5c5fd85593ff217bced3fc8ca783b8\",\"version\":\"3.2.2\"},{\"name\":\"commons-configuration\",\"sha256\":\"e229cf1fe95f7147cbc1f8d31affc07087c206bc8dc7e5b05b6be670910f87ba\",\"version\":\"1.8\"},{\"name\":\"commons-lang\",\"sha256\":\"50f11b09f877c294d56f24463f47d28f929cf5044f648661c0f0cfbae9a2f49c\",\"version\":\"2.6\"},{\"name\":\"error_prone_annotations\",\"sha256\":\"baf7d6ea97ce606c53e11b6854ba5f2ce7ef5c24dddf0afa18d1260bd25b002c\",\"version\":\"2.3.4\"},{\"name\":\"failureaccess\",\"sha256\":\"a171ee4c734dd2da837e4b16be9df4661afab72a41adaf31eb84dfdaf936ca26\",\"version\":\"1.0.1\"},{\"name\":\"freemarker\",\"sha256\":\"6586433d90957c0b05a32bce07c71e8cebcea6afbea2e043bfe0c576c4d94338\",\"version\":\"2.3.30\"},{\"name\":\"generex\",\"sha256\":\"8f8ce233c335e08e113a3f9579de1046fb19927e82468b1bbebcd6cba8760b81\",\"version\":\"1.0.2\"},{\"name\":\"groovy\",\"sha256\":\"8e2adf2933dd6a6523d7d7e2bcdc04d64fe8462bb31e13f4bc9aaab302f1149d\",\"version\":\"2.5.13\"},{\"name\":\"groovy-ant\",\"sha256\":\"dcbff3562f17efb93f133e6dfaa45ab56529d2caecec552bbcfb1acbd95946f6\",\"version\":\"2.5.13\"},{\"name\":\"groovy-cli-commons\",\"sha256\":\"a7a1413a152d2c6e223a501a3f3a85f0958bdd8f50825497a3e54adaa4cf7155\",\"version\":\"2.5.13\"},{\"name\":\"groovy-cli-picocli\",\"sha256\":\"309c35fc9344c8ae023554e654f39e7f4a2f595481bd8ff283fc9fc98036f42c\",\"version\":\"2.5.13\"},{\"name\":\"groovy-console\",\"sha256\":\"af0c61a601fcc78020367be7bc96d85f1a2c7522d4e713adc2e091aefa43a0d1\",\"version\":\"2.5.13\"},{\"name\":\"groovy-datetime\",\"sha256\":\"c649fa0b60cba42c7c45dc0ce0df5309389e022cf8e0c9e723323c0663a248e5\",\"version\":\"2.5.13\"},{\"name\":\"groovy-docgenerator\",\"sha256\":\"407a351d7bcd98537282b61b3dbf558b5734ccb8802e0e332176e48635afd3ca\",\"version\":\"2.5.13\"},{\"name\":\"groovy-groovydoc\",\"sha256\":\"f554050b9cc3cf9f32e547e59e229137de0c38a5766b8fc42e6bdca7ff010537\",\"version\":\"2.5.13\"},{\"name\":\"groovy-groovysh\",\"sha256\":\"58931c33f695f04b640b49b4114f9e0ddca145ef5d3112a0ec4b125f11e5086d\",\"version\":\"2.5.13\"},{\"name\":\"groovy-jmx\",\"sha256\":\"c1f7b9cb629557909eaffe9572f911a1b75d00b90eeb02072776b804fdcc7994\",\"version\":\"2.5.13\"},{\"name\":\"groovy-json\",\"sha256\":\"93a44e8bbbe00a313d8c6e9b35e9e2f3035836a5efcce8d3be0cc7b06006a095\",\"version\":\"2.5.13\"},{\"name\":\"groovy-jsr223\",\"sha256\":\"48950f9092d806122c9bbf4beb3c9c921584fbc62c5a2ebe73a71cb0410e0682\",\"version\":\"2.5.13\"},{\"name\":\"groovy-macro\",\"sha256\":\"c98f3ad80799d8f92c3c04fa6b0301c8157f12990f4af3d4f08fbd6f712d5ea6\",\"version\":\"2.5.13\"},{\"name\":\"groovy-nio\",\"sha256\":\"685249b25abf3dfd40a4a0c75be8d0825bc5863b94259de961a0f8bf2a6ec14d\",\"version\":\"2.5.13\"},{\"name\":\"groovy-servlet\",\"sha256\":\"d3f761dd75ca1e273cfd16f6ff9a3da24dd0b3c54eb8d45a0ccfa7c93c97783b\",\"version\":\"2.5.13\"},{\"name\":\"groovy-sql\",\"sha256\":\"c9b7d3b966c6583875cc807a19d0ca0eca51252b06595954f008d707addda3c8\",\"version\":\"2.5.13\"},{\"name\":\"groovy-swing\",\"sha256\":\"d9fc5425d9967a88f4c34da3138737ca4aede0006e3c253b4e1a524095a9c2e9\",\"version\":\"2.5.13\"},{\"name\":\"groovy-templates\",\"sha256\":\"ad42d238e3f3e9bf6e00a20f1b946b82b6e2303291bfe35cd8b8a5b3ccd61ea1\",\"version\":\"2.5.13\"},{\"name\":\"groovy-test\",\"sha256\":\"e225b2520e04a0f48962a2fbe0fdb190fa34dd0f8da19e45dc11931c4f73519d\",\"version\":\"2.5.13\"},{\"name\":\"groovy-test-junit5\",\"sha256\":\"a56278db9243fe4f132c92e9e568d4ec9e392c214ab24cb0f10749df0d11ace9\",\"version\":\"2.5.13\"},{\"name\":\"groovy-testng\",\"sha256\":\"dc4467fef32c63c46b3f413972e2c32a90cce415457fa1826cfb095293d7a1b1\",\"version\":\"2.5.13\"},{\"name\":\"groovy-xml\",\"sha256\":\"17d110c5b7a70abe4c7ff2a31bbb57ec8c8b9ef0c0d48406f27e066445037eb9\",\"version\":\"2.5.13\"},{\"name\":\"guava\",\"sha256\":\"00ba22cb0e32610db7cf8ab4c20017c85d11788600734ff1d86995345eb5bc3b\",\"version\":\"29.0-android\"},{\"name\":\"hamcrest\",\"sha256\":\"5e62846a89f05cd78cd9c1a553f340d002458380c320455dd1f8fc5497a8a1c1\",\"version\":\"2.2\"},{\"name\":\"hamcrest-core\",\"sha256\":\"094f5d92b4b7d9c8a2bf53cc69d356243ae89c3499457bcb4b92f7ed3bf95879\",\"version\":\"2.2\"},{\"name\":\"httpclient\",\"sha256\":\"bc5f065aba5dd815ee559dd24d9bcb797fb102ff9cfa036f5091ebc529bd3b93\",\"version\":\"4.5.12\"},{\"name\":\"httpcore\",\"sha256\":\"e06e89d40943245fcfa39ec537cdbfce3762aecde8f9c597780d2b00c2b43424\",\"version\":\"4.4.13\"},{\"name\":\"hystrix-core\",\"sha256\":\"e72775f2b5189a14000aa8002712a77eade6cc36e0c7f0edb576556ab707f905\",\"version\":\"1.5.18\"},{\"name\":\"j2objc-annotations\",\"sha256\":\"21af30c92267bd6122c0e0b4d20cccb6641a37eaf956c6540ec471d584e64a7b\",\"version\":\"1.3\"},{\"name\":\"jackson-annotations\",\"sha256\":\"90d602d1955df509b1569618cff869994caf9483cb82a3ccb39782a5cda54126\",\"version\":\"2.11.2\"},{\"name\":\"jackson-core\",\"sha256\":\"f8d768c4e8884522be5881dd2a91aec812d08d4f05852b434190e22de659dfc9\",\"version\":\"2.11.2\"},{\"name\":\"jackson-databind\",\"sha256\":\"cb890b4aad8ed21a7b57e3c8f7924dbdca1aeff9ddd27cb0ff37243037ae1342\",\"version\":\"2.11.2\"},{\"name\":\"jackson-dataformat-yaml\",\"sha256\":\"f23c1940596813adc1997374519b5ff8a516b5031bfd3702e4b063115fa36f03\",\"version\":\"2.11.2\"},{\"name\":\"jackson-datatype-jdk8\",\"sha256\":\"fa585ff4aed2b250538dd42d53d263fc96c9b1c720e836214e443e4cf28af61f\",\"version\":\"2.11.2\"},{\"name\":\"jackson-datatype-jsr310\",\"sha256\":\"c8f7155c405cf1c521fb7f1cde610a0c488aad794b3c4ca7637a199dbc40850f\",\"version\":\"2.11.2\"},{\"name\":\"jackson-module-jaxb-annotations\",\"sha256\":\"2c98745f5949946bbc43187dce688366f82abd6438deed12e242eeebd2683180\",\"version\":\"2.11.2\"},{\"name\":\"jackson-module-parameter-names\",\"sha256\":\"1b5a7e61314a135bb44e99978801a111f18eb02c9bfe5cc5e5c9edb033369004\",\"version\":\"2.11.2\"},{\"name\":\"jakarta.activation-api\",\"sha256\":\"a187a939103aef5849a7af84bd7e27be2d120c410af291437375ffe061f4f09d\",\"version\":\"1.2.2\"},{\"name\":\"jakarta.annotation-api\",\"sha256\":\"85fb03fc054cdf4efca8efd9b6712bbb418e1ab98241c4539c8585bbc23e1b8a\",\"version\":\"1.3.5\"},{\"name\":\"jakarta.el\",\"sha256\":\"e2bcb8551b02a5c2afdc4cab77302ba5c76705cf1fc832345ca880df80bf4716\",\"version\":\"3.0.3\"},{\"name\":\"jakarta.xml.bind-api\",\"sha256\":\"c04539f472e9a6dd0c7685ea82d677282269ab8e7baca2e14500e381e0c6cec5\",\"version\":\"2.3.3\"},{\"name\":\"javax.activation-api\",\"sha256\":\"43fdef0b5b6ceb31b0424b208b930c74ab58fac2ceeb7b3f6fd3aeb8b5ca4393\",\"version\":\"1.2.0\"},{\"name\":\"javax.el\",\"sha256\":\"2e95f03b75d2bb9fccf58dc1d28dd3b11d384fdc75a4654f64a2e27492acc2bc\",\"version\":\"3.0.1-b11\"},{\"name\":\"javax.inject\",\"sha256\":\"91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff\",\"version\":\"1\"},{\"name\":\"jaxb-api\",\"sha256\":\"88b955a0df57880a26a74708bc34f74dcaf8ebf4e78843a28b50eae945732b06\",\"version\":\"2.3.1\"},{\"name\":\"jaxb-core\",\"sha256\":\"33061af8d2a07379d452f8f0fddcbbf518428dfd3b83d9e2d479c1948020795b\",\"version\":\"2.3.0\"},{\"name\":\"jaxb-impl\",\"sha256\":\"edd691fc6ad7c7f3167e1a6833372367bedf6f4f2a4b8230df444a59bb3718b1\",\"version\":\"2.3.0\"},{\"name\":\"jcommander\",\"sha256\":\"e0de160b129b2414087e01fe845609cd55caec6820cfd4d0c90fabcc7bdb8c1e\",\"version\":\"1.72\"},{\"name\":\"jersey-apache-client4\",\"sha256\":\"3a9ea263f5ae51a24bd5b86c96504c7cf8aedb969ac439372682335a96be302c\",\"version\":\"1.19.1\"},{\"name\":\"jersey-client\",\"sha256\":\"b358aebb99c15d9aa7dacbab8b3041618d8fe6513b9113e5fd7711421b4982d1\",\"version\":\"1.19.1\"},{\"name\":\"jersey-core\",\"sha256\":\"86c3b0f6b933478dfdd2486f047861dd2f68502e05e3c76c7dfa3968ea2b5532\",\"version\":\"1.19.1\"},{\"name\":\"jline\",\"sha256\":\"97d1acaac82409be42e622d7a54d3ae9d08517e8aefdea3d2ba9791150c2f02d\",\"version\":\"2.14.6\"},{\"name\":\"joda-time\",\"sha256\":\"6b1b1691b7391efda2143bc12bc6916dbfccf66370a8c946dc04f4f7ddf13cbf\",\"version\":\"2.10.6\"},{\"name\":\"jsr305\",\"sha256\":\"766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7\",\"version\":\"3.0.2\"},{\"name\":\"jsr311-api\",\"sha256\":\"ab1534b73b5fa055808e6598a5e73b599ccda28c3159c3c0908977809422ee4a\",\"version\":\"1.1.1\"},{\"name\":\"jul-to-slf4j\",\"sha256\":\"bbcbfdaa72572255c4f85207a9bfdb24358dc993e41252331bd4d0913e4988b9\",\"version\":\"1.7.30\"},{\"name\":\"junit\",\"sha256\":\"4b8532f63bdc0e0661507f947eb324a954d1dbac631ad19c8aa9a00feed1d863\",\"version\":\"4.13\"},{\"name\":\"junit-jupiter-api\",\"sha256\":\"3f476de9b214f20ca69da51e801186d001f67328a686df81bc3de3ba11953870\",\"version\":\"5.6.2\"},{\"name\":\"junit-jupiter-engine\",\"sha256\":\"0eb1ab3fc8e4130943b54f4d86824b106ef1cd90d96789343f3944e48b3c501c\",\"version\":\"5.6.2\"},{\"name\":\"junit-platform-commons\",\"sha256\":\"341621f4d998fd7b539b38baa7e1a3da80b7cac00b983e6206b01c9290915fe9\",\"version\":\"1.6.2\"},{\"name\":\"junit-platform-engine\",\"sha256\":\"23b41ac95e4673f7b31e8502424451be4154fe4db1d448448945e2215473c246\",\"version\":\"1.6.2\"},{\"name\":\"junit-platform-launcher\",\"sha256\":\"d1ebfafa2bd87b05c7dce7249e1437a1c0e4f16af99d81f89c5a0c0d66dc1510\",\"version\":\"1.6.2\"},{\"name\":\"kafka-clients\",\"sha256\":\"5b9aeaf82f38d4e2e5ec079f2f5d28174a2659d446af0f3853b770a17e396594\",\"version\":\"2.5.1\"},{\"name\":\"kubernetes-client\",\"sha256\":\"0b84da7988bdb98974f55ed213fba3ba63ba4306070f3b46040587dc1aed51b7\",\"version\":\"4.4.1\"},{\"name\":\"kubernetes-model\",\"sha256\":\"16adf8e9df800e8216a5ed6a5cc8c22cc905b9286334760301362cb724f78bda\",\"version\":\"4.4.1\"},{\"name\":\"kubernetes-model-common\",\"sha256\":\"69767c4ef6dc20c21397e9c6ce4d71200bff5076877bb8105ba612921db854ac\",\"version\":\"4.4.1\"},{\"name\":\"listenablefuture\",\"sha256\":\"b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99\",\"version\":\"9999.0-empty-to-avoid-conflict-with-guava\"},{\"name\":\"log4j-api\",\"sha256\":\"2b4b1965c9dce7f3732a0fbf5c8493199c1e6bf8cf65c3e235b57d98da5f36af\",\"version\":\"2.13.3\"},{\"name\":\"log4j-to-slf4j\",\"sha256\":\"9624e9aaf60b1875adde33d8e7997de110b70be09e94e55ad8fc39637ec002c4\",\"version\":\"2.13.3\"},{\"name\":\"logback-classic\",\"sha256\":\"fb53f8539e7fcb8f093a56e138112056ec1dc809ebb020b59d8a36a5ebac37e0\",\"version\":\"1.2.3\"},{\"name\":\"logback-core\",\"sha256\":\"5946d837fe6f960c02a53eda7a6926ecc3c758bbdd69aa453ee429f858217f22\",\"version\":\"1.2.3\"},{\"name\":\"logging-interceptor\",\"sha256\":\"9a1b25b11b10a63a502a0ae85186c180076de1ef6fb5cd1dd095d12fd9d5ced0\",\"version\":\"3.12.0\"},{\"name\":\"lz4-java\",\"sha256\":\"f1167a45d4b8002053670ef6991ca66d1bab9dcc03e4ef00183674d2f3fb9cac\",\"version\":\"1.7.1\"},{\"name\":\"micrometer-core\",\"sha256\":\"c475461c57b9cd0dd72357b5959c2b6f67ac8b3ffc2f1cd6d344c4a9f9e99e99\",\"version\":\"1.5.5\"},{\"name\":\"micrometer-registry-prometheus\",\"sha256\":\"ae5c0bcc002c8548cc73d65c45f1fe087f879a471d6439c4b1b27a4c0376becb\",\"version\":\"1.5.5\"},{\"name\":\"netflix-commons-util\",\"sha256\":\"74c5cafc5ff98cd84e8c31d52d2b548c717b47cdbd02d94d90db6f755ad4e2bd\",\"version\":\"0.3.0\"},{\"name\":\"netflix-statistics\",\"sha256\":\"573c6d5ad04177db9f9ea4121c94cf85ea7f85d4800eddac2cb140e9cb544e2d\",\"version\":\"0.1.1\"},{\"name\":\"okhttp\",\"sha256\":\"71787f2c599e0441c7a4413983bfdd93d40b56e1badc5e0413d6a4c485ba3f35\",\"version\":\"3.12.0\"},{\"name\":\"okio\",\"sha256\":\"693fa319a7e8843300602b204023b7674f106ebcb577f2dd5807212b66118bd2\",\"version\":\"1.15.0\"},{\"name\":\"opentest4j\",\"sha256\":\"58812de60898d976fb81ef3b62da05c6604c18fd4a249f5044282479fc286af2\",\"version\":\"1.2.0\"},{\"name\":\"picocli\",\"sha256\":\"43c9cf516012aad1ac5ce6b54642e9cb1271e66d827b06a879fd314144d57550\",\"version\":\"4.3.2\"},{\"name\":\"postgresql\",\"sha256\":\"48bbba05845b40bcce66ece3d7652153d27b5379d5ae90977b78eefd7c7a0287\",\"version\":\"42.2.14\"},{\"name\":\"qdox\",\"sha256\":\"21fba22f830e9268f07cf4ab2d99e8181abbdcb0cb91ee0228eb3cb918dcdd1d\",\"version\":\"1.12.1\"},{\"name\":\"ribbon\",\"sha256\":\"09f2aa17e668ce77fc6fed2e292aca8ee36c3e94f01bb9590cd692df4c544b81\",\"version\":\"2.3.0\"},{\"name\":\"ribbon-core\",\"sha256\":\"18d678fefddea018dc69ed542fc70a04b8120fb3233884c2f4f8a8446624ab51\",\"version\":\"2.3.0\"},{\"name\":\"ribbon-httpclient\",\"sha256\":\"4cd3c7aa4c49d792ceeace1cb7292a66f36a6f87a3efd2d40908292241b5f55e\",\"version\":\"2.3.0\"},{\"name\":\"ribbon-loadbalancer\",\"sha256\":\"469d49ccbeee2e7183338c91e3cab571bbacb8f8acc0fe538bb740d8bee7f5c1\",\"version\":\"2.3.0\"},{\"name\":\"ribbon-transport\",\"sha256\":\"e9b9c0558f6264e713128764bbf731012298e065281804d46132cda316228684\",\"version\":\"2.3.0\"},{\"name\":\"rxjava\",\"sha256\":\"387df880f226b01cea4b1026d96d34e1da27d5801562742cfce0413c21ef7690\",\"version\":\"1.3.8\"},{\"name\":\"rxnetty\",\"sha256\":\"fe8f9baba840bf1c89e5524ad98a8dbe3e24ef6ec5bfc067766d718904437d0b\",\"version\":\"0.4.9\"},{\"name\":\"rxnetty-contexts\",\"sha256\":\"019e344cd3d19bc70057a5d53a68fc529f405fa0258cae47facacb083238731b\",\"version\":\"0.4.9\"},{\"name\":\"rxnetty-servo\",\"sha256\":\"e61e8889d99d2b0be792c8a07e168e704ae3737a51f84b641cd244bafb1f9d8e\",\"version\":\"0.4.9\"},{\"name\":\"servo-core\",\"sha256\":\"c967001e6ffeb84b3e51b1283c2b075395d3c930151ae602ed013305643988ca\",\"version\":\"0.12.21\"},{\"name\":\"simpleclient\",\"sha256\":\"83e82a52219ccce3946449bdfdcfa3556e172d542a6b4940ea36015afd6f8b33\",\"version\":\"0.8.1\"},{\"name\":\"simpleclient_common\",\"sha256\":\"40da12fbb8cd6db164b536a9ae48131956782bdca13fb1f6126580aad494345d\",\"version\":\"0.8.1\"},{\"name\":\"slf4j-api\",\"sha256\":\"cdba07964d1bb40a0761485c6b1e8c2f8fd9eb1d19c53928ac0d7f9510105c57\",\"version\":\"1.7.30\"},{\"name\":\"snakeyaml\",\"sha256\":\"d87d607e500885356c03c1cae61e8c2e05d697df8787d5aba13484c2eb76a844\",\"version\":\"1.26\"},{\"name\":\"snappy-java\",\"sha256\":\"7eea31c0a25d35cd092d8aec08bed04f22152409b58d63d43839074a9ab7ab97\",\"version\":\"1.1.7.3\"},{\"name\":\"spring-aop\",\"sha256\":\"111f92160ac798d97de09930015286e043655c8a8d1b947a2f2195a76c3514e6\",\"version\":\"5.2.9.RELEASE\"},{\"name\":\"spring-beans\",\"sha256\":\"7be619743e6312584deb8c436191cf322d6432131a21c93e723dddf41b3a23fc\",\"version\":\"5.2.9.RELEASE\"},{\"name\":\"spring-boot\",\"sha256\":\"6f31d29d22fc2003fc77b90db2c028a1e2e8d4e6b2a6ed61b07269aeb1c3d4a9\",\"version\":\"2.3.4.RELEASE\"},{\"name\":\"spring-boot-actuator\",\"sha256\":\"87dc1ab5765521f3f56e61883f5745fa514f8fde2f1c7b5cd7ca457fe1563fb0\",\"version\":\"2.3.4.RELEASE\"},{\"name\":\"spring-boot-actuator-autoconfigure\",\"sha256\":\"78ec28d71476ee6cafa958b19a06f6179ce1146f540557fdf4cd9c5598229858\",\"version\":\"2.3.4.RELEASE\"},{\"name\":\"spring-boot-autoconfigure\",\"sha256\":\"0c5645b638f3422d96411e4c47b6b5c217408d8e4314ff8fcb2aff29f7cba7a7\",\"version\":\"2.3.4.RELEASE\"},{\"name\":\"spring-boot-starter\",\"sha256\":\"777c071bbc57bc76a44989c5c674472d1c1da491743998996a050b418d24a9b0\",\"version\":\"2.3.4.RELEASE\"},{\"name\":\"spring-boot-starter-actuator\",\"sha256\":\"3a8f69bd5266b9224cbc60d3718d3e5deb20cbbdb65dacc9fc7fea375a2cdf80\",\"version\":\"2.3.4.RELEASE\"},{\"name\":\"spring-boot-starter-aop\",\"sha256\":\"e64b9946cfc493b3e88431a39dd0ed0f8c7b186fffe2714366540d7c8bc7ff26\",\"version\":\"2.3.4.RELEASE\"},{\"name\":\"spring-boot-starter-cache\",\"sha256\":\"be9a5d98251fa0869e0de129ebf379cfd059a74dd27d8f1c0d46f8f6dd04de75\",\"version\":\"2.3.4.RELEASE\"},{\"name\":\"spring-boot-starter-freemarker\",\"sha256\":\"c907365a4a0936f6c3ffb544e0d5d20754c2460d1c0962c9a8cb86bc5b18c469\",\"version\":\"2.3.4.RELEASE\"},{\"name\":\"spring-boot-starter-jdbc\",\"sha256\":\"9111ff873d44c0ee7f8fa9b2f17b1098b3e01935dccb567f01b06bde84cdfb38\",\"version\":\"2.3.4.RELEASE\"},{\"name\":\"spring-boot-starter-json\",\"sha256\":\"b8be7b242e08fff5c12e8fdd98673aa7a55172700a03c27c8c35d2a06b619daf\",\"version\":\"2.3.4.RELEASE\"},{\"name\":\"spring-boot-starter-logging\",\"sha256\":\"c1e9076f06df6e2b866812f33c7ae2936800c01846629d9247c327907416113e\",\"version\":\"2.3.4.RELEASE\"},{\"name\":\"spring-boot-starter-tomcat\",\"sha256\":\"011aa5bdbd078c3ba6bbbecc709f9bdcf5442f319c71761f056dcb4eea930bc6\",\"version\":\"2.3.4.RELEASE\"},{\"name\":\"spring-boot-starter-web\",\"sha256\":\"c57b8e6a75b57b71f520b834bc321c9314dbd31ad4b9297719b5e2d8c44e36cf\",\"version\":\"2.3.4.RELEASE\"},{\"name\":\"spring-cloud-commons\",\"sha256\":\"7d380a698a0b491df4aa59f4c23fa423dc1ecefb106833371e878b009dd7230d\",\"version\":\"2.2.3.RELEASE\"},{\"name\":\"spring-cloud-context\",\"sha256\":\"a9ae0ec65dd8991deee6cb8a8190eb2bc703fda5603204a27722a574a64c5f71\",\"version\":\"2.2.3.RELEASE\"},{\"name\":\"spring-cloud-kubernetes-config\",\"sha256\":\"e7bffe09b89a8ce096830a1c7d11f588f4fed3cbf32c4231cc76ed60b00c2003\",\"version\":\"1.1.3.RELEASE\"},{\"name\":\"spring-cloud-kubernetes-core\",\"sha256\":\"4ab6e5fe02b8e955fe2fbe41d64dc725ab927af9aba832b467de6c18de06e1aa\",\"version\":\"1.1.3.RELEASE\"},{\"name\":\"spring-cloud-kubernetes-discovery\",\"sha256\":\"a5e3e7221e090951d6a8f3669cc5edb9824288ecb8f0c8ef696a35a9b1c60c9c\",\"version\":\"1.1.3.RELEASE\"},{\"name\":\"spring-cloud-kubernetes-ribbon\",\"sha256\":\"d467323c7217b730c8223b2f73360b16a1856a598e9485f38e0c981bbfa0796f\",\"version\":\"1.1.4.RELEASE\"},{\"name\":\"spring-cloud-netflix-archaius\",\"sha256\":\"d9efb586acf10b10d786f8880a4443fb34fe9d79794603cdd97c8e3c60c70740\",\"version\":\"2.2.3.RELEASE\"},{\"name\":\"spring-cloud-netflix-ribbon\",\"sha256\":\"11877bd675d77e6f8f0c787b7e07b61199b58850cc235b21c51e1a719522e463\",\"version\":\"2.2.3.RELEASE\"},{\"name\":\"spring-cloud-starter\",\"sha256\":\"51878411b899aa41174452313965eadcfbe31f050ab390a70d212aea16d429e2\",\"version\":\"2.2.3.RELEASE\"},{\"name\":\"spring-cloud-starter-kubernetes\",\"sha256\":\"2a61204351aa27bc163641b180cace37495738a7282cdaf5ea261cf1307a65ff\",\"version\":\"1.1.4.RELEASE\"},{\"name\":\"spring-cloud-starter-kubernetes-config\",\"sha256\":\"27a3d181b6b3aa8af4790f3c3a3bee9e35858d7101838aa7c58580d718b500bd\",\"version\":\"1.1.4.RELEASE\"},{\"name\":\"spring-cloud-starter-kubernetes-ribbon\",\"sha256\":\"4b9f9b547dc23de982a42032adb5b98253d09718208a28831f30ae79d15823c0\",\"version\":\"1.1.4.RELEASE\"},{\"name\":\"spring-cloud-starter-netflix-archaius\",\"sha256\":\"9cfc0ac91bd68af7f7ba67a043b0013a56f3342168d93cd4528deb0a233a886b\",\"version\":\"2.2.3.RELEASE\"},{\"name\":\"spring-cloud-starter-netflix-ribbon\",\"sha256\":\"9cc2a6b2ca9cebde355561b4cff198031fd1b6da6a6153f4a08ad1c7ecbd559a\",\"version\":\"2.2.3.RELEASE\"},{\"name\":\"spring-context\",\"sha256\":\"cebfe9490d348d288fee54a526de69ea3378c92ae4b561511dd69692ac8201a9\",\"version\":\"5.2.9.RELEASE\"},{\"name\":\"spring-context-support\",\"sha256\":\"d8e9e8e572dee58c74f850f2b38af713ada52392037268bbe42707f6b89a8fe6\",\"version\":\"5.2.9.RELEASE\"},{\"name\":\"spring-core\",\"sha256\":\"7cbae8ae5ccf5f238b101596c6a6d87e9451d98fbd9c4a6af1dac49cf1c0538a\",\"version\":\"5.2.9.RELEASE\"},{\"name\":\"spring-expression\",\"sha256\":\"923f9c5c7c06a4e6bd01e0c682a60570c239ee822915899f3b92e53c7dcc524a\",\"version\":\"5.2.9.RELEASE\"},{\"name\":\"spring-jcl\",\"sha256\":\"9d74112b01f62b15d3d4cb330db3af0977782c2422bd956463e20339ec3b0c29\",\"version\":\"5.2.9.RELEASE\"},{\"name\":\"spring-jdbc\",\"sha256\":\"761ab1d101cf4961e6beae020511b09cfb8273f5a8b69c5ba52ade6209dfe535\",\"version\":\"5.2.9.RELEASE\"},{\"name\":\"spring-kafka\",\"sha256\":\"0797e7d902608a4054644c6bb915520fa44435ae6fdeaac612fe2997ac36c745\",\"version\":\"2.5.6.RELEASE\"},{\"name\":\"spring-messaging\",\"sha256\":\"3e9066063c6ac8a41b8fa689789a6eb2e992e9bc311d98d02dab90f4ec1bb925\",\"version\":\"5.2.9.RELEASE\"},{\"name\":\"spring-retry\",\"sha256\":\"71e7cb0d33e3f595011d3e98b14f41ca165a435760ecd4d68cb935e8afa8a3d2\",\"version\":\"1.2.5.RELEASE\"},{\"name\":\"spring-security-crypto\",\"sha256\":\"ec8a6c9138576a1e49071da96dc247b942d1ff84b04524e2cec77cea3cd4ed02\",\"version\":\"5.3.4.RELEASE\"},{\"name\":\"spring-security-rsa\",\"sha256\":\"a2f685f77c50d9efceb5c86bbbdb8b2980fb08d2edc7d555c2a12e8a9b0b531b\",\"version\":\"1.0.9.RELEASE\"},{\"name\":\"spring-tx\",\"sha256\":\"68a088fe9190321225d8bc84d971c1ca72580e84567cca4a806bea07a0eaecd8\",\"version\":\"5.2.9.RELEASE\"},{\"name\":\"spring-web\",\"sha256\":\"76355c69937b0e8153169608532e8424cec029f51687f193bf72eb1ca109e7f2\",\"version\":\"5.2.9.RELEASE\"},{\"name\":\"spring-webmvc\",\"sha256\":\"2825194d46c244ff5e64fcba9273bfc8779667a3aac33eb4ea9ef87dfb4fa4ac\",\"version\":\"5.2.9.RELEASE\"},{\"name\":\"testng\",\"sha256\":\"0d462f670c3a5ccd471991b120043f84a1943394df291dec9564cdc29cabe384\",\"version\":\"6.13.1\"},{\"name\":\"tomcat-embed-core\",\"sha256\":\"e1359b3f399b3e0f9d02839f7ed8104fa4ac2019392a18a929681d2968794d6b\",\"version\":\"9.0.38\"},{\"name\":\"tomcat-embed-websocket\",\"sha256\":\"ad73ec3b9577ba55dde73e92e8f75331966f4c0ad8eab739406ddd76b13c21ac\",\"version\":\"9.0.38\"},{\"name\":\"validation-api\",\"sha256\":\"9873b46df1833c9ee8f5bc1ff6853375115dadd8897bcb5a0dffb5848835ee6c\",\"version\":\"2.0.1.Final\"},{\"name\":\"zjsonpatch\",\"sha256\":\"ae4e5e931646a25cb09b55186de4f3346e358e01130bef279ddf495a719c71d5\",\"version\":\"0.3.0\"},{\"name\":\"zonehawk-core.jar\",\"sha256\":\"1983df0dd2526787c6a66255a91307cf3b130075721db3cff54747aaf0641e62\",\"version\":\"unknown\"},{\"name\":\"zstd-jni-1.4.4\",\"sha256\":\"24ff5dbe06bb7ed31f4087df7d824d7b843880f3c953d608b4867f3ffd16ba7e\",\"version\":\"7\"}],\"layer\":\"application\"},\"buildpack\":{\"id\":\"paketo-buildpacks/spring-boot\",\"version\":\"3.2.1\"}},{\"name\":\"helper\",\"version\":\"3.2.1\",\"metadata\":{\"layer\":\"helper\",\"names\":[\"spring-cloud-bindings\"],\"version\":\"3.2.1\"},\"buildpack\":{\"id\":\"paketo-buildpacks/spring-boot\",\"version\":\"3.2.1\"}},{\"name\":\"spring-cloud-bindings\",\"version\":\"1.6.0\",\"metadata\":{\"layer\":\"spring-cloud-bindings\",\"licenses\":[{\"type\":\"Apache-2.0\",\"uri\":\"https://github.com/spring-cloud/spring-cloud-bindings/blob/main/LICENSE\"}],\"name\":\"Spring Cloud Bindings\",\"sha256\":\"be27df8838a6d069a2212de5f46da4e39f33f087f2e77c8a725d0f7ec8b5273e\",\"stacks\":[\"io.buildpacks.stacks.bionic\",\"org.cloudfoundry.stacks.cflinuxfs3\"],\"uri\":\"https://repo.spring.io/release/org/springframework/cloud/spring-cloud-bindings/1.6.0/spring-cloud-bindings-1.6.0.jar\",\"version\":\"1.6.0\"},\"buildpack\":{\"id\":\"paketo-buildpacks/spring-boot\",\"version\":\"3.2.1\"}}],\"buildpacks\":[{\"id\":\"paketo-buildpacks/bellsoft-liberica\",\"version\":\"4.0.0\"},{\"id\":\"paketo-buildpacks/executable-jar\",\"version\":\"3.1.1\"},{\"id\":\"paketo-buildpacks/apache-tomcat\",\"version\":\"2.3.0\"},{\"id\":\"paketo-buildpacks/dist-zip\",\"version\":\"2.2.0\"},{\"id\":\"paketo-buildpacks/spring-boot\",\"version\":\"3.2.1\"}],\"launcher\":{\"version\":\"0.9.2\",\"source\":{\"git\":{\"repository\":\"github.com/buildpacks/lifecycle\",\"commit\":\"ee48447\"}}},\"processes\":[{\"type\":\"executable-jar\",\"command\":\"java\",\"args\":[\"org.springframework.boot.loader.JarLauncher\"],\"direct\":false,\"buildpackID\":\"paketo-buildpacks/executable-jar\"},{\"type\":\"task\",\"command\":\"java\",\"args\":[\"org.springframework.boot.loader.JarLauncher\"],\"direct\":false,\"buildpackID\":\"paketo-buildpacks/executable-jar\"},{\"type\":\"web\",\"command\":\"java\",\"args\":[\"org.springframework.boot.loader.JarLauncher\"],\"direct\":false,\"buildpackID\":\"paketo-buildpacks/executable-jar\"}]}\",\"io.buildpacks.lifecycle.metadata\":\"{\"app\":[{\"sha\":\"sha256:51491143814f2bb25444dbaebb558b7bfbbbd0183402501c3b691e13e6bbd8b8\"}],\"buildpacks\":[{\"key\":\"paketo-buildpacks/bellsoft-liberica\",\"version\":\"4.0.0\",\"layers\":{\"helper\":{\"sha\":\"sha256:2ca89c658de28a52baba032b0008327bf3c11a635791420587d749d92e0a5f7f\",\"data\":{\"clear-env\":false,\"homepage\":\"https://github.com/paketo-buildpacks/bellsoft-liberica\",\"id\":\"paketo-buildpacks/bellsoft-liberica\",\"name\":\"Paketo BellSoft Liberica Buildpack\",\"version\":\"4.0.0\"},\"build\":false,\"launch\":true,\"cache\":false},\"java-security-properties\":{\"sha\":\"sha256:ec0381c8f32136ad9564b114b2271d1181e0c181957acb6707e6ff4713a7a89d\",\"data\":{\"clear-env\":false,\"homepage\":\"https://github.com/paketo-buildpacks/bellsoft-liberica\",\"id\":\"paketo-buildpacks/bellsoft-liberica\",\"name\":\"Paketo BellSoft Liberica Buildpack\",\"version\":\"4.0.0\"},\"build\":false,\"launch\":true,\"cache\":false},\"jre\":{\"sha\":\"sha256:58ecbed9c6e5b99ff59697cfcb0f65fc03f692785688529cc2cd4387d49226f7\",\"data\":{\"cacerts-sha256\":\"987d1b25151565894a743127aafbd7250475a6ce6829065906a1e28dc744d4ce\",\"dependency\":{\"id\":\"jre\",\"licenses\":[{\"type\":\"GPL-2.0 WITH Classpath-exception-2.0\",\"uri\":\"https://openjdk.java.net/legal/gplv2+ce.html\"}],\"name\":\"BellSoft Liberica JRE\",\"sha256\":\"b4cb31162ff6d7926dd09e21551fa745fa3ae1758c25148b48dadcf78ab0c24c\",\"stacks\":[\"io.buildpacks.stacks.bionic\",\"org.cloudfoundry.stacks.cflinuxfs3\"],\"uri\":\"https://github.com/bell-sw/Liberica/releases/download/11.0.8+10/bellsoft-jre11.0.8+10-linux-amd64.tar.gz\",\"version\":\"11.0.8\"}},\"build\":false,\"launch\":true,\"cache\":false},\"jvmkill\":{\"sha\":\"sha256:0b18b1f120f4fe67b0f9699e9db7cb8f0f9fc6f6944115a001b9825a7191802f\",\"data\":{\"id\":\"jvmkill\",\"licenses\":[{\"type\":\"Apache-2.0\",\"uri\":\"https://github.com/cloudfoundry/jvmkill/blob/main/LICENSE\"}],\"name\":\"JVMKill Agent\",\"sha256\":\"a3092627b082cb3cdbbe4b255d35687126aa604e6b613dcda33be9f7e1277162\",\"stacks\":[\"io.buildpacks.stacks.bionic\",\"org.cloudfoundry.stacks.cflinuxfs3\"],\"uri\":\"https://github.com/cloudfoundry/jvmkill/releases/download/v1.16.0.RELEASE/jvmkill-1.16.0-RELEASE.so\",\"version\":\"1.16.0\"},\"build\":false,\"launch\":true,\"cache\":false}}},{\"key\":\"paketo-buildpacks/executable-jar\",\"version\":\"3.1.1\",\"layers\":{\"class-path\":{\"sha\":\"sha256:ab39aa8fd003c523c4e8018f85b6e37240e032a9a58ccd91ba5909da29047564\",\"data\":{\"classpath\":[\"/workspace\"]},\"build\":false,\"launch\":true,\"cache\":false}}},{\"key\":\"paketo-buildpacks/apache-tomcat\",\"version\":\"2.3.0\",\"layers\":{}},{\"key\":\"paketo-buildpacks/dist-zip\",\"version\":\"2.2.0\",\"layers\":{}},{\"key\":\"paketo-buildpacks/spring-boot\",\"version\":\"3.2.1\",\"layers\":{\"helper\":{\"sha\":\"sha256:0536fe0beb92b7d74af223266b3d2c736968456131b72135556726f34991b50e\",\"data\":{\"clear-env\":false,\"homepage\":\"https://github.com/paketo-buildpacks/spring-boot\",\"id\":\"paketo-buildpacks/spring-boot\",\"name\":\"Paketo Spring Boot Buildpack\",\"version\":\"3.2.1\"},\"build\":false,\"launch\":true,\"cache\":false},\"spring-cloud-bindings\":{\"sha\":\"sha256:5e35b1c7284c4240cacf0415a9f07db29c0132ad865449efc1746d6e4cfb3ca7\",\"data\":{\"id\":\"spring-cloud-bindings\",\"licenses\":[{\"type\":\"Apache-2.0\",\"uri\":\"https://github.com/spring-cloud/spring-cloud-bindings/blob/main/LICENSE\"}],\"name\":\"Spring Cloud Bindings\",\"sha256\":\"be27df8838a6d069a2212de5f46da4e39f33f087f2e77c8a725d0f7ec8b5273e\",\"stacks\":[\"io.buildpacks.stacks.bionic\",\"org.cloudfoundry.stacks.cflinuxfs3\"],\"uri\":\"https://repo.spring.io/release/org/springframework/cloud/spring-cloud-bindings/1.6.0/spring-cloud-bindings-1.6.0.jar\",\"version\":\"1.6.0\"},\"build\":false,\"launch\":true,\"cache\":false},\"web-application-type\":{\"sha\":\"sha256:6763b99e37924a36f5ebbaa60cceda209369919ee2ff6b0623381f10222a4dfd\",\"data\":{\"files\":[{\"mode\":\"drwxr-xr-x\",\"path\":\"/workspace/BOOT-INF\"},{\"mode\":\"drwxr-xr-x\",\"path\":\"/workspace/BOOT-INF/classes\"},{\"mode\":\"drwxr-xr-x\",\"path\":\"/workspace/BOOT-INF/classes/info\"},{\"mode\":\"drwxr-xr-x\",\"path\":\"/workspace/BOOT-INF/classes/info/afilias\"},{\"mode\":\"drwxr-xr-x\",\"path\":\"/workspace/BOOT-INF/classes/info/afilias/zonehawk\"},{\"mode\":\"drwxr-xr-x\",\"path\":\"/workspace/BOOT-INF/classes/info/afilias/zonehawk/composer\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/classes/info/afilias/zonehawk/composer/ZonehawkNotificationComposerApplication.class\",\"sha256\":\"2a2d13a040e424fbcb08b9c4f8188a9be18104e9c2411aa40a357aa74db312a0\"},{\"mode\":\"drwxr-xr-x\",\"path\":\"/workspace/BOOT-INF/classes/info/afilias/zonehawk/composer/controller\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/classes/info/afilias/zonehawk/composer/controller/NotificationComposerController.class\",\"sha256\":\"c95b65919bc746054b100ecf3346364203f27478e71a8a0b8b73c17c3f340db6\"},{\"mode\":\"drwxr-xr-x\",\"path\":\"/workspace/BOOT-INF/classes/info/afilias/zonehawk/composer/exception\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/classes/info/afilias/zonehawk/composer/exception/BadRequestException.class\",\"sha256\":\"9bb47e1db70bafddee26233f98c10a0159d87a7f11e49d906b2ec30c63869da9\"},{\"mode\":\"drwxr-xr-x\",\"path\":\"/workspace/BOOT-INF/classes/info/afilias/zonehawk/composer/infrastructure\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/classes/info/afilias/zonehawk/composer/infrastructure/EmailComposerDAO$1.class\",\"sha256\":\"b1c4e4c0353a9971785fc819f96770930cfe435e25d723d4d360dbb23d444ad7\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/classes/info/afilias/zonehawk/composer/infrastructure/EmailComposerDAO$2.class\",\"sha256\":\"f46a5d2f5161e0712d6181a196b184c955cc8edd8a1a2e5a1b5e6f6cb96be0b3\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/classes/info/afilias/zonehawk/composer/infrastructure/EmailComposerDAO$3.class\",\"sha256\":\"cdac2c272e4e6028a8360478127d0d7be582aed78ef5b9f862e9bb37bb0c275c\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/classes/info/afilias/zonehawk/composer/infrastructure/EmailComposerDAO.class\",\"sha256\":\"554ba5a652a3fc4b39b5460db1c0e1b9b82fb83b9e3e6fda1928a9ad29768a36\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/classes/info/afilias/zonehawk/composer/infrastructure/EmailTemplateDAO.class\",\"sha256\":\"2582f7d9b3c5d30d982b50cd22085e4683cef385aad8062a46bbf5e860368754\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/classes/info/afilias/zonehawk/composer/infrastructure/NotificationQueueDAO$1.class\",\"sha256\":\"4b04f5bfe67c6b10d268df877c9002ab587595375396310991b8060c91e18e87\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/classes/info/afilias/zonehawk/composer/infrastructure/NotificationQueueDAO$NotificationRequestMapper.class\",\"sha256\":\"dc75d1f233f3c270e2033510f9c4d55661336260aa82f45da4a5651b37cfd8d3\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/classes/info/afilias/zonehawk/composer/infrastructure/NotificationQueueDAO.class\",\"sha256\":\"a4735807b6b930794eb29e4110b5c3b8aae76834bac3e3ebb6ade1f667457bcd\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/classes/info/afilias/zonehawk/composer/infrastructure/RegistrarAddressBookDAO.class\",\"sha256\":\"54b349a1fc63872ed52699411b150a8254f28f3f5cbbe1864120a5db89cb608a\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/classes/info/afilias/zonehawk/composer/infrastructure/ServiceParameterDAO.class\",\"sha256\":\"27afa707e64489739ef324ea4ec6c7ec81f91eeb0a1ced7ddace582b3268c37d\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/classes/info/afilias/zonehawk/composer/infrastructure/ThreatDao$ThreatRowMapper.class\",\"sha256\":\"c5b008872859d3878449c979562a1dd0b720f5a2444f27a249323e817109662b\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/classes/info/afilias/zonehawk/composer/infrastructure/ThreatDao.class\",\"sha256\":\"916743b43a73165d182c124cb6c2a14fd2d5369efc8aa6edbda70476a92479a1\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/classes/info/afilias/zonehawk/composer/infrastructure/TldDao$RoRowMapper.class\",\"sha256\":\"8f02e097d413435b9e34411252e92517acdcd874a86de8614d4fbc3eb8b1f120\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/classes/info/afilias/zonehawk/composer/infrastructure/TldDao.class\",\"sha256\":\"131fbd1a90f0da04bf5f0e4536f3986340317fe14095120f283990b620334e5a\"},{\"mode\":\"drwxr-xr-x\",\"path\":\"/workspace/BOOT-INF/classes/info/afilias/zonehawk/composer/model\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/classes/info/afilias/zonehawk/composer/model/Attachment.class\",\"sha256\":\"c5e3b7416d67e37f60e61233e4b6102f4cb351beb45e702fd4b16f14a5967080\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/classes/info/afilias/zonehawk/composer/model/ClaimCheck.class\",\"sha256\":\"782705655c30e0620e2a1ee685471ca30548a3a828e5ad1fa4e19b56a0b38828\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/classes/info/afilias/zonehawk/composer/model/Email.class\",\"sha256\":\"c68c10b7164f69a16467d73bf224e423eab3cd65da8d1a284ce2d26d5ae7f040\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/classes/info/afilias/zonehawk/composer/model/Notification.class\",\"sha256\":\"912a14322582c0cdd8ed441de693b6c4354f6ee089147c3ae9f3f31e21e3adb3\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/classes/info/afilias/zonehawk/composer/model/NotificationRequest.class\",\"sha256\":\"0db554d1e809a7dd3c9a2bba47bcda32d3e222f073de59affc75c6de5a37af79\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/classes/info/afilias/zonehawk/composer/model/NotificationRequestRange.class\",\"sha256\":\"75ae81f6481abd9803fbcc0ee589140de1a611ea53155957dd2e265271626303\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/classes/info/afilias/zonehawk/composer/model/RegistrarAddress.class\",\"sha256\":\"18e796681bc6cc4ab5450db9bc6d711ece38e36d2d648b77bec48c7f8bb3d552\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/classes/info/afilias/zonehawk/composer/model/RegistryOperator.class\",\"sha256\":\"35a1b1c143a3fac1f342c751ca848a4e88e56abf4d65b1a9ccf0a9fc2fabc585\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/classes/info/afilias/zonehawk/composer/model/Threat.class\",\"sha256\":\"3a4ce7ea79f1159037269af3fd0299f6fff9963c63b63f191d6b6b64d1109f96\"},{\"mode\":\"drwxr-xr-x\",\"path\":\"/workspace/BOOT-INF/classes/info/afilias/zonehawk/composer/service\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/classes/info/afilias/zonehawk/composer/service/CleanupService.class\",\"sha256\":\"079cefd8c69d7b5dfe1ed84fde0946087454203342b2d0e4784f605cf6d403ff\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/classes/info/afilias/zonehawk/composer/service/CronService.class\",\"sha256\":\"22a1039c72da4e2e105a70762a182f78ea828e680df6f112b7fea67a564d46c6\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/classes/info/afilias/zonehawk/composer/service/DequeueService.class\",\"sha256\":\"3c936419ea7513096b32961683c50dd178b834997657c1ca23e4d31d3cc4e3be\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/classes/info/afilias/zonehawk/composer/service/EmailBuilder.class\",\"sha256\":\"6efdf101825ae74463cb4c6765b2a54bce59603b94d97cc4ef889843a2b853cd\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/classes/info/afilias/zonehawk/composer/service/EmailDataAccessService.class\",\"sha256\":\"40c162b18ca4899dd00406393d355a3b32b3371a67baf751bda59398f38572e8\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/classes/info/afilias/zonehawk/composer/service/EmailDataComposerService.class\",\"sha256\":\"8adf05c37ef6bf0a7191383e89f512341bf8131e49d9770ed6f5bd5e961c8a3a\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/classes/info/afilias/zonehawk/composer/service/NotificationQueueService.class\",\"sha256\":\"8d55e4132cc4ae6a99559c893a1af43adea8d59ae4305afcd64a3bf5b7e85fa1\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/classes/info/afilias/zonehawk/composer/service/SenderServiceClient.class\",\"sha256\":\"f71626aef322fc20681e7f59fa9805bf459e545d7198f51a2b5a50b4331f1250\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/classes/info/afilias/zonehawk/composer/service/ServiceParameterService.class\",\"sha256\":\"58d0a77dbac074a559e463f6e01add7935193681e1320a2690565994952c5455\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/classes/sample-application.properties\",\"sha256\":\"e58d74b1c663cf43955781a15d1aa36994e40a1dbbaa98fbbe1bfea033c0cc63\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/classes/sample-secret.properties\",\"sha256\":\"673fdcf5a040561cc0c5df37cc976541c4b3ff61addd1badf50eb73b809f505f\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/classpath.idx\",\"sha256\":\"489ce570993e9d60dfccdee844db34af5bfac12b857d7faa9557c8f9f4cacaa8\"},{\"mode\":\"drwxr-xr-x\",\"path\":\"/workspace/BOOT-INF/lib\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/HdrHistogram-2.1.12.jar\",\"sha256\":\"9b47fbae444feaac4b7e04f0ea294569e4bc282bc69d8c2ce2ac3f23577281e2\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/HikariCP-3.4.5.jar\",\"sha256\":\"8b732f9470570d4a841dc1ef6c826b586978b25ba830712ff1fa59de275dfa61\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/LatencyUtils-2.0.3.jar\",\"sha256\":\"a32a9ffa06b2f4e01c5360f8f9df7bc5d9454a5d373cd8f361347fa5a57165ec\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/ant-1.9.15.jar\",\"sha256\":\"559878381082474655c740e8373a2c9990fe4a987aa4c26f39c722cef5c42ccc\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/ant-antlr-1.9.15.jar\",\"sha256\":\"eb054b35dc0972fca04a16f1055763acb81c587b76743f23883ed8da9dc66573\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/ant-junit-1.9.15.jar\",\"sha256\":\"7de816305826d78a87379e1b99759463320e38624056d9336ac54424df5a0dd9\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/ant-launcher-1.9.15.jar\",\"sha256\":\"3b6c7c0bbc064a6d40039f995f6dc39bc3b79a3b35f3e947ed545c4b661bd94b\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/archaius-core-0.7.6.jar\",\"sha256\":\"94b6f2b64bcf6f8996fb5b544304254cf0137ae30153a758f3ac9e74387b6bf6\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/aspectjweaver-1.9.6.jar\",\"sha256\":\"3167577eaa4be02817295d320c5a6578de8b80d15615d719d5be0a0d65d16165\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/automaton-1.11-8.jar\",\"sha256\":\"a24475f6ccfe1cc7a4fe9e34e05ce687b0ce0c6e8cb781e0eced3b186482c61e\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/bcpkix-jdk15on-1.64.jar\",\"sha256\":\"84669138b1d99143e2c009024f67824ab8d3edb9b05b7591f5ebfb020a4bda71\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/bcprov-jdk15on-1.64.jar\",\"sha256\":\"a4f463ce552b908a722fa198ef4892a226b3225e453f8df10d5c0a5bfe5db6b6\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/checker-compat-qual-2.5.5.jar\",\"sha256\":\"11d134b245e9cacc474514d2d66b5b8618f8039a1465cdc55bbc0b34e0008b7a\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/commons-cli-1.4.jar\",\"sha256\":\"fd3c7c9545a9cdb2051d1f9155c4f76b1e4ac5a57304404a6eedb578ffba7328\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/commons-codec-1.14.jar\",\"sha256\":\"a128e4f93fabe5381ded64cf2873019e06030b718eb43ceeae0b0e5d17ad33e9\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/commons-collections-3.2.2.jar\",\"sha256\":\"eeeae917917144a68a741d4c0dff66aa5c5c5fd85593ff217bced3fc8ca783b8\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/commons-configuration-1.8.jar\",\"sha256\":\"e229cf1fe95f7147cbc1f8d31affc07087c206bc8dc7e5b05b6be670910f87ba\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/commons-lang-2.6.jar\",\"sha256\":\"50f11b09f877c294d56f24463f47d28f929cf5044f648661c0f0cfbae9a2f49c\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/error_prone_annotations-2.3.4.jar\",\"sha256\":\"baf7d6ea97ce606c53e11b6854ba5f2ce7ef5c24dddf0afa18d1260bd25b002c\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/failureaccess-1.0.1.jar\",\"sha256\":\"a171ee4c734dd2da837e4b16be9df4661afab72a41adaf31eb84dfdaf936ca26\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/freemarker-2.3.30.jar\",\"sha256\":\"6586433d90957c0b05a32bce07c71e8cebcea6afbea2e043bfe0c576c4d94338\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/generex-1.0.2.jar\",\"sha256\":\"8f8ce233c335e08e113a3f9579de1046fb19927e82468b1bbebcd6cba8760b81\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/groovy-2.5.13.jar\",\"sha256\":\"8e2adf2933dd6a6523d7d7e2bcdc04d64fe8462bb31e13f4bc9aaab302f1149d\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/groovy-ant-2.5.13.jar\",\"sha256\":\"dcbff3562f17efb93f133e6dfaa45ab56529d2caecec552bbcfb1acbd95946f6\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/groovy-cli-commons-2.5.13.jar\",\"sha256\":\"a7a1413a152d2c6e223a501a3f3a85f0958bdd8f50825497a3e54adaa4cf7155\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/groovy-cli-picocli-2.5.13.jar\",\"sha256\":\"309c35fc9344c8ae023554e654f39e7f4a2f595481bd8ff283fc9fc98036f42c\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/groovy-console-2.5.13.jar\",\"sha256\":\"af0c61a601fcc78020367be7bc96d85f1a2c7522d4e713adc2e091aefa43a0d1\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/groovy-datetime-2.5.13.jar\",\"sha256\":\"c649fa0b60cba42c7c45dc0ce0df5309389e022cf8e0c9e723323c0663a248e5\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/groovy-docgenerator-2.5.13.jar\",\"sha256\":\"407a351d7bcd98537282b61b3dbf558b5734ccb8802e0e332176e48635afd3ca\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/groovy-groovydoc-2.5.13.jar\",\"sha256\":\"f554050b9cc3cf9f32e547e59e229137de0c38a5766b8fc42e6bdca7ff010537\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/groovy-groovysh-2.5.13.jar\",\"sha256\":\"58931c33f695f04b640b49b4114f9e0ddca145ef5d3112a0ec4b125f11e5086d\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/groovy-jmx-2.5.13.jar\",\"sha256\":\"c1f7b9cb629557909eaffe9572f911a1b75d00b90eeb02072776b804fdcc7994\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/groovy-json-2.5.13.jar\",\"sha256\":\"93a44e8bbbe00a313d8c6e9b35e9e2f3035836a5efcce8d3be0cc7b06006a095\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/groovy-jsr223-2.5.13.jar\",\"sha256\":\"48950f9092d806122c9bbf4beb3c9c921584fbc62c5a2ebe73a71cb0410e0682\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/groovy-macro-2.5.13.jar\",\"sha256\":\"c98f3ad80799d8f92c3c04fa6b0301c8157f12990f4af3d4f08fbd6f712d5ea6\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/groovy-nio-2.5.13.jar\",\"sha256\":\"685249b25abf3dfd40a4a0c75be8d0825bc5863b94259de961a0f8bf2a6ec14d\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/groovy-servlet-2.5.13.jar\",\"sha256\":\"d3f761dd75ca1e273cfd16f6ff9a3da24dd0b3c54eb8d45a0ccfa7c93c97783b\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/groovy-sql-2.5.13.jar\",\"sha256\":\"c9b7d3b966c6583875cc807a19d0ca0eca51252b06595954f008d707addda3c8\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/groovy-swing-2.5.13.jar\",\"sha256\":\"d9fc5425d9967a88f4c34da3138737ca4aede0006e3c253b4e1a524095a9c2e9\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/groovy-templates-2.5.13.jar\",\"sha256\":\"ad42d238e3f3e9bf6e00a20f1b946b82b6e2303291bfe35cd8b8a5b3ccd61ea1\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/groovy-test-2.5.13.jar\",\"sha256\":\"e225b2520e04a0f48962a2fbe0fdb190fa34dd0f8da19e45dc11931c4f73519d\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/groovy-test-junit5-2.5.13.jar\",\"sha256\":\"a56278db9243fe4f132c92e9e568d4ec9e392c214ab24cb0f10749df0d11ace9\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/groovy-testng-2.5.13.jar\",\"sha256\":\"dc4467fef32c63c46b3f413972e2c32a90cce415457fa1826cfb095293d7a1b1\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/groovy-xml-2.5.13.jar\",\"sha256\":\"17d110c5b7a70abe4c7ff2a31bbb57ec8c8b9ef0c0d48406f27e066445037eb9\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/guava-29.0-android.jar\",\"sha256\":\"00ba22cb0e32610db7cf8ab4c20017c85d11788600734ff1d86995345eb5bc3b\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/hamcrest-2.2.jar\",\"sha256\":\"5e62846a89f05cd78cd9c1a553f340d002458380c320455dd1f8fc5497a8a1c1\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/hamcrest-core-2.2.jar\",\"sha256\":\"094f5d92b4b7d9c8a2bf53cc69d356243ae89c3499457bcb4b92f7ed3bf95879\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/httpclient-4.5.12.jar\",\"sha256\":\"bc5f065aba5dd815ee559dd24d9bcb797fb102ff9cfa036f5091ebc529bd3b93\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/httpcore-4.4.13.jar\",\"sha256\":\"e06e89d40943245fcfa39ec537cdbfce3762aecde8f9c597780d2b00c2b43424\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/hystrix-core-1.5.18.jar\",\"sha256\":\"e72775f2b5189a14000aa8002712a77eade6cc36e0c7f0edb576556ab707f905\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/j2objc-annotations-1.3.jar\",\"sha256\":\"21af30c92267bd6122c0e0b4d20cccb6641a37eaf956c6540ec471d584e64a7b\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/jackson-annotations-2.11.2.jar\",\"sha256\":\"90d602d1955df509b1569618cff869994caf9483cb82a3ccb39782a5cda54126\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/jackson-core-2.11.2.jar\",\"sha256\":\"f8d768c4e8884522be5881dd2a91aec812d08d4f05852b434190e22de659dfc9\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/jackson-databind-2.11.2.jar\",\"sha256\":\"cb890b4aad8ed21a7b57e3c8f7924dbdca1aeff9ddd27cb0ff37243037ae1342\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/jackson-dataformat-yaml-2.11.2.jar\",\"sha256\":\"f23c1940596813adc1997374519b5ff8a516b5031bfd3702e4b063115fa36f03\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/jackson-datatype-jdk8-2.11.2.jar\",\"sha256\":\"fa585ff4aed2b250538dd42d53d263fc96c9b1c720e836214e443e4cf28af61f\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/jackson-datatype-jsr310-2.11.2.jar\",\"sha256\":\"c8f7155c405cf1c521fb7f1cde610a0c488aad794b3c4ca7637a199dbc40850f\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/jackson-module-jaxb-annotations-2.11.2.jar\",\"sha256\":\"2c98745f5949946bbc43187dce688366f82abd6438deed12e242eeebd2683180\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/jackson-module-parameter-names-2.11.2.jar\",\"sha256\":\"1b5a7e61314a135bb44e99978801a111f18eb02c9bfe5cc5e5c9edb033369004\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/jakarta.activation-api-1.2.2.jar\",\"sha256\":\"a187a939103aef5849a7af84bd7e27be2d120c410af291437375ffe061f4f09d\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/jakarta.annotation-api-1.3.5.jar\",\"sha256\":\"85fb03fc054cdf4efca8efd9b6712bbb418e1ab98241c4539c8585bbc23e1b8a\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/jakarta.el-3.0.3.jar\",\"sha256\":\"e2bcb8551b02a5c2afdc4cab77302ba5c76705cf1fc832345ca880df80bf4716\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/jakarta.xml.bind-api-2.3.3.jar\",\"sha256\":\"c04539f472e9a6dd0c7685ea82d677282269ab8e7baca2e14500e381e0c6cec5\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/javax.activation-api-1.2.0.jar\",\"sha256\":\"43fdef0b5b6ceb31b0424b208b930c74ab58fac2ceeb7b3f6fd3aeb8b5ca4393\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/javax.el-3.0.1-b11.jar\",\"sha256\":\"2e95f03b75d2bb9fccf58dc1d28dd3b11d384fdc75a4654f64a2e27492acc2bc\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/javax.inject-1.jar\",\"sha256\":\"91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/jaxb-api-2.3.1.jar\",\"sha256\":\"88b955a0df57880a26a74708bc34f74dcaf8ebf4e78843a28b50eae945732b06\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/jaxb-core-2.3.0.jar\",\"sha256\":\"33061af8d2a07379d452f8f0fddcbbf518428dfd3b83d9e2d479c1948020795b\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/jaxb-impl-2.3.0.jar\",\"sha256\":\"edd691fc6ad7c7f3167e1a6833372367bedf6f4f2a4b8230df444a59bb3718b1\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/jcommander-1.72.jar\",\"sha256\":\"e0de160b129b2414087e01fe845609cd55caec6820cfd4d0c90fabcc7bdb8c1e\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/jersey-apache-client4-1.19.1.jar\",\"sha256\":\"3a9ea263f5ae51a24bd5b86c96504c7cf8aedb969ac439372682335a96be302c\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/jersey-client-1.19.1.jar\",\"sha256\":\"b358aebb99c15d9aa7dacbab8b3041618d8fe6513b9113e5fd7711421b4982d1\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/jersey-core-1.19.1.jar\",\"sha256\":\"86c3b0f6b933478dfdd2486f047861dd2f68502e05e3c76c7dfa3968ea2b5532\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/jline-2.14.6.jar\",\"sha256\":\"97d1acaac82409be42e622d7a54d3ae9d08517e8aefdea3d2ba9791150c2f02d\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/joda-time-2.10.6.jar\",\"sha256\":\"6b1b1691b7391efda2143bc12bc6916dbfccf66370a8c946dc04f4f7ddf13cbf\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/jsr305-3.0.2.jar\",\"sha256\":\"766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/jsr311-api-1.1.1.jar\",\"sha256\":\"ab1534b73b5fa055808e6598a5e73b599ccda28c3159c3c0908977809422ee4a\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/jul-to-slf4j-1.7.30.jar\",\"sha256\":\"bbcbfdaa72572255c4f85207a9bfdb24358dc993e41252331bd4d0913e4988b9\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/junit-4.13.jar\",\"sha256\":\"4b8532f63bdc0e0661507f947eb324a954d1dbac631ad19c8aa9a00feed1d863\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/junit-jupiter-api-5.6.2.jar\",\"sha256\":\"3f476de9b214f20ca69da51e801186d001f67328a686df81bc3de3ba11953870\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/junit-jupiter-engine-5.6.2.jar\",\"sha256\":\"0eb1ab3fc8e4130943b54f4d86824b106ef1cd90d96789343f3944e48b3c501c\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/junit-platform-commons-1.6.2.jar\",\"sha256\":\"341621f4d998fd7b539b38baa7e1a3da80b7cac00b983e6206b01c9290915fe9\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/junit-platform-engine-1.6.2.jar\",\"sha256\":\"23b41ac95e4673f7b31e8502424451be4154fe4db1d448448945e2215473c246\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/junit-platform-launcher-1.6.2.jar\",\"sha256\":\"d1ebfafa2bd87b05c7dce7249e1437a1c0e4f16af99d81f89c5a0c0d66dc1510\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/kafka-clients-2.5.1.jar\",\"sha256\":\"5b9aeaf82f38d4e2e5ec079f2f5d28174a2659d446af0f3853b770a17e396594\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/kubernetes-client-4.4.1.jar\",\"sha256\":\"0b84da7988bdb98974f55ed213fba3ba63ba4306070f3b46040587dc1aed51b7\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/kubernetes-model-4.4.1.jar\",\"sha256\":\"16adf8e9df800e8216a5ed6a5cc8c22cc905b9286334760301362cb724f78bda\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/kubernetes-model-common-4.4.1.jar\",\"sha256\":\"69767c4ef6dc20c21397e9c6ce4d71200bff5076877bb8105ba612921db854ac\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar\",\"sha256\":\"b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/log4j-api-2.13.3.jar\",\"sha256\":\"2b4b1965c9dce7f3732a0fbf5c8493199c1e6bf8cf65c3e235b57d98da5f36af\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/log4j-to-slf4j-2.13.3.jar\",\"sha256\":\"9624e9aaf60b1875adde33d8e7997de110b70be09e94e55ad8fc39637ec002c4\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/logback-classic-1.2.3.jar\",\"sha256\":\"fb53f8539e7fcb8f093a56e138112056ec1dc809ebb020b59d8a36a5ebac37e0\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/logback-core-1.2.3.jar\",\"sha256\":\"5946d837fe6f960c02a53eda7a6926ecc3c758bbdd69aa453ee429f858217f22\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/logging-interceptor-3.12.0.jar\",\"sha256\":\"9a1b25b11b10a63a502a0ae85186c180076de1ef6fb5cd1dd095d12fd9d5ced0\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/lz4-java-1.7.1.jar\",\"sha256\":\"f1167a45d4b8002053670ef6991ca66d1bab9dcc03e4ef00183674d2f3fb9cac\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/micrometer-core-1.5.5.jar\",\"sha256\":\"c475461c57b9cd0dd72357b5959c2b6f67ac8b3ffc2f1cd6d344c4a9f9e99e99\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/micrometer-registry-prometheus-1.5.5.jar\",\"sha256\":\"ae5c0bcc002c8548cc73d65c45f1fe087f879a471d6439c4b1b27a4c0376becb\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/netflix-commons-util-0.3.0.jar\",\"sha256\":\"74c5cafc5ff98cd84e8c31d52d2b548c717b47cdbd02d94d90db6f755ad4e2bd\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/netflix-statistics-0.1.1.jar\",\"sha256\":\"573c6d5ad04177db9f9ea4121c94cf85ea7f85d4800eddac2cb140e9cb544e2d\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/okhttp-3.12.0.jar\",\"sha256\":\"71787f2c599e0441c7a4413983bfdd93d40b56e1badc5e0413d6a4c485ba3f35\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/okio-1.15.0.jar\",\"sha256\":\"693fa319a7e8843300602b204023b7674f106ebcb577f2dd5807212b66118bd2\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/opentest4j-1.2.0.jar\",\"sha256\":\"58812de60898d976fb81ef3b62da05c6604c18fd4a249f5044282479fc286af2\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/picocli-4.3.2.jar\",\"sha256\":\"43c9cf516012aad1ac5ce6b54642e9cb1271e66d827b06a879fd314144d57550\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/postgresql-42.2.14.jar\",\"sha256\":\"48bbba05845b40bcce66ece3d7652153d27b5379d5ae90977b78eefd7c7a0287\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/qdox-1.12.1.jar\",\"sha256\":\"21fba22f830e9268f07cf4ab2d99e8181abbdcb0cb91ee0228eb3cb918dcdd1d\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/ribbon-2.3.0.jar\",\"sha256\":\"09f2aa17e668ce77fc6fed2e292aca8ee36c3e94f01bb9590cd692df4c544b81\"},{\"mode\":\"-rw-r--r--\",\"path\":\"/workspace/BOOT-INF/lib/ribbon-core-2.3.0.jar\",\"sha256\":\"18d678fefddea018dc69ed542fc70a04b8120fb3233884c2f4f8a8446624ab51\"},{\"{\"container\":{\"Mounts\":[{\"Destination\":\"/opt/zonehawk/notification-composer/config\",\"Mode\":\"ro\",\"Propagation\":\"rprivate\",\"RW\":false,\"Source\":\"/var/lib/kubelet/pods/5a869192-108c-48ee-818c-c369099f6921/volumes/kubernetes.io~configmap/app-config\"},{\"Destination\":\"/opt/zonehawk/notification-composer/secrets\",\"Mode\":\"ro\",\"Propagation\":\"rprivate\",\"RW\":false,\"Source\":\"/var/lib/kubelet/pods/5a869192-108c-48ee-818c-c369099f6921/volumes/kubernetes.io~secret/app-secret\"},{\"Destination\":\"/var/run/secrets/kubernetes.io/serviceaccount\",\"Mode\":\"ro\",\"Propagation\":\"rprivate\",\"RW\":false,\"Source\":\"/var/lib/kubelet/pods/5a869192-108c-48ee-818c-c369099f6921/volumes/kubernetes.io~secret/zonehawk-sa-token-wt7dd\"},{\"Destination\":\"/etc/hosts\",\"Mode\":\"\",\"Propagation\":\"rprivate\",\"RW\":true,\"Source\":\"/var/lib/kubelet/pods/5a869192-108c-48ee-818c-c369099f6921/etc-hosts\"},{\"Destination\":\"/dev/termination-log\",\"Mode\":\"\",\"Propagation\":\"rprivate\",\"RW\":true,\"Source\":\"/var/lib/kubelet/pods/5a869192-108c-48ee-818c-c369099f6921/containers/zonehawk-notification-composer/1105102c\"}],\"cpu_period\":100000,\"cpu_quota\":0,\"cpu_shares\":2,\"cpuset_cpu_count\":0,\"env\":[],\"id\":\"412de571fa54\",\"image\":\"qadockerregistry.azurecr.io/zonehawk-notification-composer@sha256:3e289d8f2a039699cb87a9f5dfd67fc614a785617866e9f3e447d4a7fa99a855\",\"imagedigest\":\"sha256:3e289d8f2a039699cb87a9f5dfd67fc614a785617866e9f3e447d4a7fa99a855\",\"imageid\":\"cb6f44d9f67fe78703760fe9c793cff1e07e648881b2e3b651b863602f4f380f\",\"imagerepo\":\"qadockerregistry.azurecr.io/zonehawk-notification-composer\",\"imagetag\":\"10.3.0\",\"ip\":\"0.0.0.0\",\"is_pod_sandbox\":false,\"labels\":{\"annotation.io.kubernetes.container.hash\":\"71fd3d7\",\"annotation.io.kubernetes.container.ports\":\"[{\"name\":\"http\",\"containerPort\":8087,\"protocol\":\"TCP\"}]\",\"annotation.io.kubernetes.container.restartCount\":\"0\",\"annotation.io.kubernetes.container.terminationMessagePath\":\"/dev/termination-log\",\"annotation.io.kubernetes.container.terminationMessagePolicy\":\"File\",\"annotation.io.kubernetes.pod.terminationGracePeriod\":\"30\",\"io.buildpacks.build.metadata\":\"{\"bom\":[{\"name\":\"jre\",\"version\":\"11.0.8\",\"metadata\":{\"layer\":\"jre\",\"licenses\":[{\"type\":\"GPL-2.0 WITH Classpath-exception-2.0\",\"uri\":\"https://openjdk.java.net/legal/gplv2+ce.html\"}],\"name\":\"BellSoft Liberica JRE\",\"sha256\":\"b4cb31162ff6d7926dd09e21551fa745fa3ae1758c25148b48dadcf78ab0c24c\",\"stacks\":[\"io.buildpacks.stacks.bionic\",\"org.cloudfoundry.stacks.cflinuxfs3\"],\"uri\":\"https://github.com/bell-sw/Liberica/releases/download/11.0.8+10/bellsoft-jre11.0.8+10-linux-amd64.tar.gz\",\"version\":\"11.0.8\"},\"buildpack\":{\"id\":\"paketo-buildpacks/bellsoft-liberica\",\"version\":\"4.0.0\"}},{\"name\":\"helper\",\"version\":\"4.0.0\",\"metadata\":{\"layer\":\"helper\",\"names\":[\"active-processor-count\",\"java-opts\",\"link-local-dns\",\"memory-calculator\",\"openssl-certificate-loader\",\"security-providers-configurer\",\"security-providers-classpath-9\"],\"version\":\"4.0.0\"},\"buildpack\":{\"id\":\"paketo-buildpacks/bellsoft-liberica\",\"version\":\"4.0.0\"}},{\"name\":\"jvmkill\",\"version\":\"1.16.0\",\"metadata\":{\"layer\":\"jvmkill\",\"licenses\":[{\"type\":\"Apache-2.0\",\"uri\":\"https://github.com/cloudfoundry/jvmkill/blob/main/LICENSE\"}],\"name\":\"JVMKill Agent\",\"sha256\":\"a3092627b082cb3cdbbe4b255d35687126aa604e6b613dcda33be9f7e1277162\",\"stacks\":[\"io.buildpacks.stacks.bionic\",\"org.cloudfoundry.stacks.cflinuxfs3\"],\"uri\":\"https://github.com/cloudfoundry/jvmkill/releases/download/v1.16.0.RELEASE/jvmkill-1.16.0-RELEASE.so\",\"version\":\"1.16.0\"},\"buildpack\":{\"id\":\"paketo-buildp" + +LABEL build2="acks/bellsoft-liberica\",\"version\":\"4.0.0\"}},{\"name\":\"jvm-application\",\"metadata\":null,\"buildpack\":{\"id\":\"paketo-buildpacks/executable-jar\",\"version\":\"3.1.1\"}},{\"name\":\"jvm-application\",\"metadata\":null,\"buildpack\":{\"id\":\"paketo-buildpacks/executable-jar\",\"version\":\"3.1.1\"}},{\"name\":\"jvm-application\",\"metadata\":null,\"buildpack\":{\"id\":\"paketo-buildpacks/executable-jar\",\"version\":\"3.1.1\"}},{\"name\":\"jvm-application\",\"metadata\":null,\"buildpack\":{\"id\":\"paketo-buildpacks/executable-jar\",\"version\":\"3.1.1\"}},{\"name\":\"dependencies\",\"metadata\":{\"dependencies\":[{\"name\":\"HdrHistogram\",\"sha256\":\"9b47fbae444feaac4b7e04f0ea294569e4bc282bc69d8c2ce2ac3f23577281e2\",\"version\":\"2.1.12\"},{\"name\":\"HikariCP\",\"sha256\":\"8b732f9470570d4a841dc1ef6c826b586978b25ba830712ff1fa59de275dfa61\",\"version\":\"3.4.5\"},{\"name\":\"LatencyUtils\",\"sha256\":\"a32a9ffa06b2f4e01c5360f8f9df7bc5d9454a5d373cd8f361347fa5a57165ec\",\"version\":\"2.0.3\"},{\"name\":\"ant\",\"sha256\":\"559878381082474655c740e8373a2c9990fe4a987aa4c26f39c722cef5c42ccc\",\"version\":\"1.9.15\"},{\"name\":\"ant-antlr\",\"sha256\":\"eb054b35dc0972fca04a16f1055763acb81c587b76743f23883ed8da9dc66573\",\"version\":\"1.9.15\"},{\"name\":\"ant-junit\",\"sha256\":\"7de816305826d78a87379e1b99759463320e38624056d9336ac54424df5a0dd9\",\"version\":\"1.9.15\"},{\"name\":\"ant-launcher\",\"sha256\":\"3b6c7c0bbc064a6d40039f995f6dc39bc3b79a3b35f3e947ed545c4b661bd94b\",\"version\":\"1.9.15\"},{\"name\":\"archaius-core\",\"sha256\":\"94b6f2b64bcf6f8996fb5b544304254cf0137ae30153a758f3ac9e74387b6bf6\",\"version\":\"0.7.6\"},{\"name\":\"aspectjweaver\",\"sha256\":\"3167577eaa4be02817295d320c5a6578de8b80d15615d719d5be0a0d65d16165\",\"version\":\"1.9.6\"},{\"name\":\"automaton-1.11\",\"sha256\":\"a24475f6ccfe1cc7a4fe9e34e05ce687b0ce0c6e8cb781e0eced3b186482c61e\",\"version\":\"8\"},{\"name\":\"bcpkix-jdk15on\",\"sha256\":\"84669138b1d99143e2c009024f67824ab8d3edb9b05b7591f5ebfb020a4bda71\",\"version\":\"1.64\"},{\"name\":\"bcprov-jdk15on\",\"sha256\":\"a4f463ce552b908a722fa198ef4892a226b3225e453f8df10d5c0a5bfe5db6b6\",\"version\":\"1.64\"},{\"name\":\"checker-compat-qual\",\"sha256\":\"11d134b245e9cacc474514d2d66b5b8618f8039a1465cdc55bbc0b34e0008b7a\",\"version\":\"2.5.5\"},{\"name\":\"commons-cli\",\"sha256\":\"fd3c7c9545a9cdb2051d1f9155c4f76b1e4ac5a57304404a6eedb578ffba7328\",\"version\":\"1.4\"},{\"name\":\"commons-codec\",\"sha256\":\"a128e4f93fabe5381ded64cf2873019e06030b718eb43ceeae0b0e5d17ad33e9\",\"version\":\"1.14\"},{\"name\":\"commons-collections\",\"sha256\":\"eeeae917917144a68a741d4c0dff66aa5c5c5fd85593ff217bced3fc8ca783b8\",\"version\":\"3.2.2\"},{\"name\":\"commons-configuration\",\"sha256\":\"e229cf1fe95f7147cbc1f8d31affc07087c206bc8dc7e5b05b6be670910f87ba\",\"version\":\"1.8\"},{\"name\":\"commons-lang\",\"sha256\":\"50f11b09f877c294d56f24463f47d28f929cf5044f648661c0f0cfbae9a2f49c\",\"version\":\"2.6\"},{\"name\":\"error_prone_annotations\",\"sha256\":\"baf7d6ea97ce606c53e11b6854ba5f2ce7ef5c24dddf0afa18d1260bd25b002c\",\"version\":\"2.3.4\"},{\"name\":\"failureaccess\",\"sha256\":\"a171ee4c734dd2da837e4b16be9df4661afab72a41adaf31eb84dfdaf936ca26\",\"version\":\"1.0.1\"},{\"name\":\"freemarker\",\"sha256\":\"6586433d90957c0b05a32bce07c71e8cebcea6afbea2e043bfe0c576c4d94338\",\"version\":\"2.3.30\"},{\"name\":\"generex\",\"sha256\":\"8f8ce233c335e08e113a3f9579de1046fb19927e82468b1bbebcd6cba8760b81\",\"version\":\"1.0.2\"},{\"name\":\"groovy\",\"sha256\":\"8e2adf2933dd6a6523d7d7e2bcdc04d64fe8462bb31e13f4bc9aaab302f1149d\",\"version\":\"2.5.13\"},{\"name\":\"groovy-ant\",\"sha256\":\"dcbff3562f17efb93f133e6dfaa45ab56529d2caecec552bbcfb1acbd95946f6\",\"version\":\"2.5.13\"},{\"name\":\"groovy-cli-commons\",\"sha256\":\"a7a1413a152d2c6e223a501a3f3a85f0958bdd8f50825497a3e54adaa4cf7155\",\"version\":\"2.5.13\"},{\"name\":\"groovy-cli-picocli\",\"sha256\":\"309c35fc9344c8ae023554e654f39e7f4a2f595481bd8ff283fc9fc98036f42c\",\"version\":\"2.5.13\"},{\"name\":\"groovy-console\",\"sha256\":\"af0c61a601fcc78020367be7bc96d85f1a2c7522d4e713adc2e091aefa43a0d1\",\"version\":\"2.5.13\"},{\"name\":\"groovy-datetime\",\"sha256\":\"c649fa0b60cba42c7c45dc0ce0df5309389e022cf8e0c9e723323c0663a248e5\",\"version\":\"2.5.13\"},{\"name\":\"groovy-docgenerator\",\"sha256\":\"407a351d7bcd98537282b61b3dbf558b5734ccb8802e0e332176e48635afd3ca\",\"version\":\"2.5.13\"},{\"name\":\"groovy-groovydoc\",\"sha256\":\"f554050b9cc3cf9f32e547e59e229137de0c38a5766b8fc42e6bdca7ff010537\",\"version\":\"2.5.13\"},{\"name\":\"groovy-groovysh\",\"sha256\":\"58931c33f695f04b640b49b4114f9e0ddca145ef5d3112a0ec4b125f11e5086d\",\"version\":\"2.5.13\"},{\"name\":\"groovy-jmx\",\"sha256\":\"c1f7b9cb629557909eaffe9572f911a1b75d00b90eeb02072776b804fdcc7994\",\"version\":\"2.5.13\"},{\"name\":\"groovy-json\",\"sha256\":\"93a44e8bbbe00a313d8c6e9b35e9e2f3035836a5efcce8d3be0cc7b06006a095\",\"version\":\"2.5.13\"},{\"name\":\"groovy-jsr223\",\"sha256\":\"48950f9092d806122c9bbf4beb3c9c921584fbc62c5a2ebe73a71cb0410e0682\",\"version\":\"2.5.13\"},{\"name\":\"groovy-macro\",\"sha256\":\"c98f3ad80799d8f92c3c04fa6b0301c8157f12990f4af3d4f08fbd6f712d5ea6\",\"version\":\"2.5.13\"},{\"name\":\"groovy-nio\",\"sha256\":\"685249b25abf3dfd40a4a0c75be8d0825bc5863b94259de961a0f8bf2a6ec14d\",\"version\":\"2.5.13\"},{\"name\":\"groovy-servlet\",\"sha256\":\"d3f761dd75ca1e273cfd16f6ff9a3da24dd0b3c54eb8d45a0ccfa7c93c97783b\",\"version\":\"2.5.13\"},{\"name\":\"groovy-sql\",\"sha256\":\"c9b7d3b966c6583875cc807a19d0ca0eca51252b06595954f008d707addda3c8\",\"version\":\"2.5.13\"},{\"name\":\"groovy-swing\",\"sha256\":\"d9fc5425d9967a88f4c34da3138737ca4aede0006e3c253b4e1a524095a9c2e9\",\"version\":\"2.5.13\"},{\"name\":\"groovy-templates\",\"sha256\":\"ad42d238e3f3e9bf6e00a20f1b946b82b6e2303291bfe35cd8b8a5b3ccd61ea1\",\"version\":\"2.5.13\"},{\"name\":\"groovy-test\",\"sha256\":\"e225b2520e04a0f48962a2fbe0fdb190fa34dd0f8da19e45dc11931c4f73519d\",\"version\":\"2.5.13\"},{\"name\":\"groovy-test-junit5\",\"sha256\":\"a56278db9243fe4f132c92e9e568d4ec9e392c214ab24cb0f10749df0d11ace9\",\"version\":\"2.5.13\"},{\"name\":\"groovy-testng\",\"sha256\":\"dc4467fef32c63c46b3f413972e2c32a90cce415457fa1826cfb095293d7a1b1\",\"version\":\"2.5.13\"},{\"name\":\"groovy-xml\",\"sha256\":\"17d110c5b7a70abe4c7ff2a31bbb57ec8c8b9ef0c0d48406f27e066445037eb9\",\"version\":\"2.5.13\"},{\"name\":\"guava\",\"sha256\":\"00ba22cb0e32610db7cf8ab4c20017c85d11788600734ff1d86995345eb5bc3b\",\"version\":\"29.0-android\"},{\"name\":\"hamcrest\",\"sha256\":\"5e62846a89f05cd78cd9c1a553f340d002458380c320455dd1f8fc5497a8a1c1\",\"version\":\"2.2\"},{\"name\":\"hamcrest-core\",\"sha256\":\"094f5d92b4b7d9c8a2bf53cc69d356243ae89c3499457bcb4b92f7ed3bf95879\",\"version\":\"2.2\"},{\"name\":\"httpclient\",\"sha256\":\"bc5f065aba5dd815ee559dd24d9bcb797fb102ff9cfa036f5091ebc529bd3b93\",\"version\":\"4.5.12\"},{\"name\":\"httpcore\",\"sha256\":\"e06e89d40943245fcfa39ec537cdbfce3762aecde8f9c597780d2b00c2b43424\",\"version\":\"4.4.13\"},{\"name\":\"hystrix-core\",\"sha256\":\"e72775f2b5189a14000aa8002712a77eade6cc36e0c7f0edb576556ab707f905\",\"version\":\"1.5.18\"},{\"name\":\"j2objc-annotations\",\"sha256\":\"21af30c92267bd6122c0e0b4d20cccb6641a37eaf956c6540ec471d584e64a7b\",\"version\":\"1.3\"},{\"name\":\"jackson-annotations\",\"sha256\":\"90d602d1955df509b1569618cff869994caf9483cb82a3ccb39782a5cda54126\",\"version\":\"2.11.2\"},{\"name\":\"jackson-core\",\"sha256\":\"f8d768c4e8884522be5881dd2a91aec812d08d4f05852b434190e22de659dfc9\",\"version\":\"2.11.2\"},{\"name\":\"jackson-databind\",\"sha256\":\"cb890b4aad8ed21a7b57e3c8f7924dbdca1aeff9ddd27cb0ff37243037ae1342\",\"version\":\"2.11.2\"},{\"name\":\"jackson-dataformat-yaml\",\"sha256\":\"f23c1940596813adc1997374519b5ff8a516b5031bfd3702e4b063115fa36f03\",\"version\":\"2.11.2\"},{\"name\":\"jackson-datatype-jdk8\",\"sha256\":\"fa585ff4aed2b250538dd42d53d263fc96c9b1c720e836214e443e4cf28af61f\",\"version\":\"2.11.2\"},{\"name\":\"jackson-datatype-jsr310\",\"sha256\":\"c8f7155c405cf1c521fb7f1cde610a0c488aad794b3c" + +RUN printf \ +'#!/bin/sh \n\ +for i in `seq 1 10`; do \n\ + date \n\ + sleep 1 \n\ +done \n'\ +> /entrypoint.sh && \ +chmod +x /entrypoint.sh + +ENTRYPOINT ["/entrypoint.sh"] diff --git a/integration-tests/executor.go b/integration-tests/executor.go index eabe9e610e..ba8e36dec0 100644 --- a/integration-tests/executor.go +++ b/integration-tests/executor.go @@ -18,6 +18,7 @@ type Executor interface { CopyFromHost(src string, dst string) (string, error) PullImage(image string) error IsContainerRunning(image string) (bool, error) + ExitCode(container string) (int, error) Exec(args ...string) (string, error) ExecRetry(args ...string) (string, error) } @@ -167,11 +168,19 @@ func (e *executor) PullImage(image string) error { func (e *executor) IsContainerRunning(containerID string) (bool, error) { result, err := e.Exec("docker", "inspect", containerID, "--format='{{.State.Running}}'") if err != nil { - return false, nil + return false, err } return result == "'true'", nil } +func (e *executor) ExitCode(containerID string) (int, error) { + result, err := e.Exec("docker", "inspect", containerID, "--format='{{.State.ExitCode}}'") + if err != nil { + return -1, err + } + return strconv.Atoi(strings.Trim(result, "\"'")) +} + func (e *localCommandBuilder) ExecCommand(execArgs ...string) *exec.Cmd { return exec.Command(execArgs[0], execArgs[1:]...) } diff --git a/integration-tests/integration_test.go b/integration-tests/integration_test.go index 27592a0f8d..3c305d3160 100644 --- a/integration-tests/integration_test.go +++ b/integration-tests/integration_test.go @@ -43,6 +43,10 @@ func TestBenchmark(t *testing.T) { suite.Run(t, new(BenchmarkCollectorTestSuite)) } +func TestImageLabelJSON(t *testing.T) { + suite.Run(t, new(ImageLabelJSONTestSuite)) +} + // TestMissingProcScrape only works with local fake proc directory func TestMissingProcScrape(t *testing.T) { if ReadEnvVarWithDefault("REMOTE_HOST_TYPE", "local") == "local" { @@ -95,6 +99,31 @@ type MissingProcScrapeTestSuite struct { IntegrationTestSuiteBase } +type ImageLabelJSONTestSuite struct { + IntegrationTestSuiteBase +} + +func (s *ImageLabelJSONTestSuite) SetupSuite() { + s.executor = NewExecutor() + s.collector = NewCollectorManager(s.executor, s.T().Name()) + err := s.collector.Setup() + require.NoError(s.T(), err) + err = s.collector.Launch() + require.NoError(s.T(), err) +} + +func (s *ImageLabelJSONTestSuite) TestRunImageWithJSONLabel() { + s.RunImageWithJSONLabels() +} + +func (s *ImageLabelJSONTestSuite) TearDownSuite() { + err := s.collector.TearDown() + require.NoError(s.T(), err) + s.db, err = s.collector.BoltDB() + require.NoError(s.T(), err) + s.cleanupContainer([]string{"collector", "grpc-server", "jsonlabel"}) +} + func (s *BenchmarkCollectorTestSuite) SetupSuite() { s.executor = NewExecutor() s.StartContainerStats() @@ -483,6 +512,21 @@ func (s *IntegrationTestSuiteBase) RunCollectorBenchmark() { } } +func (s *IntegrationTestSuiteBase) RunImageWithJSONLabels() { + name := "jsonlabel" + image := "stackrox/benchmark-collector:json-label" + err := s.executor.PullImage(image) + require.NoError(s.T(), err) + args := []string{ + name, + image, + } + containerID, err := s.launchContainer(args...) + require.NoError(s.T(), err) + _, err = s.waitForContainerToExit(name, containerID[0:12]) + require.NoError(s.T(), err) +} + func (s *IntegrationTestSuiteBase) StartContainerStats() { name := "container-stats" image := "stackrox/benchmark-collector:stats" diff --git a/sysdig/src b/sysdig/src index 62fea22bb8..15d93daa79 160000 --- a/sysdig/src +++ b/sysdig/src @@ -1 +1 @@ -Subproject commit 62fea22bb8c9057276a15fefb0d44bcea4527ff5 +Subproject commit 15d93daa79d43fc4c302d2d901744b1a2d127e64