From 891c84a73a0498f90582d70f58300f9de0620e51 Mon Sep 17 00:00:00 2001 From: Matthias Bertschy Date: Mon, 8 Jan 2024 17:53:54 +0100 Subject: [PATCH 1/2] use fixed IG version for high CPU usage and panic Signed-off-by: Matthias Bertschy --- go.mod | 41 +++++++------ go.sum | 94 ++++++++++++++++-------------- pkg/containerwatcher/v1/network.go | 8 ++- 3 files changed, 78 insertions(+), 65 deletions(-) diff --git a/go.mod b/go.mod index b41b52e5..f984f9a3 100644 --- a/go.mod +++ b/go.mod @@ -9,30 +9,31 @@ require ( github.com/cilium/ebpf v0.12.3 github.com/deckarep/golang-set/v2 v2.5.0 github.com/facette/natsort v0.0.0-20181210072756-2cd4dd1e2dcb - github.com/google/uuid v1.4.0 + github.com/google/uuid v1.5.0 github.com/goradd/maps v0.1.5 - github.com/inspektor-gadget/inspektor-gadget v0.23.1 + github.com/inspektor-gadget/inspektor-gadget v0.24.1-0.20240110102739-7e977db8dc7a github.com/kinbiko/jsonassert v1.1.1 github.com/kubescape/backend v0.0.16 github.com/kubescape/go-logger v0.0.22 github.com/kubescape/k8s-interface v0.0.156 github.com/kubescape/storage v0.0.48-0.20231220083733-77c05196c95c github.com/panjf2000/ants/v2 v2.9.0 - github.com/spf13/viper v1.17.0 + github.com/spf13/viper v1.18.2 github.com/stretchr/testify v1.8.4 go.etcd.io/bbolt v1.3.8 go.opentelemetry.io/otel v1.21.0 go.opentelemetry.io/otel/trace v1.21.0 - golang.org/x/sys v0.15.0 - k8s.io/api v0.28.4 - k8s.io/apimachinery v0.28.4 - k8s.io/client-go v0.28.4 + golang.org/x/sys v0.16.0 + k8s.io/api v0.29.0 + k8s.io/apimachinery v0.29.0 + k8s.io/client-go v0.29.0 k8s.io/utils v0.0.0-20231127182322-b307cd553661 ) require ( github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 // indirect github.com/AdamKorcz/go-118-fuzz-build v0.0.0-20230306123547-8075edf89bb0 // indirect + github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 // indirect github.com/Microsoft/go-winio v0.6.1 // indirect github.com/Microsoft/hcsshim v0.12.0-rc.1 // indirect github.com/acobaugh/osrelease v0.1.0 // indirect @@ -52,7 +53,7 @@ require ( github.com/briandowns/spinner v1.23.0 // indirect github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/containerd/cgroups/v3 v3.0.2 // indirect - github.com/containerd/containerd v1.7.10 // indirect + github.com/containerd/containerd v1.7.11 // indirect github.com/containerd/continuity v0.4.2 // indirect github.com/containerd/fifo v1.1.0 // indirect github.com/containerd/log v0.1.0 // indirect @@ -76,6 +77,7 @@ require ( github.com/facebookincubator/nvdtools v0.1.5 // indirect github.com/fatih/color v1.15.0 // indirect github.com/felixge/fgprof v0.9.3 // indirect + github.com/felixge/httpsnoop v1.0.3 // indirect github.com/francoispqt/gojay v1.2.13 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/gabriel-vasile/mimetype v1.4.0 // indirect @@ -149,13 +151,13 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/pquerna/cachecontrol v0.2.0 // indirect github.com/s3rj1k/go-fanotify/fanotify v0.0.0-20210917134616-9c00a300bb7a // indirect - github.com/sagikazarmark/locafero v0.3.0 // indirect + github.com/sagikazarmark/locafero v0.4.0 // indirect github.com/sagikazarmark/slog-shim v0.1.0 // indirect github.com/scylladb/go-set v1.0.3-0.20200225121959-cc7b2070d91e // indirect github.com/sirupsen/logrus v1.9.3 // indirect github.com/sourcegraph/conc v0.3.0 // indirect github.com/spf13/afero v1.11.0 // indirect - github.com/spf13/cast v1.5.1 // indirect + github.com/spf13/cast v1.6.0 // indirect github.com/spf13/cobra v1.8.0 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/stripe/stripe-go/v74 v74.28.0 // indirect @@ -176,6 +178,7 @@ require ( github.com/xlab/treeprint v1.2.0 // indirect github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778 // indirect go.opencensus.io v0.24.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.45.0 // indirect go.opentelemetry.io/contrib/instrumentation/runtime v0.44.0 // indirect go.opentelemetry.io/otel/exporters/otlp/otlpmetric v0.41.0 // indirect go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v0.41.0 // indirect @@ -189,29 +192,29 @@ require ( go.starlark.net v0.0.0-20230814145427-12f4cb8177e4 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.26.0 // indirect - golang.org/x/crypto v0.16.0 // indirect - golang.org/x/exp v0.0.0-20231006140011-7918f672742d // indirect + golang.org/x/crypto v0.17.0 // indirect + golang.org/x/exp v0.0.0-20231108232855-2478ac86f678 // indirect golang.org/x/mod v0.14.0 // indirect golang.org/x/net v0.19.0 // indirect golang.org/x/oauth2 v0.15.0 // indirect - golang.org/x/sync v0.5.0 // indirect - golang.org/x/term v0.15.0 // indirect + golang.org/x/sync v0.6.0 // indirect + golang.org/x/term v0.16.0 // indirect golang.org/x/text v0.14.0 // indirect golang.org/x/time v0.5.0 // indirect - golang.org/x/tools v0.14.0 // indirect + golang.org/x/tools v0.15.0 // indirect google.golang.org/appengine v1.6.8 // indirect google.golang.org/genproto v0.0.0-20231106174013-bbf56f31fb17 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f // indirect - google.golang.org/grpc v1.59.0 // indirect - google.golang.org/protobuf v1.31.0 // indirect + google.golang.org/grpc v1.60.1 // indirect + google.golang.org/protobuf v1.32.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/square/go-jose.v2 v2.6.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/cli-runtime v0.28.4 // indirect - k8s.io/cri-api v0.28.4 // indirect + k8s.io/cli-runtime v0.29.0 // indirect + k8s.io/cri-api v0.29.0 // indirect k8s.io/klog/v2 v2.110.1 // indirect k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect sigs.k8s.io/controller-runtime v0.16.3 // indirect diff --git a/go.sum b/go.sum index 27908638..1c89e0c2 100644 --- a/go.sum +++ b/go.sum @@ -57,8 +57,8 @@ github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 h1:bvDV9 github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24/go.mod h1:8o94RPi1/7XTJvwPpRSzSUedZrtlirdB3r9Z20bi2f8= github.com/AdamKorcz/go-118-fuzz-build v0.0.0-20230306123547-8075edf89bb0 h1:59MxjQVfjXsBpLy+dbd2/ELV5ofnUkUZBvWSC85sheA= github.com/AdamKorcz/go-118-fuzz-build v0.0.0-20230306123547-8075edf89bb0/go.mod h1:OahwfttHWG6eJ0clwcfBAHoDI6X/LV/15hx/wlMZSrU= -github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= -github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= +github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 h1:L/gRVlceqvL25UVaW/CKtUDjefjrs0SPonmDGUVOYP0= +github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/toml v0.4.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= @@ -148,8 +148,8 @@ github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWH github.com/cncf/xds/go v0.0.0-20211130200136-a8f946100490/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/containerd/cgroups/v3 v3.0.2 h1:f5WFqIVSgo5IZmtTT3qVBo6TzI1ON6sycSBKkymb9L0= github.com/containerd/cgroups/v3 v3.0.2/go.mod h1:JUgITrzdFqp42uI2ryGA+ge0ap/nxzYgkGmIcetmErE= -github.com/containerd/containerd v1.7.10 h1:2nfZyT8BV0C3iKu/SsGxKVAf9dp5W7l9nA8JmWmDGuo= -github.com/containerd/containerd v1.7.10/go.mod h1:0/W44LWEYfSHoxBtsHIiNU/duEkgpMokemafHVCpq9Y= +github.com/containerd/containerd v1.7.11 h1:lfGKw3eU35sjV0aG2eYZTiwFEY1pCzxdzicHP3SZILw= +github.com/containerd/containerd v1.7.11/go.mod h1:5UluHxHTX2rdvYuZ5OJTC5m/KJNs0Zs9wVoJm9zf5ZE= github.com/containerd/continuity v0.4.2 h1:v3y/4Yz5jwnvqPKJJ+7Wf93fyWoCB3F5EclWG023MDM= github.com/containerd/continuity v0.4.2/go.mod h1:F6PTNCKepoxEaXLQp3wDAjygEnImnZ/7o4JzpodfroQ= github.com/containerd/fifo v1.1.0 h1:4I2mbh5stb1u6ycIABlBw9zgtlK8viPI9QkQNRQEEmY= @@ -172,6 +172,8 @@ github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSV github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= +github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= @@ -228,11 +230,13 @@ github.com/fatih/set v0.2.1 h1:nn2CaJyknWE/6txyUDGwysr3G5QC6xWB/PtVjPBbeaA= github.com/fatih/set v0.2.1/go.mod h1:+RKtMCH+favT2+3YecHGxcc0b4KyVWA1QWWJUs4E0CI= github.com/felixge/fgprof v0.9.3 h1:VvyZxILNuCiUCSXtPtYmmtGvb65nqXh2QFWc0Wpf2/g= github.com/felixge/fgprof v0.9.3/go.mod h1:RdbpDgzqYVh/T9fPELJyV7EYJuHB55UTEULNun8eiPw= +github.com/felixge/httpsnoop v1.0.3 h1:s/nj+GCswXYzN5v2DpNMuMQYe+0DDwt5WVCU6CWBdXk= +github.com/felixge/httpsnoop v1.0.3/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= github.com/francoispqt/gojay v1.2.13 h1:d2m3sFjloqoIUQU3TsHBgj6qg/BVGlTBeHDUmyJnXKk= github.com/francoispqt/gojay v1.2.13/go.mod h1:ehT5mTG4ua4581f1++1WLG0vPdaA9HaiDsoyrBGkyDY= -github.com/frankban/quicktest v1.14.5 h1:dfYrrRyLtiqT9GyKXgdh+k4inNeTvmGbuSgZ3lx3GhA= -github.com/frankban/quicktest v1.14.5/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= +github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= +github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= @@ -374,8 +378,8 @@ github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm4 github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.4.0 h1:MtMxsa51/r9yyhkyLsVeVt0B+BGQZzpQiTQ4eHZ8bc4= -github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= +github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go v2.0.0+incompatible/go.mod h1:SFVmujtThgffbyetf+mdk2eWhX2bMyUtNHzFKcPA9HY= github.com/googleapis/gax-go/v2 v2.0.3/go.mod h1:LLvjysVCY1JZeum8Z6l8qUty8fiNwE08qbEPm1M08qg= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= @@ -442,8 +446,8 @@ github.com/imdario/mergo v0.3.16/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+h github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= -github.com/inspektor-gadget/inspektor-gadget v0.23.1 h1:lAo+6I79E7qYVkeoi1IhDviLjG9IbFK75JVIM0RfFBw= -github.com/inspektor-gadget/inspektor-gadget v0.23.1/go.mod h1:ciFeohyRWA1ZFnv2SdDVUAg3KclJsa1ZGiXqhL2rC5g= +github.com/inspektor-gadget/inspektor-gadget v0.24.1-0.20240110102739-7e977db8dc7a h1:KtDTxFgYEmuLz2e1cJXzCVIWi5EBcU1L2bN7TZEY+dk= +github.com/inspektor-gadget/inspektor-gadget v0.24.1-0.20240110102739-7e977db8dc7a/go.mod h1:iX0W5pmmiYSF8aAExxcqF2T7KHcIQupAVF6ZP3GINiQ= github.com/inspektor-gadget/netns v0.0.5-0.20230524185006-155d84c555d6 h1:fQqkJ+WkYfzy6BoUh32fr9uYrXfOGtsfw0skMQkfOic= github.com/inspektor-gadget/netns v0.0.5-0.20230524185006-155d84c555d6/go.mod h1:SpkAiCQRtJ6TvvxPnOSyH3BMl6unz3xZlaprSwhNNJM= github.com/jellevandenhooff/dkim v0.0.0-20150330215556-f50fe3d243e1/go.mod h1:E0B/fFc00Y+Rasa88328GlI/XbtyysCtTHZS8h7IrBU= @@ -573,8 +577,8 @@ github.com/nwaples/rardecode v1.1.0/go.mod h1:5DzqNKiOdpKKBH87u8VlvAnPZMXcGRhxWk github.com/olvrng/ujson v1.1.0 h1:8xVUzVlqwdMVWh5d1UHBtLQ1D50nxoPuPEq9Wozs8oA= github.com/olvrng/ujson v1.1.0/go.mod h1:Mz4G3RODTUfbkKyvi0lgmPx/7vd3Saksk+1jgk8s9xo= github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= -github.com/onsi/ginkgo/v2 v2.11.0 h1:WgqUCUt/lT6yXoQ8Wef0fsNn5cAuMK7+KT9UFRz2tcU= -github.com/onsi/ginkgo/v2 v2.11.0/go.mod h1:ZhrRA5XmEE3x3rhlzamx/JJvujdZoJ2uvgI7kR0iZvM= +github.com/onsi/ginkgo/v2 v2.13.0 h1:0jY9lJquiL8fcf3M4LAXN5aMlS/b2BV86HFFPCPMgE4= +github.com/onsi/ginkgo/v2 v2.13.0/go.mod h1:TE309ZR8s5FsKKpuB1YAQYBzCaAfUgatB/xlT/ETL/o= github.com/onsi/gomega v1.30.0 h1:hvMK7xYz4D3HapigLTeGdId/NcfQx1VHMJc60ew99+8= github.com/onsi/gomega v1.30.0/go.mod h1:9sxs+SwGrKI0+PWe4Fxa9tFQQBG5xSsSbMXOI8PPpoQ= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= @@ -646,8 +650,8 @@ github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb github.com/s3rj1k/go-fanotify/fanotify v0.0.0-20210917134616-9c00a300bb7a h1:np2nR32/A/VcOG9Hn+IOPA8kMk1gbBzK5LpSsgq5pJI= github.com/s3rj1k/go-fanotify/fanotify v0.0.0-20210917134616-9c00a300bb7a/go.mod h1:wiP6GQ2T378F+YIyuNw7yXtBxJZR+fqrrn1Z6UHZi0Q= github.com/sagikazarmark/crypt v0.3.0/go.mod h1:uD/D+6UF4SrIR1uGEv7bBNkNqLGqUr43MRiaGWX1Nig= -github.com/sagikazarmark/locafero v0.3.0 h1:zT7VEGWC2DTflmccN/5T1etyKvxSxpHsjb9cJvm4SvQ= -github.com/sagikazarmark/locafero v0.3.0/go.mod h1:w+v7UsPNFwzF1cHuOajOOzoq4U7v/ig1mpRjqV+Bu1U= +github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ= +github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4= github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE= github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= github.com/scylladb/go-set v1.0.3-0.20200225121959-cc7b2070d91e h1:7q6NSFZDeGfvvtIRwBrU/aegEYJYmvev0cHAwo17zZQ= @@ -697,8 +701,8 @@ github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z github.com/spf13/afero v1.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8= github.com/spf13/afero v1.11.0/go.mod h1:GH9Y3pIexgf1MTIWtNGyogA5MwRIDXGUr+hbWNoBjkY= github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.5.1 h1:R+kOtfhWQE6TVQzY+4D7wJLBgkdVasCEFxSUBYBYIlA= -github.com/spf13/cast v1.5.1/go.mod h1:b9PdjNptOpzXr7Rq1q9gJML/2cdGQAo69NKzQ10KN48= +github.com/spf13/cast v1.6.0 h1:GEiTHELF+vaR5dhz3VqZfFSzZjYbgeKDpBxQVS4GYJ0= +github.com/spf13/cast v1.6.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= github.com/spf13/cobra v1.3.0/go.mod h1:BrRVncBjOJa/eUcVVm9CE+oC6as8k+VYr4NY7WCi9V4= github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0= github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho= @@ -706,8 +710,8 @@ github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0 github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.10.0/go.mod h1:SoyBPwAtKDzypXNDFKN5kzH7ppppbGZtls1UpIy5AsM= -github.com/spf13/viper v1.17.0 h1:I5txKw7MJasPL/BrfkbA0Jyo/oELqVmux4pR/UxOMfI= -github.com/spf13/viper v1.17.0/go.mod h1:BmMMMLQXSbcHK6KAOiFLz0l5JHrU89OdIRHvsk0+yVI= +github.com/spf13/viper v1.18.2 h1:LUXCnvUvSM6FXAsj6nnfc8Q2tp1dIgUfY9Kc8GsSOiQ= +github.com/spf13/viper v1.18.2/go.mod h1:EKmWIqdnk5lOcmR72yw6hS+8OPYcwD0jteitLMVB+yk= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= @@ -787,6 +791,8 @@ go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.45.0 h1:x8Z78aZx8cOF0+Kkazoc7lwUNMGy0LrzEMxTm4BbTxg= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.45.0/go.mod h1:62CPTSry9QZtOaSsE3tOzhx6LzDhHnXJ6xHeMNNiM6Q= go.opentelemetry.io/contrib/instrumentation/runtime v0.44.0 h1:TXu20nL4yYfJlQeqG/D3Ia6b0p2HZmLfJto9hqJTQ/c= go.opentelemetry.io/contrib/instrumentation/runtime v0.44.0/go.mod h1:tQ5gBnfjndV1su3+DiLuu6rnd9hBBzg4rkRILnjSNFg= go.opentelemetry.io/otel v1.21.0 h1:hzLeKBZEL7Okw2mGzZ0cc4k/A7Fta0uoPgaJCr8fsFc= @@ -838,8 +844,8 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.16.0 h1:mMMrFzRSCF0GvB7Ne27XVtVAaXLrPmgPC7/v0tkwHaY= -golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= +golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k= +golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -850,8 +856,8 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/exp v0.0.0-20231006140011-7918f672742d h1:jtJma62tbqLibJ5sFQz8bKtEM8rJBtfilJ2qTU199MI= -golang.org/x/exp v0.0.0-20231006140011-7918f672742d/go.mod h1:ldy0pHrwJyGW56pPQzzkH36rKxoZW1tw7ZJpeKx+hdo= +golang.org/x/exp v0.0.0-20231108232855-2478ac86f678 h1:mchzmB1XO2pMaKFRqk/+MV3mgGG96aqaPXaMifQU47w= +golang.org/x/exp v0.0.0-20231108232855-2478ac86f678/go.mod h1:zk2irFbV9DP96SEBUUAy67IdHUaZuSnrz1n472HUCLE= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -967,8 +973,8 @@ golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= -golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE= -golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= +golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1046,13 +1052,13 @@ golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= -golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU= +golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.0.0-20220526004731-065cf7ba2467/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4= -golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= +golang.org/x/term v0.16.0 h1:m+B6fahuftsE9qjo0VWp2FW0mB3MTJvR0BaMQrq0pmE= +golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1128,8 +1134,8 @@ golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.14.0 h1:jvNa2pY0M4r62jkRQ6RwEZZyPcymeL9XZMLBbV7U2nc= -golang.org/x/tools v0.14.0/go.mod h1:uYBEerGOWcJyEORxN+Ek8+TT266gXkNlHdJBwexUsBg= +golang.org/x/tools v0.15.0 h1:zdAyfUGbYmuVokhzVmghFl2ZJh5QhcfebBgmVPFYA+8= +golang.org/x/tools v0.15.0/go.mod h1:hpksKq4dtpQWS1uQ61JkdqWM3LscIS6Slf+VVkm+wQk= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1283,8 +1289,8 @@ google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnD google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= -google.golang.org/grpc v1.59.0 h1:Z5Iec2pjwb+LEOqzpB2MR12/eKFhDPhuqW91O+4bwUk= -google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98= +google.golang.org/grpc v1.60.1 h1:26+wFr+cNqSGFcOXcabYC0lUVJVRa2Sb2ortSK7VrEU= +google.golang.org/grpc v1.60.1/go.mod h1:OlCHIeLYqSSsLi6i49B5QGdzaMZK9+M7LXN2FKz4eGM= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= @@ -1299,8 +1305,8 @@ google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlba google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= -google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= +google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -1338,16 +1344,16 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.28.4 h1:8ZBrLjwosLl/NYgv1P7EQLqoO8MGQApnbgH8tu3BMzY= -k8s.io/api v0.28.4/go.mod h1:axWTGrY88s/5YE+JSt4uUi6NMM+gur1en2REMR7IRj0= -k8s.io/apimachinery v0.28.4 h1:zOSJe1mc+GxuMnFzD4Z/U1wst50X28ZNsn5bhgIIao8= -k8s.io/apimachinery v0.28.4/go.mod h1:wI37ncBvfAoswfq626yPTe6Bz1c22L7uaJ8dho83mgg= -k8s.io/cli-runtime v0.28.4 h1:IW3aqSNFXiGDllJF4KVYM90YX4cXPGxuCxCVqCD8X+Q= -k8s.io/cli-runtime v0.28.4/go.mod h1:MLGRB7LWTIYyYR3d/DOgtUC8ihsAPA3P8K8FDNIqJ0k= -k8s.io/client-go v0.28.4 h1:Np5ocjlZcTrkyRJ3+T3PkXDpe4UpatQxj85+xjaD2wY= -k8s.io/client-go v0.28.4/go.mod h1:0VDZFpgoZfelyP5Wqu0/r/TRYcLYuJ2U1KEeoaPa1N4= -k8s.io/cri-api v0.28.4 h1:RswgRc7X3F3kh7vtMP+q9a5eBEvsevW9qlUqhtzHYOA= -k8s.io/cri-api v0.28.4/go.mod h1:QaLIWi4Ejw0uHZlGRUIDmc2IlNlwc9Wp4gb6tEjeQCs= +k8s.io/api v0.29.0 h1:NiCdQMY1QOp1H8lfRyeEf8eOwV6+0xA6XEE44ohDX2A= +k8s.io/api v0.29.0/go.mod h1:sdVmXoz2Bo/cb77Pxi71IPTSErEW32xa4aXwKH7gfBA= +k8s.io/apimachinery v0.29.0 h1:+ACVktwyicPz0oc6MTMLwa2Pw3ouLAfAon1wPLtG48o= +k8s.io/apimachinery v0.29.0/go.mod h1:eVBxQ/cwiJxH58eK/jd/vAk4mrxmVlnpBH5J2GbMeis= +k8s.io/cli-runtime v0.29.0 h1:q2kC3cex4rOBLfPOnMSzV2BIrrQlx97gxHJs21KxKS4= +k8s.io/cli-runtime v0.29.0/go.mod h1:VKudXp3X7wR45L+nER85YUzOQIru28HQpXr0mTdeCrk= +k8s.io/client-go v0.29.0 h1:KmlDtFcrdUzOYrBhXHgKw5ycWzc3ryPX5mQe0SkG3y8= +k8s.io/client-go v0.29.0/go.mod h1:yLkXH4HKMAywcrD82KMSmfYg2DlE8mepPR4JGSo5n38= +k8s.io/cri-api v0.29.0 h1:atenAqOltRsFqcCQlFFpDnl/R4aGfOELoNLTDJfd7t8= +k8s.io/cri-api v0.29.0/go.mod h1:Rls2JoVwfC7kW3tndm7267kriuRukQ02qfht0PCRuIc= k8s.io/klog/v2 v2.110.1 h1:U/Af64HJf7FcwMcXyKm2RPM22WZzyR7OSpYj5tg3cL0= k8s.io/klog/v2 v2.110.1/go.mod h1:YGtd1984u+GgbuZ7e08/yBuAfKLSO0+uR1Fhi6ExXjo= k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 h1:aVUu9fTY98ivBPKR9Y5w/AuzbMm96cd3YHRTU83I780= diff --git a/pkg/containerwatcher/v1/network.go b/pkg/containerwatcher/v1/network.go index 045ac589..abb0a9a2 100644 --- a/pkg/containerwatcher/v1/network.go +++ b/pkg/containerwatcher/v1/network.go @@ -26,8 +26,12 @@ func (ch *IGContainerWatcher) networkEventCallback(event *tracernetworktypes.Eve } ch.containerCollection.EnrichByMntNs(&event.CommonData, event.MountNsID) - ch.kubeIPInstance.EnrichEvent(event) - ch.kubeNameInstance.EnrichEvent(event) + if ch.kubeIPInstance != nil { + ch.kubeIPInstance.EnrichEvent(event) + } + if ch.kubeNameInstance != nil { + ch.kubeNameInstance.EnrichEvent(event) + } _ = ch.networkWorkerPool.Invoke(*event) } From e9f6140cd8bbca56f6e1cf2e83b729927181ef30 Mon Sep 17 00:00:00 2001 From: Matthias Bertschy Date: Fri, 12 Jan 2024 14:31:43 +0100 Subject: [PATCH 2/2] fix unit tests Signed-off-by: Matthias Bertschy --- .../v1/testdata/nginx-spdx-filtered.json | 1601 ++++++++--------- .../syfthandler/syft_handler_test.go | 20 +- .../testdata/kollector-syft-filtered.json | 208 +++ pkg/storage/v1/storage_test.go | 6 +- 4 files changed, 1016 insertions(+), 819 deletions(-) create mode 100644 pkg/sbomhandler/syfthandler/testdata/kollector-syft-filtered.json diff --git a/pkg/relevancymanager/v1/testdata/nginx-spdx-filtered.json b/pkg/relevancymanager/v1/testdata/nginx-spdx-filtered.json index 41138714..cd4e2ade 100644 --- a/pkg/relevancymanager/v1/testdata/nginx-spdx-filtered.json +++ b/pkg/relevancymanager/v1/testdata/nginx-spdx-filtered.json @@ -12,833 +12,814 @@ "annotations": { "kubescape.io/image-id": "nginx@sha256:6a59f1cbb8d28ac484176d52c473494859a512ddba3ea62a547258cf16c9b3ae", "kubescape.io/instance-id": "apiVersion-v1/namespace-ns/kind-Pod/name-pod/containerName-cont", - "kubescape.io/status": "", "kubescape.io/wlid": "wlid://cluster-cluster/namespace-ns/pod-pod", "kubescape.io/workload-container-name": "cont" } }, "spec": { "metadata": { - "name": "ns-pod-pod-cb3a-a929", - "creationTimestamp": null, - "labels": { - "kubescape.io/workload-api-version": "v1", - "kubescape.io/workload-container-name": "cont", - "kubescape.io/workload-kind": "Pod", - "kubescape.io/workload-name": "Pod", - "kubescape.io/workload-namespace": "ns" - }, - "annotations": { - "kubescape.io/image-id": "nginx@sha256:6a59f1cbb8d28ac484176d52c473494859a512ddba3ea62a547258cf16c9b3ae", - "kubescape.io/instance-id": "apiVersion-v1/namespace-ns/kind-Pod/name-pod/containerName-cont", - "kubescape.io/wlid": "wlid://cluster-cluster/namespace-ns/pod-pod", - "kubescape.io/workload-container-name": "cont" - } + "tool": { + "name": "", + "version": "" + }, + "report": { + "createdAt": null + } }, - "spec": { - "metadata": { - "tool": { - "name": "", - "version": "" + "syft": { + "artifacts": [ + { + "id": "5aeab6f311d0e8bb", + "name": "adduser", + "version": "3.134", + "type": "deb", + "foundBy": "dpkgdb-cataloger", + "locations": [ + { + "path": "/usr/share/doc/adduser/copyright", + "layerID": "sha256:1c3daa06574284614db07a23682ab6d1c344f09f8093ee10e5de4152a51677a1", + "accessPath": "", + "annotations": { + "evidence": "supporting" + } + }, + { + "path": "/var/lib/dpkg/info/adduser.conffiles", + "layerID": "sha256:1c3daa06574284614db07a23682ab6d1c344f09f8093ee10e5de4152a51677a1", + "accessPath": "", + "annotations": { + "evidence": "supporting" + } + }, + { + "path": "/var/lib/dpkg/info/adduser.md5sums", + "layerID": "sha256:1c3daa06574284614db07a23682ab6d1c344f09f8093ee10e5de4152a51677a1", + "accessPath": "", + "annotations": { + "evidence": "supporting" + } }, - "report": { - "createdAt": null + { + "path": "/var/lib/dpkg/status", + "layerID": "sha256:dcb816d1345ed4a429dec632c0933e2af8887b808259985bfc555d155d8c615d", + "accessPath": "", + "annotations": { + "evidence": "primary" + } } - }, - "syft": { - "artifacts": [ + ], + "licenses": [ + { + "value": "GPL-2", + "spdxExpression": "GPL-2.0-only", + "type": "declared", + "urls": [], + "locations": [ { - "id": "5aeab6f311d0e8bb", - "name": "adduser", - "version": "3.134", - "type": "deb", - "foundBy": "dpkgdb-cataloger", - "locations": [ - { - "path": "/usr/share/doc/adduser/copyright", - "layerID": "sha256:1c3daa06574284614db07a23682ab6d1c344f09f8093ee10e5de4152a51677a1", - "accessPath": "", - "annotations": { - "evidence": "supporting" - } - }, - { - "path": "/var/lib/dpkg/info/adduser.conffiles", - "layerID": "sha256:1c3daa06574284614db07a23682ab6d1c344f09f8093ee10e5de4152a51677a1", - "accessPath": "", - "annotations": { - "evidence": "supporting" - } - }, - { - "path": "/var/lib/dpkg/info/adduser.md5sums", - "layerID": "sha256:1c3daa06574284614db07a23682ab6d1c344f09f8093ee10e5de4152a51677a1", - "accessPath": "", - "annotations": { - "evidence": "supporting" - } - }, - { - "path": "/var/lib/dpkg/status", - "layerID": "sha256:dcb816d1345ed4a429dec632c0933e2af8887b808259985bfc555d155d8c615d", - "accessPath": "", - "annotations": { - "evidence": "primary" - } - } - ], - "licenses": [ - { - "value": "GPL-2", - "spdxExpression": "GPL-2.0-only", - "type": "declared", - "urls": [], - "locations": [ - { - "path": "/usr/share/doc/adduser/copyright", - "layerID": "sha256:1c3daa06574284614db07a23682ab6d1c344f09f8093ee10e5de4152a51677a1", - "accessPath": "" - } - ] - }, - { - "value": "GPL-2+", - "spdxExpression": "GPL-2.0-or-later", - "type": "declared", - "urls": [], - "locations": [ - { - "path": "/usr/share/doc/adduser/copyright", - "layerID": "sha256:1c3daa06574284614db07a23682ab6d1c344f09f8093ee10e5de4152a51677a1", - "accessPath": "" - } - ] - } - ], - "language": "", - "cpes": [ - "cpe:2.3:a:adduser:adduser:3.134:*:*:*:*:*:*:*" - ], - "purl": "pkg:deb/debian/adduser@3.134?arch=all\u0026distro=debian-12", - "metadata": { - "architecture": "all", - "depends": [ - "passwd" - ], - "files": [ - { - "digest": { - "algorithm": "md5", - "value": "cc3493ecd2d09837ffdcc3e25fdfff18" - }, - "isConfigFile": true, - "path": "/etc/adduser.conf" - }, - { - "digest": { - "algorithm": "md5", - "value": "11a06baf8245fd8d690b99024d228c1f" - }, - "isConfigFile": true, - "path": "/etc/deluser.conf" - }, - { - "digest": { - "algorithm": "md5", - "value": "2ba08fece3b3434a669f3c529bbea383" - }, - "isConfigFile": false, - "path": "/usr/sbin/adduser" - }, - { - "digest": { - "algorithm": "md5", - "value": "808647b72aa26222070ae241158f22bf" - }, - "isConfigFile": false, - "path": "/usr/sbin/deluser" - }, - { - "digest": { - "algorithm": "md5", - "value": "0091c90861f50e7be138d37764779d22" - }, - "isConfigFile": false, - "path": "/usr/share/doc/adduser/NEWS.Debian.gz" - }, - { - "digest": { - "algorithm": "md5", - "value": "30b17d2e2e9c784208f01d130f196864" - }, - "isConfigFile": false, - "path": "/usr/share/doc/adduser/README.gz" - }, - { - "digest": { - "algorithm": "md5", - "value": "a4537699e4951748913a3d3e212be34e" - }, - "isConfigFile": false, - "path": "/usr/share/doc/adduser/TODO" - }, - { - "digest": { - "algorithm": "md5", - "value": "30bb154dfdc69a2c0ff31ec465681b39" - }, - "isConfigFile": false, - "path": "/usr/share/doc/adduser/changelog.gz" - }, - { - "digest": { - "algorithm": "md5", - "value": "ad1acbe264ddc19bf4f50095c1ca50e5" - }, - "isConfigFile": false, - "path": "/usr/share/doc/adduser/copyright" - }, - { - "digest": { - "algorithm": "md5", - "value": "55f158219a06612fcb6d35952d1b95f2" - }, - "isConfigFile": false, - "path": "/usr/share/doc/adduser/examples/INSTALL" - }, - { - "digest": { - "algorithm": "md5", - "value": "ff484e503a7f8b0d6f62e8bfda86c0a2" - }, - "isConfigFile": false, - "path": "/usr/share/doc/adduser/examples/README" - }, - { - "digest": { - "algorithm": "md5", - "value": "cc3493ecd2d09837ffdcc3e25fdfff18" - }, - "isConfigFile": false, - "path": "/usr/share/doc/adduser/examples/adduser.conf" - }, - { - "digest": { - "algorithm": "md5", - "value": "04bf7a834a790dbcf91d9126ec2a93bf" - }, - "isConfigFile": false, - "path": "/usr/share/doc/adduser/examples/adduser.local" - }, - { - "digest": { - "algorithm": "md5", - "value": "51367088cb922ab47b652cad2fdf1ed1" - }, - "isConfigFile": false, - "path": "/usr/share/doc/adduser/examples/adduser.local.conf" - }, - { - "digest": { - "algorithm": "md5", - "value": "7a0388cf3e93997d82f705c29c90892a" - }, - "isConfigFile": false, - "path": "/usr/share/doc/adduser/examples/adduser.local.conf.examples/bash.bashrc" - }, - { - "digest": { - "algorithm": "md5", - "value": "c4869bc559365ab84733b15280332ae9" - }, - "isConfigFile": false, - "path": "/usr/share/doc/adduser/examples/adduser.local.conf.examples/profile" - }, - { - "digest": { - "algorithm": "md5", - "value": "82589559808bbaade90a966287e51627" - }, - "isConfigFile": false, - "path": "/usr/share/doc/adduser/examples/adduser.local.conf.examples/skel.other/index.html" - }, - { - "digest": { - "algorithm": "md5", - "value": "95c9c80ac808659d74ec72d7bd86a118" - }, - "isConfigFile": false, - "path": "/usr/share/doc/adduser/examples/adduser.local.conf.examples/skel/dot.bash_logout" - }, - { - "digest": { - "algorithm": "md5", - "value": "7e25a53e7588cdb05870608583b05b19" - }, - "isConfigFile": false, - "path": "/usr/share/doc/adduser/examples/adduser.local.conf.examples/skel/dot.bash_profile" - }, - { - "digest": { - "algorithm": "md5", - "value": "6f2fe654cd11a739ba9fb6a9f13881fe" - }, - "isConfigFile": false, - "path": "/usr/share/doc/adduser/examples/adduser.local.conf.examples/skel/dot.bashrc" - }, - { - "digest": { - "algorithm": "md5", - "value": "11a06baf8245fd8d690b99024d228c1f" - }, - "isConfigFile": false, - "path": "/usr/share/doc/adduser/examples/deluser.conf" - }, - { - "digest": { - "algorithm": "md5", - "value": "b702b3ed20154b001d1b2375ec7e488f" - }, - "isConfigFile": false, - "path": "/usr/share/locale/ca/LC_MESSAGES/adduser.mo" - }, - { - "digest": { - "algorithm": "md5", - "value": "0ca2951f2ef978d48c1f7f1ce153f5e8" - }, - "isConfigFile": false, - "path": "/usr/share/locale/cs/LC_MESSAGES/adduser.mo" - }, - { - "digest": { - "algorithm": "md5", - "value": "961b561f85178991cc846cd50571799b" - }, - "isConfigFile": false, - "path": "/usr/share/locale/da/LC_MESSAGES/adduser.mo" - }, - { - "digest": { - "algorithm": "md5", - "value": "1c47fa9200cb5cce8b9d8c1ed2345ed8" - }, - "isConfigFile": false, - "path": "/usr/share/locale/de/LC_MESSAGES/adduser.mo" - }, - { - "digest": { - "algorithm": "md5", - "value": "3b3cba03fcb342b5abfa8bca5afec4df" - }, - "isConfigFile": false, - "path": "/usr/share/locale/es/LC_MESSAGES/adduser.mo" - }, - { - "digest": { - "algorithm": "md5", - "value": "2d4b6195cf6ba1d3a33c5bf55b6ecf3c" - }, - "isConfigFile": false, - "path": "/usr/share/locale/eu/LC_MESSAGES/adduser.mo" - }, - { - "digest": { - "algorithm": "md5", - "value": "6c4ab5ed96290a2477b457889d68b081" - }, - "isConfigFile": false, - "path": "/usr/share/locale/fr/LC_MESSAGES/adduser.mo" - }, - { - "digest": { - "algorithm": "md5", - "value": "6d7d3d40c026e6389aeb5c2f7e2ad043" - }, - "isConfigFile": false, - "path": "/usr/share/locale/gl/LC_MESSAGES/adduser.mo" - }, - { - "digest": { - "algorithm": "md5", - "value": "50b5a14c95b5a85b8ef249146556dcbb" - }, - "isConfigFile": false, - "path": "/usr/share/locale/hu/LC_MESSAGES/adduser.mo" - }, - { - "digest": { - "algorithm": "md5", - "value": "74d23efa1335e149d0b07ad464765afd" - }, - "isConfigFile": false, - "path": "/usr/share/locale/it/LC_MESSAGES/adduser.mo" - }, - { - "digest": { - "algorithm": "md5", - "value": "16eae53fcaa3879d6c2cb1b23e392cea" - }, - "isConfigFile": false, - "path": "/usr/share/locale/ja/LC_MESSAGES/adduser.mo" - }, - { - "digest": { - "algorithm": "md5", - "value": "3e064773563de4e35534e73bc92ebf68" - }, - "isConfigFile": false, - "path": "/usr/share/locale/ko/LC_MESSAGES/adduser.mo" - }, - { - "digest": { - "algorithm": "md5", - "value": "d88de4925b4da406cd560f57ba4b1ce2" - }, - "isConfigFile": false, - "path": "/usr/share/locale/nb/LC_MESSAGES/adduser.mo" - }, - { - "digest": { - "algorithm": "md5", - "value": "fdaa7ffe6cadbc41f6a6e7138bd3af5d" - }, - "isConfigFile": false, - "path": "/usr/share/locale/nl/LC_MESSAGES/adduser.mo" - }, - { - "digest": { - "algorithm": "md5", - "value": "c8295a7067aa3fda053d3f57d4a4ade2" - }, - "isConfigFile": false, - "path": "/usr/share/locale/pl/LC_MESSAGES/adduser.mo" - }, - { - "digest": { - "algorithm": "md5", - "value": "e1c98d35dac5ca0e73b3a7e225bc7920" - }, - "isConfigFile": false, - "path": "/usr/share/locale/pt/LC_MESSAGES/adduser.mo" - }, - { - "digest": { - "algorithm": "md5", - "value": "f1642f13df692ea16e96f6f61f86443d" - }, - "isConfigFile": false, - "path": "/usr/share/locale/pt_BR/LC_MESSAGES/adduser.mo" - }, - { - "digest": { - "algorithm": "md5", - "value": "f16bf5c78b024661e685304cc84eb322" - }, - "isConfigFile": false, - "path": "/usr/share/locale/ru/LC_MESSAGES/adduser.mo" - }, - { - "digest": { - "algorithm": "md5", - "value": "0b4f60e88db1d73b2f4bc3e3fcd71c4d" - }, - "isConfigFile": false, - "path": "/usr/share/locale/sk/LC_MESSAGES/adduser.mo" - }, - { - "digest": { - "algorithm": "md5", - "value": "6069303f3206caed75ef429164a5c29a" - }, - "isConfigFile": false, - "path": "/usr/share/locale/sv/LC_MESSAGES/adduser.mo" - }, - { - "digest": { - "algorithm": "md5", - "value": "b13acd3c3039b256184446a35075679a" - }, - "isConfigFile": false, - "path": "/usr/share/locale/uk/LC_MESSAGES/adduser.mo" - }, - { - "digest": { - "algorithm": "md5", - "value": "a99328519237e94580cbfd2a18d0834c" - }, - "isConfigFile": false, - "path": "/usr/share/locale/vi/LC_MESSAGES/adduser.mo" - }, - { - "digest": { - "algorithm": "md5", - "value": "b62097a2043612a43b7de5bd2ef6ce78" - }, - "isConfigFile": false, - "path": "/usr/share/locale/zh_CN/LC_MESSAGES/adduser.mo" - }, - { - "digest": { - "algorithm": "md5", - "value": "279bc4b2fcee033a51226d002a619bbd" - }, - "isConfigFile": false, - "path": "/usr/share/man/de/man5/adduser.conf.5.gz" - }, - { - "digest": { - "algorithm": "md5", - "value": "4be1449aa85465c1d1e1c230bcb65dd0" - }, - "isConfigFile": false, - "path": "/usr/share/man/de/man5/deluser.conf.5.gz" - }, - { - "digest": { - "algorithm": "md5", - "value": "1f6de0932af4b53ad2e2b3dbc67eda78" - }, - "isConfigFile": false, - "path": "/usr/share/man/de/man8/adduser.8.gz" - }, - { - "digest": { - "algorithm": "md5", - "value": "0c139260599a1fbe30dda5bf13735765" - }, - "isConfigFile": false, - "path": "/usr/share/man/de/man8/deluser.8.gz" - }, - { - "digest": { - "algorithm": "md5", - "value": "f9f06923354ca40ac5a4153133400df3" - }, - "isConfigFile": false, - "path": "/usr/share/man/fr/man5/adduser.conf.5.gz" - }, - { - "digest": { - "algorithm": "md5", - "value": "3f0b00c3117649f32d4ae2fd4b8f2635" - }, - "isConfigFile": false, - "path": "/usr/share/man/fr/man5/deluser.conf.5.gz" - }, - { - "digest": { - "algorithm": "md5", - "value": "44703ebd828a02000329a9fb78336eb3" - }, - "isConfigFile": false, - "path": "/usr/share/man/fr/man8/adduser.8.gz" - }, - { - "digest": { - "algorithm": "md5", - "value": "8c743ace7c9fec6fd736f340285187fe" - }, - "isConfigFile": false, - "path": "/usr/share/man/fr/man8/deluser.8.gz" - }, - { - "digest": { - "algorithm": "md5", - "value": "72d8a98aca954db1e307f0af4d0e0741" - }, - "isConfigFile": false, - "path": "/usr/share/man/man5/adduser.conf.5.gz" - }, - { - "digest": { - "algorithm": "md5", - "value": "d77325d2847f9445a98505ed6258cfbc" - }, - "isConfigFile": false, - "path": "/usr/share/man/man5/deluser.conf.5.gz" - }, - { - "digest": { - "algorithm": "md5", - "value": "ca2b03a3887d2ef87cdaf01d5e249ba1" - }, - "isConfigFile": false, - "path": "/usr/share/man/man8/adduser.8.gz" - }, - { - "digest": { - "algorithm": "md5", - "value": "205bd0d71b8575d75e1169b4d21a4b38" - }, - "isConfigFile": false, - "path": "/usr/share/man/man8/adduser.local.8.gz" - }, - { - "digest": { - "algorithm": "md5", - "value": "bd68f00caa2c02cdb17cbefca0983a1f" - }, - "isConfigFile": false, - "path": "/usr/share/man/man8/deluser.8.gz" - }, - { - "digest": { - "algorithm": "md5", - "value": "298d0b083299fd5aac8d8e823aeef531" - }, - "isConfigFile": false, - "path": "/usr/share/man/nl/man5/adduser.conf.5.gz" - }, - { - "digest": { - "algorithm": "md5", - "value": "573812c7b0bdb53be8810adf5a8bca04" - }, - "isConfigFile": false, - "path": "/usr/share/man/nl/man5/deluser.conf.5.gz" - }, - { - "digest": { - "algorithm": "md5", - "value": "d66066537e31f55b9f68b5ceabc2bb5c" - }, - "isConfigFile": false, - "path": "/usr/share/man/nl/man8/adduser.8.gz" - }, - { - "digest": { - "algorithm": "md5", - "value": "86c181cd2cd77fe92165ce54088b1fcd" - }, - "isConfigFile": false, - "path": "/usr/share/man/nl/man8/deluser.8.gz" - }, - { - "digest": { - "algorithm": "md5", - "value": "f12ac762e03c1ce1f858e141142424a2" - }, - "isConfigFile": false, - "path": "/usr/share/man/pt/man5/adduser.conf.5.gz" - }, - { - "digest": { - "algorithm": "md5", - "value": "bcb31d0138c1d3feed06cf9153a9302a" - }, - "isConfigFile": false, - "path": "/usr/share/man/pt/man5/deluser.conf.5.gz" - }, - { - "digest": { - "algorithm": "md5", - "value": "21910b8714511335642c53ec92a3e2e0" - }, - "isConfigFile": false, - "path": "/usr/share/man/pt/man8/adduser.8.gz" - }, - { - "digest": { - "algorithm": "md5", - "value": "dfee1fa5f7449c26b3cf7289321309f5" - }, - "isConfigFile": false, - "path": "/usr/share/man/pt/man8/deluser.8.gz" - }, - { - "digest": { - "algorithm": "md5", - "value": "840faf09c56199b8c10c4ef15e376224" - }, - "isConfigFile": false, - "path": "/usr/share/perl5/Debian/AdduserCommon.pm" - } - ], - "installedSize": 686, - "maintainer": "Debian Adduser Developers \u003cadduser@packages.debian.org\u003e", - "package": "adduser", - "source": "", - "sourceVersion": "", - "version": "3.134" - } + "path": "/usr/share/doc/adduser/copyright", + "layerID": "sha256:1c3daa06574284614db07a23682ab6d1c344f09f8093ee10e5de4152a51677a1", + "accessPath": "" } - ], - "artifactRelationships": [ + ] + }, + { + "value": "GPL-2+", + "spdxExpression": "GPL-2.0-or-later", + "type": "declared", + "urls": [], + "locations": [ { - "parent": "5aeab6f311d0e8bb", - "child": "a0cb282860d88d7e", - "type": "contains" + "path": "/usr/share/doc/adduser/copyright", + "layerID": "sha256:1c3daa06574284614db07a23682ab6d1c344f09f8093ee10e5de4152a51677a1", + "accessPath": "" } + ] + } + ], + "language": "", + "cpes": [ + "cpe:2.3:a:adduser:adduser:3.134:*:*:*:*:*:*:*" + ], + "purl": "pkg:deb/debian/adduser@3.134?arch=all\u0026distro=debian-12", + "metadata": { + "package": "adduser", + "source": "", + "version": "3.134", + "sourceVersion": "", + "architecture": "all", + "maintainer": "Debian Adduser Developers \u003cadduser@packages.debian.org\u003e", + "installedSize": 686, + "depends": [ + "passwd" ], "files": [ - { - "id": "a0cb282860d88d7e", - "location": { - "path": "/usr/sbin/deluser", - "layerID": "sha256:1c3daa06574284614db07a23682ab6d1c344f09f8093ee10e5de4152a51677a1" - } - } - ], - "source": { - "id": "a5a12146fa884980227750eacb1fed4720b40953fcb8731773701e67905a2a07", - "name": "nginx", - "version": "sha256:a5a12146fa884980227750eacb1fed4720b40953fcb8731773701e67905a2a07", - "type": "image", - "metadata": { - "userInput": "nginx", - "imageID": "sha256:ab73c7fd672341e41ec600081253d0b99ea31d0c1acdfb46a1485004472da7ac", - "manifestDigest": "sha256:a5a12146fa884980227750eacb1fed4720b40953fcb8731773701e67905a2a07", - "mediaType": "application/vnd.docker.distribution.manifest.v2+json", - "tags": [ - "nginx:latest" - ], - "imageSize": 192037957, - "layers": [ - { - "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", - "digest": "sha256:1c3daa06574284614db07a23682ab6d1c344f09f8093ee10e5de4152a51677a1", - "size": 97098352 - }, - { - "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", - "digest": "sha256:dcb816d1345ed4a429dec632c0933e2af8887b808259985bfc555d155d8c615d", - "size": 94927925 - }, - { - "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", - "digest": "sha256:8cc0ce26d320f5a342eda516e03ae2bd1ddaa82826b1eed977e3dd484995c2c0", - "size": 1620 - }, - { - "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", - "digest": "sha256:78cdcd2ba4bbe6067ab5976dd4c38b3a3ad4b8d41c38972a037c9ebd4731988c", - "size": 2125 - }, - { - "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", - "digest": "sha256:def14911cf6a8e011b5ba8f39441a22097170c433a4905b60ec69e84a9df78fd", - "size": 298 - }, - { - "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", - "digest": "sha256:3ccc534e961ca62536dc8629a756fa921e989ba9cc8a5fca617d8ff5e40e7d92", - "size": 3018 - }, - { - "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", - "digest": "sha256:e005f3c090e08bbf9eb7dd8a289f07124c08556cb959b8aa17dd6e6c8840e4c7", - "size": 4619 - } - ], - "manifest": "eyJzY2hlbWFWZXJzaW9uIjoyLCJtZWRpYVR5cGUiOiJhcHBsaWNhdGlvbi92bmQuZG9ja2VyLmRpc3RyaWJ1dGlvbi5tYW5pZmVzdC52Mitqc29uIiwiY29uZmlnIjp7Im1lZGlhVHlwZSI6ImFwcGxpY2F0aW9uL3ZuZC5kb2NrZXIuY29udGFpbmVyLmltYWdlLnYxK2pzb24iLCJzaXplIjo4MTY0LCJkaWdlc3QiOiJzaGEyNTY6YWI3M2M3ZmQ2NzIzNDFlNDFlYzYwMDA4MTI1M2QwYjk5ZWEzMWQwYzFhY2RmYjQ2YTE0ODUwMDQ0NzJkYTdhYyJ9LCJsYXllcnMiOlt7Im1lZGlhVHlwZSI6ImFwcGxpY2F0aW9uL3ZuZC5kb2NrZXIuaW1hZ2Uucm9vdGZzLmRpZmYudGFyLmd6aXAiLCJzaXplIjoxMDAxMDgyODgsImRpZ2VzdCI6InNoYTI1NjoxYzNkYWEwNjU3NDI4NDYxNGRiMDdhMjM2ODJhYjZkMWMzNDRmMDlmODA5M2VlMTBlNWRlNDE1MmE1MTY3N2ExIn0seyJtZWRpYVR5cGUiOiJhcHBsaWNhdGlvbi92bmQuZG9ja2VyLmltYWdlLnJvb3Rmcy5kaWZmLnRhci5nemlwIiwic2l6ZSI6OTYwNTE3MTIsImRpZ2VzdCI6InNoYTI1NjpkY2I4MTZkMTM0NWVkNGE0MjlkZWM2MzJjMDkzM2UyYWY4ODg3YjgwODI1OTk4NWJmYzU1NWQxNTVkOGM2MTVkIn0seyJtZWRpYVR5cGUiOiJhcHBsaWNhdGlvbi92bmQuZG9ja2VyLmltYWdlLnJvb3Rmcy5kaWZmLnRhci5nemlwIiwic2l6ZSI6MzU4NCwiZGlnZXN0Ijoic2hhMjU2OjhjYzBjZTI2ZDMyMGY1YTM0MmVkYTUxNmUwM2FlMmJkMWRkYWE4MjgyNmIxZWVkOTc3ZTNkZDQ4NDk5NWMyYzAifSx7Im1lZGlhVHlwZSI6ImFwcGxpY2F0aW9uL3ZuZC5kb2NrZXIuaW1hZ2Uucm9vdGZzLmRpZmYudGFyLmd6aXAiLCJzaXplIjo0NjA4LCJkaWdlc3QiOiJzaGEyNTY6NzhjZGNkMmJhNGJiZTYwNjdhYjU5NzZkZDRjMzhiM2EzYWQ0YjhkNDFjMzg5NzJhMDM3YzllYmQ0NzMxOTg4YyJ9LHsibWVkaWFUeXBlIjoiYXBwbGljYXRpb24vdm5kLmRvY2tlci5pbWFnZS5yb290ZnMuZGlmZi50YXIuZ3ppcCIsInNpemUiOjI1NjAsImRpZ2VzdCI6InNoYTI1NjpkZWYxNDkxMWNmNmE4ZTAxMWI1YmE4ZjM5NDQxYTIyMDk3MTcwYzQzM2E0OTA1YjYwZWM2OWU4NGE5ZGY3OGZkIn0seyJtZWRpYVR5cGUiOiJhcHBsaWNhdGlvbi92bmQuZG9ja2VyLmltYWdlLnJvb3Rmcy5kaWZmLnRhci5nemlwIiwic2l6ZSI6NTEyMCwiZGlnZXN0Ijoic2hhMjU2OjNjY2M1MzRlOTYxY2E2MjUzNmRjODYyOWE3NTZmYTkyMWU5ODliYTljYzhhNWZjYTYxN2Q4ZmY1ZTQwZTdkOTIifSx7Im1lZGlhVHlwZSI6ImFwcGxpY2F0aW9uL3ZuZC5kb2NrZXIuaW1hZ2Uucm9vdGZzLmRpZmYudGFyLmd6aXAiLCJzaXplIjo3MTY4LCJkaWdlc3QiOiJzaGEyNTY6ZTAwNWYzYzA5MGUwOGJiZjllYjdkZDhhMjg5ZjA3MTI0YzA4NTU2Y2I5NTliOGFhMTdkZDZlNmM4ODQwZTRjNyJ9XX0=", - "config": "eyJhcmNoaXRlY3R1cmUiOiJhcm02NCIsImNvbmZpZyI6eyJIb3N0bmFtZSI6IiIsIkRvbWFpbm5hbWUiOiIiLCJVc2VyIjoiIiwiQXR0YWNoU3RkaW4iOmZhbHNlLCJBdHRhY2hTdGRvdXQiOmZhbHNlLCJBdHRhY2hTdGRlcnIiOmZhbHNlLCJFeHBvc2VkUG9ydHMiOnsiODAvdGNwIjp7fX0sIlR0eSI6ZmFsc2UsIk9wZW5TdGRpbiI6ZmFsc2UsIlN0ZGluT25jZSI6ZmFsc2UsIkVudiI6WyJQQVRIPS91c3IvbG9jYWwvc2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL3NiaW46L3Vzci9iaW46L3NiaW46L2JpbiIsIk5HSU5YX1ZFUlNJT049MS4yNS4yIiwiTkpTX1ZFUlNJT049MC44LjAiLCJQS0dfUkVMRUFTRT0xfmJvb2t3b3JtIl0sIkNtZCI6WyJuZ2lueCIsIi1nIiwiZGFlbW9uIG9mZjsiXSwiSW1hZ2UiOiJzaGEyNTY6YTkwZmNjZmQwZGE3M2Q4M2RkZThmNjU0ODVlNjM4NWFlNjg3ZWRhM2JjOTJhNDMwYmM5NTJiOTkwZjhhMzMxYiIsIlZvbHVtZXMiOm51bGwsIldvcmtpbmdEaXIiOiIiLCJFbnRyeXBvaW50IjpbIi9kb2NrZXItZW50cnlwb2ludC5zaCJdLCJPbkJ1aWxkIjpudWxsLCJMYWJlbHMiOnsibWFpbnRhaW5lciI6Ik5HSU5YIERvY2tlciBNYWludGFpbmVycyBcdTAwM2Nkb2NrZXItbWFpbnRAbmdpbnguY29tXHUwMDNlIn0sIlN0b3BTaWduYWwiOiJTSUdRVUlUIn0sImNvbnRhaW5lciI6ImMyNGEzZGU1YjBkOWZlOTQzOTRiMzM1YmZjZDgzMjAzNWY5ODUxNTFhNGQzZThlOGRjZmM2ODRmYTgyYTlmZWQiLCJjb250YWluZXJfY29uZmlnIjp7Ikhvc3RuYW1lIjoiYzI0YTNkZTViMGQ5IiwiRG9tYWlubmFtZSI6IiIsIlVzZXIiOiIiLCJBdHRhY2hTdGRpbiI6ZmFsc2UsIkF0dGFjaFN0ZG91dCI6ZmFsc2UsIkF0dGFjaFN0ZGVyciI6ZmFsc2UsIkV4cG9zZWRQb3J0cyI6eyI4MC90Y3AiOnt9fSwiVHR5IjpmYWxzZSwiT3BlblN0ZGluIjpmYWxzZSwiU3RkaW5PbmNlIjpmYWxzZSwiRW52IjpbIlBBVEg9L3Vzci9sb2NhbC9zYmluOi91c3IvbG9jYWwvYmluOi91c3Ivc2JpbjovdXNyL2Jpbjovc2JpbjovYmluIiwiTkdJTlhfVkVSU0lPTj0xLjI1LjIiLCJOSlNfVkVSU0lPTj0wLjguMCIsIlBLR19SRUxFQVNFPTF+Ym9va3dvcm0iXSwiQ21kIjpbIi9iaW4vc2giLCItYyIsIiMobm9wKSAiLCJDTUQgW1wibmdpbnhcIiBcIi1nXCIgXCJkYWVtb24gb2ZmO1wiXSJdLCJJbWFnZSI6InNoYTI1NjphOTBmY2NmZDBkYTczZDgzZGRlOGY2NTQ4NWU2Mzg1YWU2ODdlZGEzYmM5MmE0MzBiYzk1MmI5OTBmOGEzMzFiIiwiVm9sdW1lcyI6bnVsbCwiV29ya2luZ0RpciI6IiIsIkVudHJ5cG9pbnQiOlsiL2RvY2tlci1lbnRyeXBvaW50LnNoIl0sIk9uQnVpbGQiOm51bGwsIkxhYmVscyI6eyJtYWludGFpbmVyIjoiTkdJTlggRG9ja2VyIE1haW50YWluZXJzIFx1MDAzY2RvY2tlci1tYWludEBuZ2lueC5jb21cdTAwM2UifSwiU3RvcFNpZ25hbCI6IlNJR1FVSVQifSwiY3JlYXRlZCI6IjIwMjMtMDgtMTVUMjM6NTg6MjYuNDgwMDUxOTQ5WiIsImRvY2tlcl92ZXJzaW9uIjoiMjAuMTAuMjMiLCJoaXN0b3J5IjpbeyJjcmVhdGVkIjoiMjAyMy0wOC0xNVQyMzozOTo1Ny4xNzg1MDUwODFaIiwiY3JlYXRlZF9ieSI6Ii9iaW4vc2ggLWMgIyhub3ApIEFERCBmaWxlOmJjNTg5NTZmYTNkMWFmZjJlZmIwMjY0NjU1ZDAzOWZlZGZmZjI4ZGM0ZmYxOWE2NWEyMzVlODI3NTRlZTFjZmEgaW4gLyAifSx7ImNyZWF0ZWQiOiIyMDIzLTA4LTE1VDIzOjM5OjU3LjU3NDQzMTMwM1oiLCJjcmVhdGVkX2J5IjoiL2Jpbi9zaCAtYyAjKG5vcCkgIENNRCBbXCJiYXNoXCJdIiwiZW1wdHlfbGF5ZXIiOnRydWV9LHsiY3JlYXRlZCI6IjIwMjMtMDgtMTVUMjM6NTg6MDMuOTkxOTkyMTM1WiIsImNyZWF0ZWRfYnkiOiIvYmluL3NoIC1jICMobm9wKSAgTEFCRUwgbWFpbnRhaW5lcj1OR0lOWCBEb2NrZXIgTWFpbnRhaW5lcnMgXHUwMDNjZG9ja2VyLW1haW50QG5naW54LmNvbVx1MDAzZSIsImVtcHR5X2xheWVyIjp0cnVlfSx7ImNyZWF0ZWQiOiIyMDIzLTA4LTE1VDIzOjU4OjA0LjA3MTA2MzgwNVoiLCJjcmVhdGVkX2J5IjoiL2Jpbi9zaCAtYyAjKG5vcCkgIEVOViBOR0lOWF9WRVJTSU9OPTEuMjUuMiIsImVtcHR5X2xheWVyIjp0cnVlfSx7ImNyZWF0ZWQiOiIyMDIzLTA4LTE1VDIzOjU4OjA0LjE1MzEwNDcxNloiLCJjcmVhdGVkX2J5IjoiL2Jpbi9zaCAtYyAjKG5vcCkgIEVOViBOSlNfVkVSU0lPTj0wLjguMCIsImVtcHR5X2xheWVyIjp0cnVlfSx7ImNyZWF0ZWQiOiIyMDIzLTA4LTE1VDIzOjU4OjA0LjIzNDc3MzI3MloiLCJjcmVhdGVkX2J5IjoiL2Jpbi9zaCAtYyAjKG5vcCkgIEVOViBQS0dfUkVMRUFTRT0xfmJvb2t3b3JtIiwiZW1wdHlfbGF5ZXIiOnRydWV9LHsiY3JlYXRlZCI6IjIwMjMtMDgtMTVUMjM6NTg6MjUuNTQ2ODIwMTcyWiIsImNyZWF0ZWRfYnkiOiIvYmluL3NoIC1jIHNldCAteCAgICAgXHUwMDI2XHUwMDI2IGdyb3VwYWRkIC0tc3lzdGVtIC0tZ2lkIDEwMSBuZ2lueCAgICAgXHUwMDI2XHUwMDI2IHVzZXJhZGQgLS1zeXN0ZW0gLS1naWQgbmdpbnggLS1uby1jcmVhdGUtaG9tZSAtLWhvbWUgL25vbmV4aXN0ZW50IC0tY29tbWVudCBcIm5naW54IHVzZXJcIiAtLXNoZWxsIC9iaW4vZmFsc2UgLS11aWQgMTAxIG5naW54ICAgICBcdTAwMjZcdTAwMjYgYXB0LWdldCB1cGRhdGUgICAgIFx1MDAyNlx1MDAyNiBhcHQtZ2V0IGluc3RhbGwgLS1uby1pbnN0YWxsLXJlY29tbWVuZHMgLS1uby1pbnN0YWxsLXN1Z2dlc3RzIC15IGdudXBnMSBjYS1jZXJ0aWZpY2F0ZXMgICAgIFx1MDAyNlx1MDAyNiAgICAgTkdJTlhfR1BHS0VZPTU3M0JGRDZCM0Q4RkJDNjQxMDc5QTZBQkFCRjVCRDgyN0JEOUJGNjI7ICAgICBOR0lOWF9HUEdLRVlfUEFUSD0vdXNyL3NoYXJlL2tleXJpbmdzL25naW54LWFyY2hpdmUta2V5cmluZy5ncGc7ICAgICBleHBvcnQgR05VUEdIT01FPVwiJChta3RlbXAgLWQpXCI7ICAgICBmb3VuZD0nJzsgICAgIGZvciBzZXJ2ZXIgaW4gICAgICAgICBoa3A6Ly9rZXlzZXJ2ZXIudWJ1bnR1LmNvbTo4MCAgICAgICAgIHBncC5taXQuZWR1ICAgICA7IGRvICAgICAgICAgZWNobyBcIkZldGNoaW5nIEdQRyBrZXkgJE5HSU5YX0dQR0tFWSBmcm9tICRzZXJ2ZXJcIjsgICAgICAgICBncGcxIC0ta2V5c2VydmVyIFwiJHNlcnZlclwiIC0ta2V5c2VydmVyLW9wdGlvbnMgdGltZW91dD0xMCAtLXJlY3Yta2V5cyBcIiROR0lOWF9HUEdLRVlcIiBcdTAwMjZcdTAwMjYgZm91bmQ9eWVzIFx1MDAyNlx1MDAyNiBicmVhazsgICAgIGRvbmU7ICAgICB0ZXN0IC16IFwiJGZvdW5kXCIgXHUwMDI2XHUwMDI2IGVjaG8gXHUwMDNlXHUwMDI2MiBcImVycm9yOiBmYWlsZWQgdG8gZmV0Y2ggR1BHIGtleSAkTkdJTlhfR1BHS0VZXCIgXHUwMDI2XHUwMDI2IGV4aXQgMTsgICAgIGdwZzEgLS1leHBvcnQgXCIkTkdJTlhfR1BHS0VZXCIgXHUwMDNlIFwiJE5HSU5YX0dQR0tFWV9QQVRIXCIgOyAgICAgcm0gLXJmIFwiJEdOVVBHSE9NRVwiOyAgICAgYXB0LWdldCByZW1vdmUgLS1wdXJnZSAtLWF1dG8tcmVtb3ZlIC15IGdudXBnMSBcdTAwMjZcdTAwMjYgcm0gLXJmIC92YXIvbGliL2FwdC9saXN0cy8qICAgICBcdTAwMjZcdTAwMjYgZHBrZ0FyY2g9XCIkKGRwa2cgLS1wcmludC1hcmNoaXRlY3R1cmUpXCIgICAgIFx1MDAyNlx1MDAyNiBuZ2lueFBhY2thZ2VzPVwiICAgICAgICAgbmdpbng9JHtOR0lOWF9WRVJTSU9OfS0ke1BLR19SRUxFQVNFfSAgICAgICAgIG5naW54LW1vZHVsZS14c2x0PSR7TkdJTlhfVkVSU0lPTn0tJHtQS0dfUkVMRUFTRX0gICAgICAgICBuZ2lueC1tb2R1bGUtZ2VvaXA9JHtOR0lOWF9WRVJTSU9OfS0ke1BLR19SRUxFQVNFfSAgICAgICAgIG5naW54LW1vZHVsZS1pbWFnZS1maWx0ZXI9JHtOR0lOWF9WRVJTSU9OfS0ke1BLR19SRUxFQVNFfSAgICAgICAgIG5naW54LW1vZHVsZS1uanM9JHtOR0lOWF9WRVJTSU9OfSske05KU19WRVJTSU9OfS0ke1BLR19SRUxFQVNFfSAgICAgXCIgICAgIFx1MDAyNlx1MDAyNiBjYXNlIFwiJGRwa2dBcmNoXCIgaW4gICAgICAgICBhbWQ2NHxhcm02NCkgICAgICAgICAgICAgZWNobyBcImRlYiBbc2lnbmVkLWJ5PSROR0lOWF9HUEdLRVlfUEFUSF0gaHR0cHM6Ly9uZ2lueC5vcmcvcGFja2FnZXMvbWFpbmxpbmUvZGViaWFuLyBib29rd29ybSBuZ2lueFwiIFx1MDAzZVx1MDAzZSAvZXRjL2FwdC9zb3VyY2VzLmxpc3QuZC9uZ2lueC5saXN0ICAgICAgICAgICAgIFx1MDAyNlx1MDAyNiBhcHQtZ2V0IHVwZGF0ZSAgICAgICAgICAgICA7OyAgICAgICAgICopICAgICAgICAgICAgIGVjaG8gXCJkZWItc3JjIFtzaWduZWQtYnk9JE5HSU5YX0dQR0tFWV9QQVRIXSBodHRwczovL25naW54Lm9yZy9wYWNrYWdlcy9tYWlubGluZS9kZWJpYW4vIGJvb2t3b3JtIG5naW54XCIgXHUwMDNlXHUwMDNlIC9ldGMvYXB0L3NvdXJjZXMubGlzdC5kL25naW54Lmxpc3QgICAgICAgICAgICAgICAgICAgICAgICAgXHUwMDI2XHUwMDI2IHRlbXBEaXI9XCIkKG1rdGVtcCAtZClcIiAgICAgICAgICAgICBcdTAwMjZcdTAwMjYgY2htb2QgNzc3IFwiJHRlbXBEaXJcIiAgICAgICAgICAgICAgICAgICAgICAgICBcdTAwMjZcdTAwMjYgc2F2ZWRBcHRNYXJrPVwiJChhcHQtbWFyayBzaG93bWFudWFsKVwiICAgICAgICAgICAgICAgICAgICAgICAgIFx1MDAyNlx1MDAyNiBhcHQtZ2V0IHVwZGF0ZSAgICAgICAgICAgICBcdTAwMjZcdTAwMjYgYXB0LWdldCBidWlsZC1kZXAgLXkgJG5naW54UGFja2FnZXMgICAgICAgICAgICAgXHUwMDI2XHUwMDI2ICggICAgICAgICAgICAgICAgIGNkIFwiJHRlbXBEaXJcIiAgICAgICAgICAgICAgICAgXHUwMDI2XHUwMDI2IERFQl9CVUlMRF9PUFRJT05TPVwibm9jaGVjayBwYXJhbGxlbD0kKG5wcm9jKVwiICAgICAgICAgICAgICAgICAgICAgYXB0LWdldCBzb3VyY2UgLS1jb21waWxlICRuZ2lueFBhY2thZ2VzICAgICAgICAgICAgICkgICAgICAgICAgICAgICAgICAgICAgICAgXHUwMDI2XHUwMDI2IGFwdC1tYXJrIHNob3dtYW51YWwgfCB4YXJncyBhcHQtbWFyayBhdXRvIFx1MDAzZSAvZGV2L251bGwgICAgICAgICAgICAgXHUwMDI2XHUwMDI2IHsgWyAteiBcIiRzYXZlZEFwdE1hcmtcIiBdIHx8IGFwdC1tYXJrIG1hbnVhbCAkc2F2ZWRBcHRNYXJrOyB9ICAgICAgICAgICAgICAgICAgICAgICAgIFx1MDAyNlx1MDAyNiBscyAtbEFGaCBcIiR0ZW1wRGlyXCIgICAgICAgICAgICAgXHUwMDI2XHUwMDI2ICggY2QgXCIkdGVtcERpclwiIFx1MDAyNlx1MDAyNiBkcGtnLXNjYW5wYWNrYWdlcyAuIFx1MDAzZSBQYWNrYWdlcyApICAgICAgICAgICAgIFx1MDAyNlx1MDAyNiBncmVwICdeUGFja2FnZTogJyBcIiR0ZW1wRGlyL1BhY2thZ2VzXCIgICAgICAgICAgICAgXHUwMDI2XHUwMDI2IGVjaG8gXCJkZWIgWyB0cnVzdGVkPXllcyBdIGZpbGU6Ly8kdGVtcERpciAuL1wiIFx1MDAzZSAvZXRjL2FwdC9zb3VyY2VzLmxpc3QuZC90ZW1wLmxpc3QgICAgICAgICAgICAgXHUwMDI2XHUwMDI2IGFwdC1nZXQgLW8gQWNxdWlyZTo6R3ppcEluZGV4ZXM9ZmFsc2UgdXBkYXRlICAgICAgICAgICAgIDs7ICAgICBlc2FjICAgICAgICAgXHUwMDI2XHUwMDI2IGFwdC1nZXQgaW5zdGFsbCAtLW5vLWluc3RhbGwtcmVjb21tZW5kcyAtLW5vLWluc3RhbGwtc3VnZ2VzdHMgLXkgICAgICAgICAgICAgICAgICAgICAgICAgJG5naW54UGFja2FnZXMgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0dGV4dC1iYXNlICAgICAgICAgICAgICAgICAgICAgICAgIGN1cmwgICAgIFx1MDAyNlx1MDAyNiBhcHQtZ2V0IHJlbW92ZSAtLXB1cmdlIC0tYXV0by1yZW1vdmUgLXkgXHUwMDI2XHUwMDI2IHJtIC1yZiAvdmFyL2xpYi9hcHQvbGlzdHMvKiAvZXRjL2FwdC9zb3VyY2VzLmxpc3QuZC9uZ2lueC5saXN0ICAgICAgICAgXHUwMDI2XHUwMDI2IGlmIFsgLW4gXCIkdGVtcERpclwiIF07IHRoZW4gICAgICAgICBhcHQtZ2V0IHB1cmdlIC15IC0tYXV0by1yZW1vdmUgICAgICAgICBcdTAwMjZcdTAwMjYgcm0gLXJmIFwiJHRlbXBEaXJcIiAvZXRjL2FwdC9zb3VyY2VzLmxpc3QuZC90ZW1wLmxpc3Q7ICAgICBmaSAgICAgXHUwMDI2XHUwMDI2IGxuIC1zZiAvZGV2L3N0ZG91dCAvdmFyL2xvZy9uZ2lueC9hY2Nlc3MubG9nICAgICBcdTAwMjZcdTAwMjYgbG4gLXNmIC9kZXYvc3RkZXJyIC92YXIvbG9nL25naW54L2Vycm9yLmxvZyAgICAgXHUwMDI2XHUwMDI2IG1rZGlyIC9kb2NrZXItZW50cnlwb2ludC5kIn0seyJjcmVhdGVkIjoiMjAyMy0wOC0xNVQyMzo1ODoyNS44OTEwNzk5MjNaIiwiY3JlYXRlZF9ieSI6Ii9iaW4vc2ggLWMgIyhub3ApIENPUFkgZmlsZTowMWU3NWM2ZGQwY2UzMTdkNTE2OTI4YTE3NTg0ZDExMWNkMDgyODQwYzAxZTU4YmUwYWZjODUxYjMzYWRiOTE2IGluIC8gIn0seyJjcmVhdGVkIjoiMjAyMy0wOC0xNVQyMzo1ODoyNS45NjMzNzYxNDlaIiwiY3JlYXRlZF9ieSI6Ii9iaW4vc2ggLWMgIyhub3ApIENPUFkgZmlsZTpjYWVjMzY4ZjVhNTRmNzBhODQ0YTEzMDA1ZWIyMjU1YmVkNzc4ODA5YjM2NzJkNTE2ZTcxOWNlMmY0YmNlMTIzIGluIC9kb2NrZXItZW50cnlwb2ludC5kICJ9LHsiY3JlYXRlZCI6IjIwMjMtMDgtMTVUMjM6NTg6MjYuMDM0Mzg4MTAzWiIsImNyZWF0ZWRfYnkiOiIvYmluL3NoIC1jICMobm9wKSBDT1BZIGZpbGU6M2IxYjk5MTViN2RkODk4YTBlMzJmN2ViOTcxNWEzNWM5ZmVhYjkxNDAyMmVmZmY2OGJhOTkwYmMxZWM3ZDE2OSBpbiAvZG9ja2VyLWVudHJ5cG9pbnQuZCAifSx7ImNyZWF0ZWQiOiIyMDIzLTA4LTE1VDIzOjU4OjI2LjEwNzA0NTk5NFoiLCJjcmVhdGVkX2J5IjoiL2Jpbi9zaCAtYyAjKG5vcCkgQ09QWSBmaWxlOjU3ODQ2NjMyYWNjYzg5NzUzZjQ1Y2JjMDBjYjllNjIyM2Q5OTFlMWQzMTI5N2VlYzMzOTVhN2NhNThlZWQ2YTYgaW4gL2RvY2tlci1lbnRyeXBvaW50LmQgIn0seyJjcmVhdGVkIjoiMjAyMy0wOC0xNVQyMzo1ODoyNi4xNzgwNDkzMTJaIiwiY3JlYXRlZF9ieSI6Ii9iaW4vc2ggLWMgIyhub3ApIENPUFkgZmlsZTo5ZTNiMmI2M2RiOWY4ZmM3MDJlMmRjMmJkZDA5NDNiZTBkOTkwYzAyOGNkZGNmMWMxNTlmNTU1NmE4YmEzMDMwIGluIC9kb2NrZXItZW50cnlwb2ludC5kICJ9LHsiY3JlYXRlZCI6IjIwMjMtMDgtMTVUMjM6NTg6MjYuMjUwMjA4ODcyWiIsImNyZWF0ZWRfYnkiOiIvYmluL3NoIC1jICMobm9wKSAgRU5UUllQT0lOVCBbXCIvZG9ja2VyLWVudHJ5cG9pbnQuc2hcIl0iLCJlbXB0eV9sYXllciI6dHJ1ZX0seyJjcmVhdGVkIjoiMjAyMy0wOC0xNVQyMzo1ODoyNi4zMjQ0MDUyNDZaIiwiY3JlYXRlZF9ieSI6Ii9iaW4vc2ggLWMgIyhub3ApICBFWFBPU0UgODAiLCJlbXB0eV9sYXllciI6dHJ1ZX0seyJjcmVhdGVkIjoiMjAyMy0wOC0xNVQyMzo1ODoyNi40MDUwMzY4OThaIiwiY3JlYXRlZF9ieSI6Ii9iaW4vc2ggLWMgIyhub3ApICBTVE9QU0lHTkFMIFNJR1FVSVQiLCJlbXB0eV9sYXllciI6dHJ1ZX0seyJjcmVhdGVkIjoiMjAyMy0wOC0xNVQyMzo1ODoyNi40ODAwNTE5NDlaIiwiY3JlYXRlZF9ieSI6Ii9iaW4vc2ggLWMgIyhub3ApICBDTUQgW1wibmdpbnhcIiBcIi1nXCIgXCJkYWVtb24gb2ZmO1wiXSIsImVtcHR5X2xheWVyIjp0cnVlfV0sIm9zIjoibGludXgiLCJyb290ZnMiOnsidHlwZSI6ImxheWVycyIsImRpZmZfaWRzIjpbInNoYTI1NjoxYzNkYWEwNjU3NDI4NDYxNGRiMDdhMjM2ODJhYjZkMWMzNDRmMDlmODA5M2VlMTBlNWRlNDE1MmE1MTY3N2ExIiwic2hhMjU2OmRjYjgxNmQxMzQ1ZWQ0YTQyOWRlYzYzMmMwOTMzZTJhZjg4ODdiODA4MjU5OTg1YmZjNTU1ZDE1NWQ4YzYxNWQiLCJzaGEyNTY6OGNjMGNlMjZkMzIwZjVhMzQyZWRhNTE2ZTAzYWUyYmQxZGRhYTgyODI2YjFlZWQ5NzdlM2RkNDg0OTk1YzJjMCIsInNoYTI1Njo3OGNkY2QyYmE0YmJlNjA2N2FiNTk3NmRkNGMzOGIzYTNhZDRiOGQ0MWMzODk3MmEwMzdjOWViZDQ3MzE5ODhjIiwic2hhMjU2OmRlZjE0OTExY2Y2YThlMDExYjViYThmMzk0NDFhMjIwOTcxNzBjNDMzYTQ5MDViNjBlYzY5ZTg0YTlkZjc4ZmQiLCJzaGEyNTY6M2NjYzUzNGU5NjFjYTYyNTM2ZGM4NjI5YTc1NmZhOTIxZTk4OWJhOWNjOGE1ZmNhNjE3ZDhmZjVlNDBlN2Q5MiIsInNoYTI1NjplMDA1ZjNjMDkwZTA4YmJmOWViN2RkOGEyODlmMDcxMjRjMDg1NTZjYjk1OWI4YWExN2RkNmU2Yzg4NDBlNGM3Il19LCJ2YXJpYW50IjoidjgifQ==", - "repoDigests": [ - "nginx@sha256:104c7c5c54f2685f0f46f3be607ce60da7085da3eaa5ad22d3d9f01594295e9c" - ], - "architecture": "arm64", - "os": "linux" - } + { + "path": "/etc/adduser.conf", + "digest": { + "algorithm": "md5", + "value": "cc3493ecd2d09837ffdcc3e25fdfff18" + }, + "isConfigFile": true + }, + { + "path": "/etc/deluser.conf", + "digest": { + "algorithm": "md5", + "value": "11a06baf8245fd8d690b99024d228c1f" + }, + "isConfigFile": true + }, + { + "path": "/usr/sbin/adduser", + "digest": { + "algorithm": "md5", + "value": "2ba08fece3b3434a669f3c529bbea383" + }, + "isConfigFile": false + }, + { + "path": "/usr/sbin/deluser", + "digest": { + "algorithm": "md5", + "value": "808647b72aa26222070ae241158f22bf" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/doc/adduser/NEWS.Debian.gz", + "digest": { + "algorithm": "md5", + "value": "0091c90861f50e7be138d37764779d22" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/doc/adduser/README.gz", + "digest": { + "algorithm": "md5", + "value": "30b17d2e2e9c784208f01d130f196864" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/doc/adduser/TODO", + "digest": { + "algorithm": "md5", + "value": "a4537699e4951748913a3d3e212be34e" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/doc/adduser/changelog.gz", + "digest": { + "algorithm": "md5", + "value": "30bb154dfdc69a2c0ff31ec465681b39" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/doc/adduser/copyright", + "digest": { + "algorithm": "md5", + "value": "ad1acbe264ddc19bf4f50095c1ca50e5" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/doc/adduser/examples/INSTALL", + "digest": { + "algorithm": "md5", + "value": "55f158219a06612fcb6d35952d1b95f2" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/doc/adduser/examples/README", + "digest": { + "algorithm": "md5", + "value": "ff484e503a7f8b0d6f62e8bfda86c0a2" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/doc/adduser/examples/adduser.conf", + "digest": { + "algorithm": "md5", + "value": "cc3493ecd2d09837ffdcc3e25fdfff18" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/doc/adduser/examples/adduser.local", + "digest": { + "algorithm": "md5", + "value": "04bf7a834a790dbcf91d9126ec2a93bf" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/doc/adduser/examples/adduser.local.conf", + "digest": { + "algorithm": "md5", + "value": "51367088cb922ab47b652cad2fdf1ed1" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/doc/adduser/examples/adduser.local.conf.examples/bash.bashrc", + "digest": { + "algorithm": "md5", + "value": "7a0388cf3e93997d82f705c29c90892a" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/doc/adduser/examples/adduser.local.conf.examples/profile", + "digest": { + "algorithm": "md5", + "value": "c4869bc559365ab84733b15280332ae9" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/doc/adduser/examples/adduser.local.conf.examples/skel.other/index.html", + "digest": { + "algorithm": "md5", + "value": "82589559808bbaade90a966287e51627" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/doc/adduser/examples/adduser.local.conf.examples/skel/dot.bash_logout", + "digest": { + "algorithm": "md5", + "value": "95c9c80ac808659d74ec72d7bd86a118" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/doc/adduser/examples/adduser.local.conf.examples/skel/dot.bash_profile", + "digest": { + "algorithm": "md5", + "value": "7e25a53e7588cdb05870608583b05b19" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/doc/adduser/examples/adduser.local.conf.examples/skel/dot.bashrc", + "digest": { + "algorithm": "md5", + "value": "6f2fe654cd11a739ba9fb6a9f13881fe" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/doc/adduser/examples/deluser.conf", + "digest": { + "algorithm": "md5", + "value": "11a06baf8245fd8d690b99024d228c1f" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/locale/ca/LC_MESSAGES/adduser.mo", + "digest": { + "algorithm": "md5", + "value": "b702b3ed20154b001d1b2375ec7e488f" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/locale/cs/LC_MESSAGES/adduser.mo", + "digest": { + "algorithm": "md5", + "value": "0ca2951f2ef978d48c1f7f1ce153f5e8" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/locale/da/LC_MESSAGES/adduser.mo", + "digest": { + "algorithm": "md5", + "value": "961b561f85178991cc846cd50571799b" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/locale/de/LC_MESSAGES/adduser.mo", + "digest": { + "algorithm": "md5", + "value": "1c47fa9200cb5cce8b9d8c1ed2345ed8" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/locale/es/LC_MESSAGES/adduser.mo", + "digest": { + "algorithm": "md5", + "value": "3b3cba03fcb342b5abfa8bca5afec4df" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/locale/eu/LC_MESSAGES/adduser.mo", + "digest": { + "algorithm": "md5", + "value": "2d4b6195cf6ba1d3a33c5bf55b6ecf3c" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/locale/fr/LC_MESSAGES/adduser.mo", + "digest": { + "algorithm": "md5", + "value": "6c4ab5ed96290a2477b457889d68b081" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/locale/gl/LC_MESSAGES/adduser.mo", + "digest": { + "algorithm": "md5", + "value": "6d7d3d40c026e6389aeb5c2f7e2ad043" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/locale/hu/LC_MESSAGES/adduser.mo", + "digest": { + "algorithm": "md5", + "value": "50b5a14c95b5a85b8ef249146556dcbb" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/locale/it/LC_MESSAGES/adduser.mo", + "digest": { + "algorithm": "md5", + "value": "74d23efa1335e149d0b07ad464765afd" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/locale/ja/LC_MESSAGES/adduser.mo", + "digest": { + "algorithm": "md5", + "value": "16eae53fcaa3879d6c2cb1b23e392cea" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/locale/ko/LC_MESSAGES/adduser.mo", + "digest": { + "algorithm": "md5", + "value": "3e064773563de4e35534e73bc92ebf68" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/locale/nb/LC_MESSAGES/adduser.mo", + "digest": { + "algorithm": "md5", + "value": "d88de4925b4da406cd560f57ba4b1ce2" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/locale/nl/LC_MESSAGES/adduser.mo", + "digest": { + "algorithm": "md5", + "value": "fdaa7ffe6cadbc41f6a6e7138bd3af5d" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/locale/pl/LC_MESSAGES/adduser.mo", + "digest": { + "algorithm": "md5", + "value": "c8295a7067aa3fda053d3f57d4a4ade2" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/locale/pt/LC_MESSAGES/adduser.mo", + "digest": { + "algorithm": "md5", + "value": "e1c98d35dac5ca0e73b3a7e225bc7920" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/locale/pt_BR/LC_MESSAGES/adduser.mo", + "digest": { + "algorithm": "md5", + "value": "f1642f13df692ea16e96f6f61f86443d" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/locale/ru/LC_MESSAGES/adduser.mo", + "digest": { + "algorithm": "md5", + "value": "f16bf5c78b024661e685304cc84eb322" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/locale/sk/LC_MESSAGES/adduser.mo", + "digest": { + "algorithm": "md5", + "value": "0b4f60e88db1d73b2f4bc3e3fcd71c4d" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/locale/sv/LC_MESSAGES/adduser.mo", + "digest": { + "algorithm": "md5", + "value": "6069303f3206caed75ef429164a5c29a" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/locale/uk/LC_MESSAGES/adduser.mo", + "digest": { + "algorithm": "md5", + "value": "b13acd3c3039b256184446a35075679a" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/locale/vi/LC_MESSAGES/adduser.mo", + "digest": { + "algorithm": "md5", + "value": "a99328519237e94580cbfd2a18d0834c" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/locale/zh_CN/LC_MESSAGES/adduser.mo", + "digest": { + "algorithm": "md5", + "value": "b62097a2043612a43b7de5bd2ef6ce78" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/man/de/man5/adduser.conf.5.gz", + "digest": { + "algorithm": "md5", + "value": "279bc4b2fcee033a51226d002a619bbd" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/man/de/man5/deluser.conf.5.gz", + "digest": { + "algorithm": "md5", + "value": "4be1449aa85465c1d1e1c230bcb65dd0" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/man/de/man8/adduser.8.gz", + "digest": { + "algorithm": "md5", + "value": "1f6de0932af4b53ad2e2b3dbc67eda78" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/man/de/man8/deluser.8.gz", + "digest": { + "algorithm": "md5", + "value": "0c139260599a1fbe30dda5bf13735765" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/man/fr/man5/adduser.conf.5.gz", + "digest": { + "algorithm": "md5", + "value": "f9f06923354ca40ac5a4153133400df3" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/man/fr/man5/deluser.conf.5.gz", + "digest": { + "algorithm": "md5", + "value": "3f0b00c3117649f32d4ae2fd4b8f2635" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/man/fr/man8/adduser.8.gz", + "digest": { + "algorithm": "md5", + "value": "44703ebd828a02000329a9fb78336eb3" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/man/fr/man8/deluser.8.gz", + "digest": { + "algorithm": "md5", + "value": "8c743ace7c9fec6fd736f340285187fe" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/man/man5/adduser.conf.5.gz", + "digest": { + "algorithm": "md5", + "value": "72d8a98aca954db1e307f0af4d0e0741" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/man/man5/deluser.conf.5.gz", + "digest": { + "algorithm": "md5", + "value": "d77325d2847f9445a98505ed6258cfbc" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/man/man8/adduser.8.gz", + "digest": { + "algorithm": "md5", + "value": "ca2b03a3887d2ef87cdaf01d5e249ba1" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/man/man8/adduser.local.8.gz", + "digest": { + "algorithm": "md5", + "value": "205bd0d71b8575d75e1169b4d21a4b38" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/man/man8/deluser.8.gz", + "digest": { + "algorithm": "md5", + "value": "bd68f00caa2c02cdb17cbefca0983a1f" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/man/nl/man5/adduser.conf.5.gz", + "digest": { + "algorithm": "md5", + "value": "298d0b083299fd5aac8d8e823aeef531" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/man/nl/man5/deluser.conf.5.gz", + "digest": { + "algorithm": "md5", + "value": "573812c7b0bdb53be8810adf5a8bca04" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/man/nl/man8/adduser.8.gz", + "digest": { + "algorithm": "md5", + "value": "d66066537e31f55b9f68b5ceabc2bb5c" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/man/nl/man8/deluser.8.gz", + "digest": { + "algorithm": "md5", + "value": "86c181cd2cd77fe92165ce54088b1fcd" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/man/pt/man5/adduser.conf.5.gz", + "digest": { + "algorithm": "md5", + "value": "f12ac762e03c1ce1f858e141142424a2" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/man/pt/man5/deluser.conf.5.gz", + "digest": { + "algorithm": "md5", + "value": "bcb31d0138c1d3feed06cf9153a9302a" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/man/pt/man8/adduser.8.gz", + "digest": { + "algorithm": "md5", + "value": "21910b8714511335642c53ec92a3e2e0" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/man/pt/man8/deluser.8.gz", + "digest": { + "algorithm": "md5", + "value": "dfee1fa5f7449c26b3cf7289321309f5" + }, + "isConfigFile": false + }, + { + "path": "/usr/share/perl5/Debian/AdduserCommon.pm", + "digest": { + "algorithm": "md5", + "value": "840faf09c56199b8c10c4ef15e376224" + }, + "isConfigFile": false + } + ] + } + } + ], + "artifactRelationships": [ + { + "parent": "5aeab6f311d0e8bb", + "child": "a0cb282860d88d7e", + "type": "contains" + } + ], + "files": [ + { + "id": "a0cb282860d88d7e", + "location": { + "path": "/usr/sbin/deluser", + "layerID": "sha256:1c3daa06574284614db07a23682ab6d1c344f09f8093ee10e5de4152a51677a1" + } + } + ], + "source": { + "id": "a5a12146fa884980227750eacb1fed4720b40953fcb8731773701e67905a2a07", + "name": "nginx", + "version": "sha256:a5a12146fa884980227750eacb1fed4720b40953fcb8731773701e67905a2a07", + "type": "image", + "metadata": { + "userInput": "nginx", + "imageID": "sha256:ab73c7fd672341e41ec600081253d0b99ea31d0c1acdfb46a1485004472da7ac", + "manifestDigest": "sha256:a5a12146fa884980227750eacb1fed4720b40953fcb8731773701e67905a2a07", + "mediaType": "application/vnd.docker.distribution.manifest.v2+json", + "tags": [ + "nginx:latest" + ], + "imageSize": 192037957, + "layers": [ + { + "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", + "digest": "sha256:1c3daa06574284614db07a23682ab6d1c344f09f8093ee10e5de4152a51677a1", + "size": 97098352 }, - "distro": { - "prettyName": "Debian GNU/Linux 12 (bookworm)", - "name": "Debian GNU/Linux", - "id": "debian", - "version": "12 (bookworm)", - "versionID": "12", - "versionCodename": "bookworm", - "homeURL": "https://www.debian.org/", - "supportURL": "https://www.debian.org/support", - "bugReportURL": "https://bugs.debian.org/" + { + "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", + "digest": "sha256:dcb816d1345ed4a429dec632c0933e2af8887b808259985bfc555d155d8c615d", + "size": 94927925 }, - "descriptor": { - "name": "syft", - "version": "0.94.0", - "configuration": { - "catalogers": null, - "package": { - "cataloger": { - "enabled": true, - "scope": "Squashed" - }, - "search-unindexed-archives": false, - "search-indexed-archives": true - }, - "golang": { - "search-local-mod-cache-licenses": false, - "local-mod-cache-dir": "", - "search-remote-licenses": false, - "proxy": "", - "no-proxy": "" - }, - "linux-kernel": { - "catalog-modules": true - }, - "python": { - "guess-unpinned-requirements": false - }, - "file-metadata": { - "cataloger": { - "enabled": false, - "scope": "Squashed" - }, - "digests": [ - "sha256" - ] - }, - "file-classification": { - "cataloger": { - "enabled": false, - "scope": "Squashed" - } - }, - "file-contents": { - "cataloger": { - "enabled": false, - "scope": "Squashed" - }, - "skip-files-above-size": 1048576, - "globs": null - }, - "secrets": { - "cataloger": { - "enabled": false, - "scope": "AllLayers" - }, - "additional-patterns": null, - "exclude-pattern-names": null, - "reveal-values": false, - "skip-files-above-size": 1048576 - }, - "registry": { - "insecure-skip-tls-verify": false, - "insecure-use-http": false, - "auth": null, - "ca-cert": "" - }, - "exclude": [], - "platform": "", - "name": "", - "source": { - "name": "", - "version": "", - "file": { - "digests": [ - "sha256" - ] - } - }, - "parallelism": 1, - "default-image-pull-source": "", - "base-path": "", - "exclude-binary-overlap-by-ownership": true - } + { + "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", + "digest": "sha256:8cc0ce26d320f5a342eda516e03ae2bd1ddaa82826b1eed977e3dd484995c2c0", + "size": 1620 + }, + { + "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", + "digest": "sha256:78cdcd2ba4bbe6067ab5976dd4c38b3a3ad4b8d41c38972a037c9ebd4731988c", + "size": 2125 + }, + { + "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", + "digest": "sha256:def14911cf6a8e011b5ba8f39441a22097170c433a4905b60ec69e84a9df78fd", + "size": 298 + }, + { + "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", + "digest": "sha256:3ccc534e961ca62536dc8629a756fa921e989ba9cc8a5fca617d8ff5e40e7d92", + "size": 3018 }, - "schema": { - "version": "11.0.1", - "url": "https://raw.githubusercontent.com/anchore/syft/main/schema/json/schema-11.0.1.json" + { + "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", + "digest": "sha256:e005f3c090e08bbf9eb7dd8a289f07124c08556cb959b8aa17dd6e6c8840e4c7", + "size": 4619 } + ], + "manifest": "eyJzY2hlbWFWZXJzaW9uIjoyLCJtZWRpYVR5cGUiOiJhcHBsaWNhdGlvbi92bmQuZG9ja2VyLmRpc3RyaWJ1dGlvbi5tYW5pZmVzdC52Mitqc29uIiwiY29uZmlnIjp7Im1lZGlhVHlwZSI6ImFwcGxpY2F0aW9uL3ZuZC5kb2NrZXIuY29udGFpbmVyLmltYWdlLnYxK2pzb24iLCJzaXplIjo4MTY0LCJkaWdlc3QiOiJzaGEyNTY6YWI3M2M3ZmQ2NzIzNDFlNDFlYzYwMDA4MTI1M2QwYjk5ZWEzMWQwYzFhY2RmYjQ2YTE0ODUwMDQ0NzJkYTdhYyJ9LCJsYXllcnMiOlt7Im1lZGlhVHlwZSI6ImFwcGxpY2F0aW9uL3ZuZC5kb2NrZXIuaW1hZ2Uucm9vdGZzLmRpZmYudGFyLmd6aXAiLCJzaXplIjoxMDAxMDgyODgsImRpZ2VzdCI6InNoYTI1NjoxYzNkYWEwNjU3NDI4NDYxNGRiMDdhMjM2ODJhYjZkMWMzNDRmMDlmODA5M2VlMTBlNWRlNDE1MmE1MTY3N2ExIn0seyJtZWRpYVR5cGUiOiJhcHBsaWNhdGlvbi92bmQuZG9ja2VyLmltYWdlLnJvb3Rmcy5kaWZmLnRhci5nemlwIiwic2l6ZSI6OTYwNTE3MTIsImRpZ2VzdCI6InNoYTI1NjpkY2I4MTZkMTM0NWVkNGE0MjlkZWM2MzJjMDkzM2UyYWY4ODg3YjgwODI1OTk4NWJmYzU1NWQxNTVkOGM2MTVkIn0seyJtZWRpYVR5cGUiOiJhcHBsaWNhdGlvbi92bmQuZG9ja2VyLmltYWdlLnJvb3Rmcy5kaWZmLnRhci5nemlwIiwic2l6ZSI6MzU4NCwiZGlnZXN0Ijoic2hhMjU2OjhjYzBjZTI2ZDMyMGY1YTM0MmVkYTUxNmUwM2FlMmJkMWRkYWE4MjgyNmIxZWVkOTc3ZTNkZDQ4NDk5NWMyYzAifSx7Im1lZGlhVHlwZSI6ImFwcGxpY2F0aW9uL3ZuZC5kb2NrZXIuaW1hZ2Uucm9vdGZzLmRpZmYudGFyLmd6aXAiLCJzaXplIjo0NjA4LCJkaWdlc3QiOiJzaGEyNTY6NzhjZGNkMmJhNGJiZTYwNjdhYjU5NzZkZDRjMzhiM2EzYWQ0YjhkNDFjMzg5NzJhMDM3YzllYmQ0NzMxOTg4YyJ9LHsibWVkaWFUeXBlIjoiYXBwbGljYXRpb24vdm5kLmRvY2tlci5pbWFnZS5yb290ZnMuZGlmZi50YXIuZ3ppcCIsInNpemUiOjI1NjAsImRpZ2VzdCI6InNoYTI1NjpkZWYxNDkxMWNmNmE4ZTAxMWI1YmE4ZjM5NDQxYTIyMDk3MTcwYzQzM2E0OTA1YjYwZWM2OWU4NGE5ZGY3OGZkIn0seyJtZWRpYVR5cGUiOiJhcHBsaWNhdGlvbi92bmQuZG9ja2VyLmltYWdlLnJvb3Rmcy5kaWZmLnRhci5nemlwIiwic2l6ZSI6NTEyMCwiZGlnZXN0Ijoic2hhMjU2OjNjY2M1MzRlOTYxY2E2MjUzNmRjODYyOWE3NTZmYTkyMWU5ODliYTljYzhhNWZjYTYxN2Q4ZmY1ZTQwZTdkOTIifSx7Im1lZGlhVHlwZSI6ImFwcGxpY2F0aW9uL3ZuZC5kb2NrZXIuaW1hZ2Uucm9vdGZzLmRpZmYudGFyLmd6aXAiLCJzaXplIjo3MTY4LCJkaWdlc3QiOiJzaGEyNTY6ZTAwNWYzYzA5MGUwOGJiZjllYjdkZDhhMjg5ZjA3MTI0YzA4NTU2Y2I5NTliOGFhMTdkZDZlNmM4ODQwZTRjNyJ9XX0=", + "config": "eyJhcmNoaXRlY3R1cmUiOiJhcm02NCIsImNvbmZpZyI6eyJIb3N0bmFtZSI6IiIsIkRvbWFpbm5hbWUiOiIiLCJVc2VyIjoiIiwiQXR0YWNoU3RkaW4iOmZhbHNlLCJBdHRhY2hTdGRvdXQiOmZhbHNlLCJBdHRhY2hTdGRlcnIiOmZhbHNlLCJFeHBvc2VkUG9ydHMiOnsiODAvdGNwIjp7fX0sIlR0eSI6ZmFsc2UsIk9wZW5TdGRpbiI6ZmFsc2UsIlN0ZGluT25jZSI6ZmFsc2UsIkVudiI6WyJQQVRIPS91c3IvbG9jYWwvc2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL3NiaW46L3Vzci9iaW46L3NiaW46L2JpbiIsIk5HSU5YX1ZFUlNJT049MS4yNS4yIiwiTkpTX1ZFUlNJT049MC44LjAiLCJQS0dfUkVMRUFTRT0xfmJvb2t3b3JtIl0sIkNtZCI6WyJuZ2lueCIsIi1nIiwiZGFlbW9uIG9mZjsiXSwiSW1hZ2UiOiJzaGEyNTY6YTkwZmNjZmQwZGE3M2Q4M2RkZThmNjU0ODVlNjM4NWFlNjg3ZWRhM2JjOTJhNDMwYmM5NTJiOTkwZjhhMzMxYiIsIlZvbHVtZXMiOm51bGwsIldvcmtpbmdEaXIiOiIiLCJFbnRyeXBvaW50IjpbIi9kb2NrZXItZW50cnlwb2ludC5zaCJdLCJPbkJ1aWxkIjpudWxsLCJMYWJlbHMiOnsibWFpbnRhaW5lciI6Ik5HSU5YIERvY2tlciBNYWludGFpbmVycyBcdTAwM2Nkb2NrZXItbWFpbnRAbmdpbnguY29tXHUwMDNlIn0sIlN0b3BTaWduYWwiOiJTSUdRVUlUIn0sImNvbnRhaW5lciI6ImMyNGEzZGU1YjBkOWZlOTQzOTRiMzM1YmZjZDgzMjAzNWY5ODUxNTFhNGQzZThlOGRjZmM2ODRmYTgyYTlmZWQiLCJjb250YWluZXJfY29uZmlnIjp7Ikhvc3RuYW1lIjoiYzI0YTNkZTViMGQ5IiwiRG9tYWlubmFtZSI6IiIsIlVzZXIiOiIiLCJBdHRhY2hTdGRpbiI6ZmFsc2UsIkF0dGFjaFN0ZG91dCI6ZmFsc2UsIkF0dGFjaFN0ZGVyciI6ZmFsc2UsIkV4cG9zZWRQb3J0cyI6eyI4MC90Y3AiOnt9fSwiVHR5IjpmYWxzZSwiT3BlblN0ZGluIjpmYWxzZSwiU3RkaW5PbmNlIjpmYWxzZSwiRW52IjpbIlBBVEg9L3Vzci9sb2NhbC9zYmluOi91c3IvbG9jYWwvYmluOi91c3Ivc2JpbjovdXNyL2Jpbjovc2JpbjovYmluIiwiTkdJTlhfVkVSU0lPTj0xLjI1LjIiLCJOSlNfVkVSU0lPTj0wLjguMCIsIlBLR19SRUxFQVNFPTF+Ym9va3dvcm0iXSwiQ21kIjpbIi9iaW4vc2giLCItYyIsIiMobm9wKSAiLCJDTUQgW1wibmdpbnhcIiBcIi1nXCIgXCJkYWVtb24gb2ZmO1wiXSJdLCJJbWFnZSI6InNoYTI1NjphOTBmY2NmZDBkYTczZDgzZGRlOGY2NTQ4NWU2Mzg1YWU2ODdlZGEzYmM5MmE0MzBiYzk1MmI5OTBmOGEzMzFiIiwiVm9sdW1lcyI6bnVsbCwiV29ya2luZ0RpciI6IiIsIkVudHJ5cG9pbnQiOlsiL2RvY2tlci1lbnRyeXBvaW50LnNoIl0sIk9uQnVpbGQiOm51bGwsIkxhYmVscyI6eyJtYWludGFpbmVyIjoiTkdJTlggRG9ja2VyIE1haW50YWluZXJzIFx1MDAzY2RvY2tlci1tYWludEBuZ2lueC5jb21cdTAwM2UifSwiU3RvcFNpZ25hbCI6IlNJR1FVSVQifSwiY3JlYXRlZCI6IjIwMjMtMDgtMTVUMjM6NTg6MjYuNDgwMDUxOTQ5WiIsImRvY2tlcl92ZXJzaW9uIjoiMjAuMTAuMjMiLCJoaXN0b3J5IjpbeyJjcmVhdGVkIjoiMjAyMy0wOC0xNVQyMzozOTo1Ny4xNzg1MDUwODFaIiwiY3JlYXRlZF9ieSI6Ii9iaW4vc2ggLWMgIyhub3ApIEFERCBmaWxlOmJjNTg5NTZmYTNkMWFmZjJlZmIwMjY0NjU1ZDAzOWZlZGZmZjI4ZGM0ZmYxOWE2NWEyMzVlODI3NTRlZTFjZmEgaW4gLyAifSx7ImNyZWF0ZWQiOiIyMDIzLTA4LTE1VDIzOjM5OjU3LjU3NDQzMTMwM1oiLCJjcmVhdGVkX2J5IjoiL2Jpbi9zaCAtYyAjKG5vcCkgIENNRCBbXCJiYXNoXCJdIiwiZW1wdHlfbGF5ZXIiOnRydWV9LHsiY3JlYXRlZCI6IjIwMjMtMDgtMTVUMjM6NTg6MDMuOTkxOTkyMTM1WiIsImNyZWF0ZWRfYnkiOiIvYmluL3NoIC1jICMobm9wKSAgTEFCRUwgbWFpbnRhaW5lcj1OR0lOWCBEb2NrZXIgTWFpbnRhaW5lcnMgXHUwMDNjZG9ja2VyLW1haW50QG5naW54LmNvbVx1MDAzZSIsImVtcHR5X2xheWVyIjp0cnVlfSx7ImNyZWF0ZWQiOiIyMDIzLTA4LTE1VDIzOjU4OjA0LjA3MTA2MzgwNVoiLCJjcmVhdGVkX2J5IjoiL2Jpbi9zaCAtYyAjKG5vcCkgIEVOViBOR0lOWF9WRVJTSU9OPTEuMjUuMiIsImVtcHR5X2xheWVyIjp0cnVlfSx7ImNyZWF0ZWQiOiIyMDIzLTA4LTE1VDIzOjU4OjA0LjE1MzEwNDcxNloiLCJjcmVhdGVkX2J5IjoiL2Jpbi9zaCAtYyAjKG5vcCkgIEVOViBOSlNfVkVSU0lPTj0wLjguMCIsImVtcHR5X2xheWVyIjp0cnVlfSx7ImNyZWF0ZWQiOiIyMDIzLTA4LTE1VDIzOjU4OjA0LjIzNDc3MzI3MloiLCJjcmVhdGVkX2J5IjoiL2Jpbi9zaCAtYyAjKG5vcCkgIEVOViBQS0dfUkVMRUFTRT0xfmJvb2t3b3JtIiwiZW1wdHlfbGF5ZXIiOnRydWV9LHsiY3JlYXRlZCI6IjIwMjMtMDgtMTVUMjM6NTg6MjUuNTQ2ODIwMTcyWiIsImNyZWF0ZWRfYnkiOiIvYmluL3NoIC1jIHNldCAteCAgICAgXHUwMDI2XHUwMDI2IGdyb3VwYWRkIC0tc3lzdGVtIC0tZ2lkIDEwMSBuZ2lueCAgICAgXHUwMDI2XHUwMDI2IHVzZXJhZGQgLS1zeXN0ZW0gLS1naWQgbmdpbnggLS1uby1jcmVhdGUtaG9tZSAtLWhvbWUgL25vbmV4aXN0ZW50IC0tY29tbWVudCBcIm5naW54IHVzZXJcIiAtLXNoZWxsIC9iaW4vZmFsc2UgLS11aWQgMTAxIG5naW54ICAgICBcdTAwMjZcdTAwMjYgYXB0LWdldCB1cGRhdGUgICAgIFx1MDAyNlx1MDAyNiBhcHQtZ2V0IGluc3RhbGwgLS1uby1pbnN0YWxsLXJlY29tbWVuZHMgLS1uby1pbnN0YWxsLXN1Z2dlc3RzIC15IGdudXBnMSBjYS1jZXJ0aWZpY2F0ZXMgICAgIFx1MDAyNlx1MDAyNiAgICAgTkdJTlhfR1BHS0VZPTU3M0JGRDZCM0Q4RkJDNjQxMDc5QTZBQkFCRjVCRDgyN0JEOUJGNjI7ICAgICBOR0lOWF9HUEdLRVlfUEFUSD0vdXNyL3NoYXJlL2tleXJpbmdzL25naW54LWFyY2hpdmUta2V5cmluZy5ncGc7ICAgICBleHBvcnQgR05VUEdIT01FPVwiJChta3RlbXAgLWQpXCI7ICAgICBmb3VuZD0nJzsgICAgIGZvciBzZXJ2ZXIgaW4gICAgICAgICBoa3A6Ly9rZXlzZXJ2ZXIudWJ1bnR1LmNvbTo4MCAgICAgICAgIHBncC5taXQuZWR1ICAgICA7IGRvICAgICAgICAgZWNobyBcIkZldGNoaW5nIEdQRyBrZXkgJE5HSU5YX0dQR0tFWSBmcm9tICRzZXJ2ZXJcIjsgICAgICAgICBncGcxIC0ta2V5c2VydmVyIFwiJHNlcnZlclwiIC0ta2V5c2VydmVyLW9wdGlvbnMgdGltZW91dD0xMCAtLXJlY3Yta2V5cyBcIiROR0lOWF9HUEdLRVlcIiBcdTAwMjZcdTAwMjYgZm91bmQ9eWVzIFx1MDAyNlx1MDAyNiBicmVhazsgICAgIGRvbmU7ICAgICB0ZXN0IC16IFwiJGZvdW5kXCIgXHUwMDI2XHUwMDI2IGVjaG8gXHUwMDNlXHUwMDI2MiBcImVycm9yOiBmYWlsZWQgdG8gZmV0Y2ggR1BHIGtleSAkTkdJTlhfR1BHS0VZXCIgXHUwMDI2XHUwMDI2IGV4aXQgMTsgICAgIGdwZzEgLS1leHBvcnQgXCIkTkdJTlhfR1BHS0VZXCIgXHUwMDNlIFwiJE5HSU5YX0dQR0tFWV9QQVRIXCIgOyAgICAgcm0gLXJmIFwiJEdOVVBHSE9NRVwiOyAgICAgYXB0LWdldCByZW1vdmUgLS1wdXJnZSAtLWF1dG8tcmVtb3ZlIC15IGdudXBnMSBcdTAwMjZcdTAwMjYgcm0gLXJmIC92YXIvbGliL2FwdC9saXN0cy8qICAgICBcdTAwMjZcdTAwMjYgZHBrZ0FyY2g9XCIkKGRwa2cgLS1wcmludC1hcmNoaXRlY3R1cmUpXCIgICAgIFx1MDAyNlx1MDAyNiBuZ2lueFBhY2thZ2VzPVwiICAgICAgICAgbmdpbng9JHtOR0lOWF9WRVJTSU9OfS0ke1BLR19SRUxFQVNFfSAgICAgICAgIG5naW54LW1vZHVsZS14c2x0PSR7TkdJTlhfVkVSU0lPTn0tJHtQS0dfUkVMRUFTRX0gICAgICAgICBuZ2lueC1tb2R1bGUtZ2VvaXA9JHtOR0lOWF9WRVJTSU9OfS0ke1BLR19SRUxFQVNFfSAgICAgICAgIG5naW54LW1vZHVsZS1pbWFnZS1maWx0ZXI9JHtOR0lOWF9WRVJTSU9OfS0ke1BLR19SRUxFQVNFfSAgICAgICAgIG5naW54LW1vZHVsZS1uanM9JHtOR0lOWF9WRVJTSU9OfSske05KU19WRVJTSU9OfS0ke1BLR19SRUxFQVNFfSAgICAgXCIgICAgIFx1MDAyNlx1MDAyNiBjYXNlIFwiJGRwa2dBcmNoXCIgaW4gICAgICAgICBhbWQ2NHxhcm02NCkgICAgICAgICAgICAgZWNobyBcImRlYiBbc2lnbmVkLWJ5PSROR0lOWF9HUEdLRVlfUEFUSF0gaHR0cHM6Ly9uZ2lueC5vcmcvcGFja2FnZXMvbWFpbmxpbmUvZGViaWFuLyBib29rd29ybSBuZ2lueFwiIFx1MDAzZVx1MDAzZSAvZXRjL2FwdC9zb3VyY2VzLmxpc3QuZC9uZ2lueC5saXN0ICAgICAgICAgICAgIFx1MDAyNlx1MDAyNiBhcHQtZ2V0IHVwZGF0ZSAgICAgICAgICAgICA7OyAgICAgICAgICopICAgICAgICAgICAgIGVjaG8gXCJkZWItc3JjIFtzaWduZWQtYnk9JE5HSU5YX0dQR0tFWV9QQVRIXSBodHRwczovL25naW54Lm9yZy9wYWNrYWdlcy9tYWlubGluZS9kZWJpYW4vIGJvb2t3b3JtIG5naW54XCIgXHUwMDNlXHUwMDNlIC9ldGMvYXB0L3NvdXJjZXMubGlzdC5kL25naW54Lmxpc3QgICAgICAgICAgICAgICAgICAgICAgICAgXHUwMDI2XHUwMDI2IHRlbXBEaXI9XCIkKG1rdGVtcCAtZClcIiAgICAgICAgICAgICBcdTAwMjZcdTAwMjYgY2htb2QgNzc3IFwiJHRlbXBEaXJcIiAgICAgICAgICAgICAgICAgICAgICAgICBcdTAwMjZcdTAwMjYgc2F2ZWRBcHRNYXJrPVwiJChhcHQtbWFyayBzaG93bWFudWFsKVwiICAgICAgICAgICAgICAgICAgICAgICAgIFx1MDAyNlx1MDAyNiBhcHQtZ2V0IHVwZGF0ZSAgICAgICAgICAgICBcdTAwMjZcdTAwMjYgYXB0LWdldCBidWlsZC1kZXAgLXkgJG5naW54UGFja2FnZXMgICAgICAgICAgICAgXHUwMDI2XHUwMDI2ICggICAgICAgICAgICAgICAgIGNkIFwiJHRlbXBEaXJcIiAgICAgICAgICAgICAgICAgXHUwMDI2XHUwMDI2IERFQl9CVUlMRF9PUFRJT05TPVwibm9jaGVjayBwYXJhbGxlbD0kKG5wcm9jKVwiICAgICAgICAgICAgICAgICAgICAgYXB0LWdldCBzb3VyY2UgLS1jb21waWxlICRuZ2lueFBhY2thZ2VzICAgICAgICAgICAgICkgICAgICAgICAgICAgICAgICAgICAgICAgXHUwMDI2XHUwMDI2IGFwdC1tYXJrIHNob3dtYW51YWwgfCB4YXJncyBhcHQtbWFyayBhdXRvIFx1MDAzZSAvZGV2L251bGwgICAgICAgICAgICAgXHUwMDI2XHUwMDI2IHsgWyAteiBcIiRzYXZlZEFwdE1hcmtcIiBdIHx8IGFwdC1tYXJrIG1hbnVhbCAkc2F2ZWRBcHRNYXJrOyB9ICAgICAgICAgICAgICAgICAgICAgICAgIFx1MDAyNlx1MDAyNiBscyAtbEFGaCBcIiR0ZW1wRGlyXCIgICAgICAgICAgICAgXHUwMDI2XHUwMDI2ICggY2QgXCIkdGVtcERpclwiIFx1MDAyNlx1MDAyNiBkcGtnLXNjYW5wYWNrYWdlcyAuIFx1MDAzZSBQYWNrYWdlcyApICAgICAgICAgICAgIFx1MDAyNlx1MDAyNiBncmVwICdeUGFja2FnZTogJyBcIiR0ZW1wRGlyL1BhY2thZ2VzXCIgICAgICAgICAgICAgXHUwMDI2XHUwMDI2IGVjaG8gXCJkZWIgWyB0cnVzdGVkPXllcyBdIGZpbGU6Ly8kdGVtcERpciAuL1wiIFx1MDAzZSAvZXRjL2FwdC9zb3VyY2VzLmxpc3QuZC90ZW1wLmxpc3QgICAgICAgICAgICAgXHUwMDI2XHUwMDI2IGFwdC1nZXQgLW8gQWNxdWlyZTo6R3ppcEluZGV4ZXM9ZmFsc2UgdXBkYXRlICAgICAgICAgICAgIDs7ICAgICBlc2FjICAgICAgICAgXHUwMDI2XHUwMDI2IGFwdC1nZXQgaW5zdGFsbCAtLW5vLWluc3RhbGwtcmVjb21tZW5kcyAtLW5vLWluc3RhbGwtc3VnZ2VzdHMgLXkgICAgICAgICAgICAgICAgICAgICAgICAgJG5naW54UGFja2FnZXMgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0dGV4dC1iYXNlICAgICAgICAgICAgICAgICAgICAgICAgIGN1cmwgICAgIFx1MDAyNlx1MDAyNiBhcHQtZ2V0IHJlbW92ZSAtLXB1cmdlIC0tYXV0by1yZW1vdmUgLXkgXHUwMDI2XHUwMDI2IHJtIC1yZiAvdmFyL2xpYi9hcHQvbGlzdHMvKiAvZXRjL2FwdC9zb3VyY2VzLmxpc3QuZC9uZ2lueC5saXN0ICAgICAgICAgXHUwMDI2XHUwMDI2IGlmIFsgLW4gXCIkdGVtcERpclwiIF07IHRoZW4gICAgICAgICBhcHQtZ2V0IHB1cmdlIC15IC0tYXV0by1yZW1vdmUgICAgICAgICBcdTAwMjZcdTAwMjYgcm0gLXJmIFwiJHRlbXBEaXJcIiAvZXRjL2FwdC9zb3VyY2VzLmxpc3QuZC90ZW1wLmxpc3Q7ICAgICBmaSAgICAgXHUwMDI2XHUwMDI2IGxuIC1zZiAvZGV2L3N0ZG91dCAvdmFyL2xvZy9uZ2lueC9hY2Nlc3MubG9nICAgICBcdTAwMjZcdTAwMjYgbG4gLXNmIC9kZXYvc3RkZXJyIC92YXIvbG9nL25naW54L2Vycm9yLmxvZyAgICAgXHUwMDI2XHUwMDI2IG1rZGlyIC9kb2NrZXItZW50cnlwb2ludC5kIn0seyJjcmVhdGVkIjoiMjAyMy0wOC0xNVQyMzo1ODoyNS44OTEwNzk5MjNaIiwiY3JlYXRlZF9ieSI6Ii9iaW4vc2ggLWMgIyhub3ApIENPUFkgZmlsZTowMWU3NWM2ZGQwY2UzMTdkNTE2OTI4YTE3NTg0ZDExMWNkMDgyODQwYzAxZTU4YmUwYWZjODUxYjMzYWRiOTE2IGluIC8gIn0seyJjcmVhdGVkIjoiMjAyMy0wOC0xNVQyMzo1ODoyNS45NjMzNzYxNDlaIiwiY3JlYXRlZF9ieSI6Ii9iaW4vc2ggLWMgIyhub3ApIENPUFkgZmlsZTpjYWVjMzY4ZjVhNTRmNzBhODQ0YTEzMDA1ZWIyMjU1YmVkNzc4ODA5YjM2NzJkNTE2ZTcxOWNlMmY0YmNlMTIzIGluIC9kb2NrZXItZW50cnlwb2ludC5kICJ9LHsiY3JlYXRlZCI6IjIwMjMtMDgtMTVUMjM6NTg6MjYuMDM0Mzg4MTAzWiIsImNyZWF0ZWRfYnkiOiIvYmluL3NoIC1jICMobm9wKSBDT1BZIGZpbGU6M2IxYjk5MTViN2RkODk4YTBlMzJmN2ViOTcxNWEzNWM5ZmVhYjkxNDAyMmVmZmY2OGJhOTkwYmMxZWM3ZDE2OSBpbiAvZG9ja2VyLWVudHJ5cG9pbnQuZCAifSx7ImNyZWF0ZWQiOiIyMDIzLTA4LTE1VDIzOjU4OjI2LjEwNzA0NTk5NFoiLCJjcmVhdGVkX2J5IjoiL2Jpbi9zaCAtYyAjKG5vcCkgQ09QWSBmaWxlOjU3ODQ2NjMyYWNjYzg5NzUzZjQ1Y2JjMDBjYjllNjIyM2Q5OTFlMWQzMTI5N2VlYzMzOTVhN2NhNThlZWQ2YTYgaW4gL2RvY2tlci1lbnRyeXBvaW50LmQgIn0seyJjcmVhdGVkIjoiMjAyMy0wOC0xNVQyMzo1ODoyNi4xNzgwNDkzMTJaIiwiY3JlYXRlZF9ieSI6Ii9iaW4vc2ggLWMgIyhub3ApIENPUFkgZmlsZTo5ZTNiMmI2M2RiOWY4ZmM3MDJlMmRjMmJkZDA5NDNiZTBkOTkwYzAyOGNkZGNmMWMxNTlmNTU1NmE4YmEzMDMwIGluIC9kb2NrZXItZW50cnlwb2ludC5kICJ9LHsiY3JlYXRlZCI6IjIwMjMtMDgtMTVUMjM6NTg6MjYuMjUwMjA4ODcyWiIsImNyZWF0ZWRfYnkiOiIvYmluL3NoIC1jICMobm9wKSAgRU5UUllQT0lOVCBbXCIvZG9ja2VyLWVudHJ5cG9pbnQuc2hcIl0iLCJlbXB0eV9sYXllciI6dHJ1ZX0seyJjcmVhdGVkIjoiMjAyMy0wOC0xNVQyMzo1ODoyNi4zMjQ0MDUyNDZaIiwiY3JlYXRlZF9ieSI6Ii9iaW4vc2ggLWMgIyhub3ApICBFWFBPU0UgODAiLCJlbXB0eV9sYXllciI6dHJ1ZX0seyJjcmVhdGVkIjoiMjAyMy0wOC0xNVQyMzo1ODoyNi40MDUwMzY4OThaIiwiY3JlYXRlZF9ieSI6Ii9iaW4vc2ggLWMgIyhub3ApICBTVE9QU0lHTkFMIFNJR1FVSVQiLCJlbXB0eV9sYXllciI6dHJ1ZX0seyJjcmVhdGVkIjoiMjAyMy0wOC0xNVQyMzo1ODoyNi40ODAwNTE5NDlaIiwiY3JlYXRlZF9ieSI6Ii9iaW4vc2ggLWMgIyhub3ApICBDTUQgW1wibmdpbnhcIiBcIi1nXCIgXCJkYWVtb24gb2ZmO1wiXSIsImVtcHR5X2xheWVyIjp0cnVlfV0sIm9zIjoibGludXgiLCJyb290ZnMiOnsidHlwZSI6ImxheWVycyIsImRpZmZfaWRzIjpbInNoYTI1NjoxYzNkYWEwNjU3NDI4NDYxNGRiMDdhMjM2ODJhYjZkMWMzNDRmMDlmODA5M2VlMTBlNWRlNDE1MmE1MTY3N2ExIiwic2hhMjU2OmRjYjgxNmQxMzQ1ZWQ0YTQyOWRlYzYzMmMwOTMzZTJhZjg4ODdiODA4MjU5OTg1YmZjNTU1ZDE1NWQ4YzYxNWQiLCJzaGEyNTY6OGNjMGNlMjZkMzIwZjVhMzQyZWRhNTE2ZTAzYWUyYmQxZGRhYTgyODI2YjFlZWQ5NzdlM2RkNDg0OTk1YzJjMCIsInNoYTI1Njo3OGNkY2QyYmE0YmJlNjA2N2FiNTk3NmRkNGMzOGIzYTNhZDRiOGQ0MWMzODk3MmEwMzdjOWViZDQ3MzE5ODhjIiwic2hhMjU2OmRlZjE0OTExY2Y2YThlMDExYjViYThmMzk0NDFhMjIwOTcxNzBjNDMzYTQ5MDViNjBlYzY5ZTg0YTlkZjc4ZmQiLCJzaGEyNTY6M2NjYzUzNGU5NjFjYTYyNTM2ZGM4NjI5YTc1NmZhOTIxZTk4OWJhOWNjOGE1ZmNhNjE3ZDhmZjVlNDBlN2Q5MiIsInNoYTI1NjplMDA1ZjNjMDkwZTA4YmJmOWViN2RkOGEyODlmMDcxMjRjMDg1NTZjYjk1OWI4YWExN2RkNmU2Yzg4NDBlNGM3Il19LCJ2YXJpYW50IjoidjgifQ==", + "repoDigests": [ + "nginx@sha256:104c7c5c54f2685f0f46f3be607ce60da7085da3eaa5ad22d3d9f01594295e9c" + ], + "architecture": "arm64", + "os": "linux" } - }, - "status": {} -} + }, + "distro": { + "prettyName": "Debian GNU/Linux 12 (bookworm)", + "name": "Debian GNU/Linux", + "id": "debian", + "version": "12 (bookworm)", + "versionID": "12", + "versionCodename": "bookworm", + "homeURL": "https://www.debian.org/", + "supportURL": "https://www.debian.org/support", + "bugReportURL": "https://bugs.debian.org/" + }, + "descriptor": { + "name": "syft", + "version": "0.94.0", + "configuration": { + "catalogers": null, + "package": { + "cataloger": { + "enabled": true, + "scope": "Squashed" + }, + "search-unindexed-archives": false, + "search-indexed-archives": true + }, + "golang": { + "search-local-mod-cache-licenses": false, + "local-mod-cache-dir": "", + "search-remote-licenses": false, + "proxy": "", + "no-proxy": "" + }, + "linux-kernel": { + "catalog-modules": true + }, + "python": { + "guess-unpinned-requirements": false + }, + "file-metadata": { + "cataloger": { + "enabled": false, + "scope": "Squashed" + }, + "digests": [ + "sha256" + ] + }, + "file-classification": { + "cataloger": { + "enabled": false, + "scope": "Squashed" + } + }, + "file-contents": { + "cataloger": { + "enabled": false, + "scope": "Squashed" + }, + "skip-files-above-size": 1048576, + "globs": null + }, + "secrets": { + "cataloger": { + "enabled": false, + "scope": "AllLayers" + }, + "additional-patterns": null, + "exclude-pattern-names": null, + "reveal-values": false, + "skip-files-above-size": 1048576 + }, + "registry": { + "insecure-skip-tls-verify": false, + "insecure-use-http": false, + "auth": null, + "ca-cert": "" + }, + "exclude": [], + "platform": "", + "name": "", + "source": { + "name": "", + "version": "", + "file": { + "digests": [ + "sha256" + ] + } + }, + "parallelism": 1, + "default-image-pull-source": "", + "base-path": "", + "exclude-binary-overlap-by-ownership": true + } + }, + "schema": { + "version": "11.0.1", + "url": "https://raw.githubusercontent.com/anchore/syft/main/schema/json/schema-11.0.1.json" + } + } + }, + "status": {} +} \ No newline at end of file diff --git a/pkg/sbomhandler/syfthandler/syft_handler_test.go b/pkg/sbomhandler/syfthandler/syft_handler_test.go index 7f95bb68..f0a363a5 100644 --- a/pkg/sbomhandler/syfthandler/syft_handler_test.go +++ b/pkg/sbomhandler/syfthandler/syft_handler_test.go @@ -3,6 +3,7 @@ package syfthandler import ( _ "embed" "encoding/json" + "github.com/stretchr/testify/require" "node-agent/pkg/storage" "node-agent/pkg/utils" "testing" @@ -15,12 +16,15 @@ import ( //go:embed testdata/kollector-syft.json var syftKollectorSBOM []byte +//go:embed testdata/kollector-syft-filtered.json +var syftKollectorSBOMfiltered []byte + func TestFilterRelevantFilesInSBOM(t *testing.T) { tests := []struct { - name string - syftDocInBytes []byte - sbomFileRelevantMap map[string]bool - expectedSyftDoc v1beta1.SyftDocument + name string + syftDocInBytes []byte + sbomFileRelevantMap map[string]bool + expectedSyftDocInBytes []byte }{ { name: "kollector", @@ -28,18 +32,22 @@ func TestFilterRelevantFilesInSBOM(t *testing.T) { sbomFileRelevantMap: map[string]bool{ "/bin/busybox": true, }, + expectedSyftDocInBytes: syftKollectorSBOMfiltered, }, } var syftDoc v1beta1.SyftDocument + var expectedSyftDoc v1beta1.SyftDocument for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { err := json.Unmarshal(tt.syftDocInBytes, &syftDoc) - assert.NoError(t, err) + require.NoError(t, err) + err = json.Unmarshal(tt.expectedSyftDocInBytes, &expectedSyftDoc) + require.NoError(t, err) filteredSyftDoc := filterRelevantFilesInSBOM(syftDoc, tt.sbomFileRelevantMap) - assert.Equal(t, tt.expectedSyftDoc, filteredSyftDoc) + assert.Equal(t, expectedSyftDoc, filteredSyftDoc) }) } } diff --git a/pkg/sbomhandler/syfthandler/testdata/kollector-syft-filtered.json b/pkg/sbomhandler/syfthandler/testdata/kollector-syft-filtered.json new file mode 100644 index 00000000..7cd91910 --- /dev/null +++ b/pkg/sbomhandler/syfthandler/testdata/kollector-syft-filtered.json @@ -0,0 +1,208 @@ +{ + "artifacts": [ + { + "id": "a68a9d3c96b66d2e", + "name": "busybox", + "version": "1.36.1", + "type": "binary", + "foundBy": "binary-cataloger", + "locations": [ + { + "path": "/bin/busybox", + "layerID": "sha256:45cc071a8ca74fe4cd1ff622ce60aa0bf76ed8a52b68a685ea02c9e05a28142e", + "annotations": { + "evidence": "primary" + } + } + ], + "licenses": [], + "language": "", + "cpes": [ + "cpe:2.3:a:busybox:busybox:1.36.1:*:*:*:*:*:*:*", + "cpe:2.3:a:busybox:busybox:1.36.1:*:*:*:*:*:*:*" + ], + "purl": "", + "metadataType": "BinaryMetadata", + "metadata": { + "matches": [ + { + "classifier": "busybox-binary", + "location": { + "path": "/bin/busybox", + "layerID": "sha256:45cc071a8ca74fe4cd1ff622ce60aa0bf76ed8a52b68a685ea02c9e05a28142e", + "annotations": { + "evidence": "primary" + } + } + } + ] + } + } + ], + "artifactRelationships": [ + { + "parent": "a68a9d3c96b66d2e", + "child": "dad6eaf501b8c3b7", + "type": "evident-by" + } + ], + "files": [ + { + "id": "dad6eaf501b8c3b7", + "location": { + "path": "/bin/busybox", + "layerID": "sha256:45cc071a8ca74fe4cd1ff622ce60aa0bf76ed8a52b68a685ea02c9e05a28142e" + } + } + ], + "source": { + "id": "80f50aefdb8cac1f2d01a52a8af061fe7794bc81e4c7057cdd8c845c89363c8b", + "name": "quay.io/kubescape/kollector", + "version": "sha256:80f50aefdb8cac1f2d01a52a8af061fe7794bc81e4c7057cdd8c845c89363c8b", + "type": "image", + "metadata": { + "userInput": "quay.io/kubescape/kollector", + "imageID": "sha256:d684b0152010f2d59b9bbea8e26165f9c04f3cf26d475c2de74fbf95b9676bb6", + "manifestDigest": "sha256:80f50aefdb8cac1f2d01a52a8af061fe7794bc81e4c7057cdd8c845c89363c8b", + "mediaType": "application/vnd.docker.distribution.manifest.v2+json", + "tags": [], + "imageSize": 41964348, + "layers": [ + { + "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", + "digest": "sha256:abfa10bf79889cfbac83b0c8c329bf4bec8a6c5744909d36cea458722ebd503e", + "size": 1222 + }, + { + "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", + "digest": "sha256:bbfc3076813dc96de74e0036a332e8c1cacf4bd0a22dcceb56fe681e243c7a74", + "size": 0 + }, + { + "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", + "digest": "sha256:0fec16f6c6217af82ee126a5273eb1d09cd5d57ef4aa2e3675ba532598f55aaa", + "size": 40632320 + }, + { + "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", + "digest": "sha256:ba4e57ee7bfbf47bccee76e02c4a4c2d872bda035e70f02ae65b890975ebee4b", + "size": 214509 + }, + { + "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", + "digest": "sha256:45cc071a8ca74fe4cd1ff622ce60aa0bf76ed8a52b68a685ea02c9e05a28142e", + "size": 1115872 + }, + { + "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", + "digest": "sha256:ea35a7016023f3ab8dc563c594cd8ac0069174d1ce6517970b569c49ef1f0bfc", + "size": 425 + } + ], + "manifest": "ewogICJtZWRpYVR5cGUiOiAiYXBwbGljYXRpb24vdm5kLmRvY2tlci5kaXN0cmlidXRpb24ubWFuaWZlc3QudjIranNvbiIsCiAgInNjaGVtYVZlcnNpb24iOiAyLAogICJjb25maWciOiB7CiAgICAibWVkaWFUeXBlIjogImFwcGxpY2F0aW9uL3ZuZC5kb2NrZXIuY29udGFpbmVyLmltYWdlLnYxK2pzb24iLAogICAgImRpZ2VzdCI6ICJzaGEyNTY6ZDY4NGIwMTUyMDEwZjJkNTliOWJiZWE4ZTI2MTY1ZjljMDRmM2NmMjZkNDc1YzJkZTc0ZmJmOTViOTY3NmJiNiIsCiAgICAic2l6ZSI6IDIyMTEKICB9LAogICJsYXllcnMiOiBbCiAgICB7CiAgICAgICJtZWRpYVR5cGUiOiAiYXBwbGljYXRpb24vdm5kLmRvY2tlci5pbWFnZS5yb290ZnMuZGlmZi50YXIuZ3ppcCIsCiAgICAgICJkaWdlc3QiOiAic2hhMjU2OjdjZWM0NjcyODA3OTA1MDczZDdkODc3NWVkZDA5MjA2MGE4Mzc0ZDAyZjk2MTk3NWY3ZDU4OGUwZTMyYmI2ZWUiLAogICAgICAic2l6ZSI6IDU5NgogICAgfSwKICAgIHsKICAgICAgIm1lZGlhVHlwZSI6ICJhcHBsaWNhdGlvbi92bmQuZG9ja2VyLmltYWdlLnJvb3Rmcy5kaWZmLnRhci5nemlwIiwKICAgICAgImRpZ2VzdCI6ICJzaGEyNTY6ZTcyMmJhNmZjZjZlMWY0ODhjNzA4ODAxZWIwZDc2YmZlZGQ4MWNmZmQzNDIzNzQwZWQ4ZTBlMjFlMGIwZDliMiIsCiAgICAgICJzaXplIjogMTE0CiAgICB9LAogICAgewogICAgICAibWVkaWFUeXBlIjogImFwcGxpY2F0aW9uL3ZuZC5kb2NrZXIuaW1hZ2Uucm9vdGZzLmRpZmYudGFyLmd6aXAiLAogICAgICAiZGlnZXN0IjogInNoYTI1Njo1NTdlY2NmNTQ4ZjhjZjczZGU1N2MxYzI0ODYzOWViZDQwZmFiMTI5M2NkZjI3NjU2ZWUzNWVlMTc0YzE0NDAyIiwKICAgICAgInNpemUiOiAxMTg3MDE1MgogICAgfSwKICAgIHsKICAgICAgIm1lZGlhVHlwZSI6ICJhcHBsaWNhdGlvbi92bmQuZG9ja2VyLmltYWdlLnJvb3Rmcy5kaWZmLnRhci5nemlwIiwKICAgICAgImRpZ2VzdCI6ICJzaGEyNTY6Zjc5Yzg2MWI4NWUwNzNjMDQwYTE1Y2VmYjNjYjJkYWRmOWM4Yjg0YmE5MGFmYWI0Y2JlODY3NzMyYWY2NzU5ZSIsCiAgICAgICJzaXplIjogMTMxNjY5CiAgICB9LAogICAgewogICAgICAibWVkaWFUeXBlIjogImFwcGxpY2F0aW9uL3ZuZC5kb2NrZXIuaW1hZ2Uucm9vdGZzLmRpZmYudGFyLmd6aXAiLAogICAgICAiZGlnZXN0IjogInNoYTI1NjphM2Y2Y2Y1OGNjMjViMmMyYmJhZmFiZDFhOTBmYmZlYjViYjdlZmQ2NWU1MWY0YmU3ZDNlOWFiMmE0MWFlZjg1IiwKICAgICAgInNpemUiOiA2Njk3MjkKICAgIH0sCiAgICB7CiAgICAgICJtZWRpYVR5cGUiOiAiYXBwbGljYXRpb24vdm5kLmRvY2tlci5pbWFnZS5yb290ZnMuZGlmZi50YXIuZ3ppcCIsCiAgICAgICJkaWdlc3QiOiAic2hhMjU2OmJjNWNhYTE4ZjM1OGU4MDY0OTVkN2UwMzQyOTc2MGJiZTUxYmUwMzMyNTRkMTdmYmUwMzcwZGFhOTJhNzg4NmUiLAogICAgICAic2l6ZSI6IDQwOQogICAgfQogIF0KfQ==", + "config": "eyJhcmNoaXRlY3R1cmUiOiJhcm02NCIsImNvbmZpZyI6eyJVc2VyIjoia3MiLCJFbnYiOlsiUEFUSD0vdXNyL2xvY2FsL3NiaW46L3Vzci9sb2NhbC9iaW46L3Vzci9zYmluOi91c3IvYmluOi9zYmluOi9iaW4iXSwiRW50cnlwb2ludCI6WyIvYmluL2J1c3lib3giLCJzaCIsIi9ob21lL2tzL2tvbGxlY3Rvci1lbnRyeXBvaW50LnNoIl0sIldvcmtpbmdEaXIiOiIvaG9tZS9rcy8iLCJPbkJ1aWxkIjpudWxsfSwiY3JlYXRlZCI6IjIwMjMtMDctMjZUMTg6MTc6MjAuODkwMDMzMjYzWiIsImhpc3RvcnkiOlt7ImNyZWF0ZWQiOiIyMDIzLTA3LTI2VDE4OjA0OjI5LjYyMzMwNzIyOVoiLCJjcmVhdGVkX2J5IjoiQ09QWSAvZXRjL3Bhc3N3ZCAvZXRjL3Bhc3N3ZCAjIGJ1aWxka2l0IiwiY29tbWVudCI6ImJ1aWxka2l0LmRvY2tlcmZpbGUudjAifSx7ImNyZWF0ZWQiOiIyMDIzLTA3LTI2VDE4OjA0OjI5LjY0MTM2NjU1MVoiLCJjcmVhdGVkX2J5IjoiVVNFUiBrcyIsImNvbW1lbnQiOiJidWlsZGtpdC5kb2NrZXJmaWxlLnYwIiwiZW1wdHlfbGF5ZXIiOnRydWV9LHsiY3JlYXRlZCI6IjIwMjMtMDctMjZUMTg6MDQ6MjkuNjQxMzY2NTUxWiIsImNyZWF0ZWRfYnkiOiJXT1JLRElSIC9ob21lL2tzLyIsImNvbW1lbnQiOiJidWlsZGtpdC5kb2NrZXJmaWxlLnYwIn0seyJjcmVhdGVkIjoiMjAyMy0wNy0yNlQxODoxNzoyMC44MTI0ODY4NzhaIiwiY3JlYXRlZF9ieSI6IkNPUFkgL3dvcmsvYnVpbGQva29sbGVjdG9yIC91c3IvYmluL2tvbGxlY3RvciAjIGJ1aWxka2l0IiwiY29tbWVudCI6ImJ1aWxka2l0LmRvY2tlcmZpbGUudjAifSx7ImNyZWF0ZWQiOiIyMDIzLTA3LTI2VDE4OjE3OjIwLjg0NzI3ODY1NVoiLCJjcmVhdGVkX2J5IjoiQ09QWSAvZXRjL3NzbC9jZXJ0cyAvZXRjL3NzbC9jZXJ0cyAjIGJ1aWxka2l0IiwiY29tbWVudCI6ImJ1aWxka2l0LmRvY2tlcmZpbGUudjAifSx7ImNyZWF0ZWQiOiIyMDIzLTA3LTI2VDE4OjE3OjIwLjg2Mzk1NjEzMVoiLCJjcmVhdGVkX2J5IjoiQ09QWSAvYmluL2J1c3lib3guc3RhdGljIC9iaW4vYnVzeWJveCAjIGJ1aWxka2l0IiwiY29tbWVudCI6ImJ1aWxka2l0LmRvY2tlcmZpbGUudjAifSx7ImNyZWF0ZWQiOiIyMDIzLTA3LTI2VDE4OjE3OjIwLjg5MDAzMzI2M1oiLCJjcmVhdGVkX2J5IjoiQ09QWSAuL2tvbGxlY3Rvci1lbnRyeXBvaW50LnNoIC9ob21lL2tzLyAjIGJ1aWxka2l0IiwiY29tbWVudCI6ImJ1aWxka2l0LmRvY2tlcmZpbGUudjAifSx7ImNyZWF0ZWQiOiIyMDIzLTA3LTI2VDE4OjE3OjIwLjg5MDAzMzI2M1oiLCJjcmVhdGVkX2J5IjoiRU5UUllQT0lOVCBbXCIvYmluL2J1c3lib3hcIiBcInNoXCIgXCIvaG9tZS9rcy9rb2xsZWN0b3ItZW50cnlwb2ludC5zaFwiXSIsImNvbW1lbnQiOiJidWlsZGtpdC5kb2NrZXJmaWxlLnYwIiwiZW1wdHlfbGF5ZXIiOnRydWV9XSwibW9ieS5idWlsZGtpdC5idWlsZGluZm8udjEiOiJleUptY205dWRHVnVaQ0k2SW1SdlkydGxjbVpwYkdVdWRqQWlMQ0p6YjNWeVkyVnpJanBiZXlKMGVYQmxJam9pWkc5amEyVnlMV2x0WVdkbElpd2ljbVZtSWpvaVpHOWphMlZ5TG1sdkwyeHBZbkpoY25rdloyOXNZVzVuT2pFdU1qQXRZV3h3YVc1bElpd2ljR2x1SWpvaWMyaGhNalUyT2pjNE16bGpPV1l3TVdJMU5UQXlaRGRqWWpVeE9UaGlNbU13TXpJNE5UY3dNak0wTWpRME56QmlNMlV6TVdGbE5EWmhPREkyTVdabVkyRTNNamt4TW1FaWZWMTkiLCJvcyI6ImxpbnV4Iiwicm9vdGZzIjp7InR5cGUiOiJsYXllcnMiLCJkaWZmX2lkcyI6WyJzaGEyNTY6YWJmYTEwYmY3OTg4OWNmYmFjODNiMGM4YzMyOWJmNGJlYzhhNmM1NzQ0OTA5ZDM2Y2VhNDU4NzIyZWJkNTAzZSIsInNoYTI1NjpiYmZjMzA3NjgxM2RjOTZkZTc0ZTAwMzZhMzMyZThjMWNhY2Y0YmQwYTIyZGNjZWI1NmZlNjgxZTI0M2M3YTc0Iiwic2hhMjU2OjBmZWMxNmY2YzYyMTdhZjgyZWUxMjZhNTI3M2ViMWQwOWNkNWQ1N2VmNGFhMmUzNjc1YmE1MzI1OThmNTVhYWEiLCJzaGEyNTY6YmE0ZTU3ZWU3YmZiZjQ3YmNjZWU3NmUwMmM0YTRjMmQ4NzJiZGEwMzVlNzBmMDJhZTY1Yjg5MDk3NWViZWU0YiIsInNoYTI1Njo0NWNjMDcxYThjYTc0ZmU0Y2QxZmY2MjJjZTYwYWEwYmY3NmVkOGE1MmI2OGE2ODVlYTAyYzllMDVhMjgxNDJlIiwic2hhMjU2OmVhMzVhNzAxNjAyM2YzYWI4ZGM1NjNjNTk0Y2Q4YWMwMDY5MTc0ZDFjZTY1MTc5NzBiNTY5YzQ5ZWYxZjBiZmMiXX19", + "repoDigests": [ + "quay.io/kubescape/kollector@sha256:cf4cf2f8f1550f6234f57a00ef0f78f4134098de82c109a442253d013afa0df7" + ], + "architecture": "arm64", + "os": "linux" + } + }, + "distro": { + "prettyName": "BusyBox v1.36.1", + "name": "busybox", + "id": "busybox", + "idLike": [ + "busybox" + ], + "version": "1.36.1", + "versionID": "1.36.1" + }, + "descriptor": { + "name": "syft", + "version": "0.94.0", + "configuration": { + "catalogers": null, + "package": { + "cataloger": { + "enabled": true, + "scope": "Squashed" + }, + "search-unindexed-archives": false, + "search-indexed-archives": true + }, + "golang": { + "search-local-mod-cache-licenses": false, + "local-mod-cache-dir": "", + "search-remote-licenses": false, + "proxy": "", + "no-proxy": "" + }, + "linux-kernel": { + "catalog-modules": true + }, + "python": { + "guess-unpinned-requirements": false + }, + "file-metadata": { + "cataloger": { + "enabled": false, + "scope": "Squashed" + }, + "digests": [ + "sha256" + ] + }, + "file-classification": { + "cataloger": { + "enabled": false, + "scope": "Squashed" + } + }, + "file-contents": { + "cataloger": { + "enabled": false, + "scope": "Squashed" + }, + "skip-files-above-size": 1048576, + "globs": null + }, + "secrets": { + "cataloger": { + "enabled": false, + "scope": "AllLayers" + }, + "additional-patterns": null, + "exclude-pattern-names": null, + "reveal-values": false, + "skip-files-above-size": 1048576 + }, + "registry": { + "insecure-skip-tls-verify": false, + "insecure-use-http": false, + "auth": null, + "ca-cert": "" + }, + "exclude": [], + "platform": "", + "name": "", + "source": { + "name": "", + "version": "", + "file": { + "digests": [ + "sha256" + ] + } + }, + "parallelism": 1, + "default-image-pull-source": "", + "base-path": "", + "exclude-binary-overlap-by-ownership": true + } + }, + "schema": { + "version": "11.0.1", + "url": "https://raw.githubusercontent.com/anchore/syft/main/schema/json/schema-11.0.1.json" + } +} diff --git a/pkg/storage/v1/storage_test.go b/pkg/storage/v1/storage_test.go index 8cef5511..112881bd 100644 --- a/pkg/storage/v1/storage_test.go +++ b/pkg/storage/v1/storage_test.go @@ -48,7 +48,7 @@ func TestStorageNoCache_GetSBOM(t *testing.T) { createSBOM bool name string args args - want *v1beta1.SBOMSPDXv2p3 + want *v1beta1.SBOMSyft wantErr bool }{ { @@ -57,7 +57,7 @@ func TestStorageNoCache_GetSBOM(t *testing.T) { name: storage.NginxKey, }, createSBOM: true, - want: &v1beta1.SBOMSPDXv2p3{ + want: &v1beta1.SBOMSyft{ ObjectMeta: v1.ObjectMeta{ Name: storage.NginxKey, Namespace: "kubescape", @@ -76,7 +76,7 @@ func TestStorageNoCache_GetSBOM(t *testing.T) { t.Run(tt.name, func(t *testing.T) { sc, _ := CreateFakeStorageNoCache("kubescape") if tt.createSBOM { - _, _ = sc.StorageClient.SBOMSPDXv2p3s("kubescape").Create(context.Background(), tt.want, v1.CreateOptions{}) + _, _ = sc.StorageClient.SBOMSyfts("kubescape").Create(context.Background(), tt.want, v1.CreateOptions{}) } got, err := sc.GetSBOM(tt.args.name) if (err != nil) != tt.wantErr {