Repository: guacsec/guac (go)

Issue:
[bug] EOL certifier failure
**Describe the bug**
Running the EOL certifier from the command line fails with the output below. It never exits (sending a SIGTERM results in a "shutting down gracefully" message, but the process continues to run. SIGKILL works as expected. I'm not sure if that's related. I'll open a new issue if it's not)

```bash
guacone certifier eol
{"level":"info","ts":1734638930.280122,"caller":"logging/logger.go:79","msg":"Logging at info level","guac-version":"v0.12.3"}
{"level":"info","ts":1734638930.2803469,"caller":"certify/certify.go:109","msg":"Starting certifier run: 2024-12-19 20:08:50.280272 +0000 UTC","guac-version":"v0.12.3"}
{"level":"info","ts":1734638930.280405,"caller":"root_package/root_package.go:76","msg":"last-scan set to: 4 hours, last scan time set to: 2024-12-19 16:08:50.280388 +0000 UTC","guac-version":"v0.12.3"}
{"level":"error","ts":1734638960.281544,"caller":"cmd/eol.go:122","msg":"unable to ingest documents: unable to process doc: no document processor registered for type: ITE6EOL, format: JSON, document: ITE6EOL","guac-version":"v0.12.3","stacktrace":"github.com/guacsec/guac/cmd/guacone/cmd.init.func7.1\n\t/home/runner/work/guac/guac/cmd/guacone/cmd/eol.go:122"}
```

**To Reproduce**
Steps to reproduce the behavior:

1. Run `guacone collect files` on the demo data
2. Run `guacone certifier eol`

**Expected behavior**
Certifier should query endoflife.date, ingest data, and exit.

**GUAC version**
v0.12.3

**Additional context**
I tried both with and without the certifier running as part of the compose file. There was no difference.

The OSV and Clearly Defined certifiers work as expected.


Pull request:
Add EOL processor so the certifier will run
# Description of the PR

Fixes #2392 

The certifier runs, but it's not clear that it actually creates EOL records, so there may be more work needed:

```bash
{"level":"info","ts":1734644073.8196108,"caller":"logging/logger.go:79","msg":"Logging at info level","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644073.819721,"caller":"cli/init.go:65","msg":"Using config file: /Users/bcotton/guacsec/guac/guac.yaml","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644073.819968,"caller":"certify/certify.go:109","msg":"Starting certifier run: 2024-12-19 21:34:33.819871 +0000 UTC","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644073.820145,"caller":"root_package/root_package.go:76","msg":"last-scan set to: 4 hours, last scan time set to: 2024-12-19 17:34:33.82011 +0000 UTC","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644104.032643,"caller":"helpers/bulk.go:47","msg":"assembling Package: 298","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644104.0532742,"caller":"helpers/bulk.go:63","msg":"assembling Source: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644104.054917,"caller":"helpers/bulk.go:73","msg":"assembling Artifact: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644104.055767,"caller":"helpers/bulk.go:88","msg":"assembling Materials (Artifact): 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644104.056044,"caller":"helpers/bulk.go:97","msg":"assembling Builder: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644104.056617,"caller":"helpers/bulk.go:106","msg":"assembling Vulnerability: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644104.05739,"caller":"helpers/bulk.go:115","msg":"assembling Licenses: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644104.0576808,"caller":"helpers/bulk.go:122","msg":"assembling CertifyScorecard: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644104.057701,"caller":"helpers/bulk.go:128","msg":"assembling IsDependency: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644104.057705,"caller":"helpers/bulk.go:137","msg":"assembling IsOccurrence: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644104.057718,"caller":"helpers/bulk.go:146","msg":"assembling HasSLSA: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644104.0577211,"caller":"helpers/bulk.go:152","msg":"assembling CertifyVuln: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644104.057724,"caller":"helpers/bulk.go:158","msg":"assembling VulnMetadata: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644104.0577269,"caller":"helpers/bulk.go:164","msg":"assembling VulnEqual: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644104.05773,"caller":"helpers/bulk.go:170","msg":"assembling HasSourceAt: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644104.057733,"caller":"helpers/bulk.go:176","msg":"assembling CertifyBad: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644104.057736,"caller":"helpers/bulk.go:182","msg":"assembling CertifyGood: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644104.057739,"caller":"helpers/bulk.go:188","msg":"assembling PointOfContact: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644104.057742,"caller":"helpers/bulk.go:194","msg":"assembling HasMetadata: 298","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644104.081208,"caller":"helpers/bulk.go:200","msg":"assembling HasSBOM: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644104.081228,"caller":"helpers/bulk.go:211","msg":"assembling VEX : 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644104.0812318,"caller":"helpers/bulk.go:217","msg":"assembling HashEqual : 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644104.081235,"caller":"helpers/bulk.go:223","msg":"assembling PkgEqual : 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644104.081238,"caller":"helpers/bulk.go:229","msg":"assembling CertifyLegal : 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644104.081245,"caller":"ingestor/ingestor.go:161","msg":"[260.634042ms] completed docs 298","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644134.101032,"caller":"helpers/bulk.go:47","msg":"assembling Package: 302","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644134.112735,"caller":"helpers/bulk.go:63","msg":"assembling Source: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644134.1154518,"caller":"helpers/bulk.go:73","msg":"assembling Artifact: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644134.115872,"caller":"helpers/bulk.go:88","msg":"assembling Materials (Artifact): 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644134.116278,"caller":"helpers/bulk.go:97","msg":"assembling Builder: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644134.1167722,"caller":"helpers/bulk.go:106","msg":"assembling Vulnerability: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644134.117099,"caller":"helpers/bulk.go:115","msg":"assembling Licenses: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644134.117434,"caller":"helpers/bulk.go:122","msg":"assembling CertifyScorecard: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644134.117441,"caller":"helpers/bulk.go:128","msg":"assembling IsDependency: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644134.117444,"caller":"helpers/bulk.go:137","msg":"assembling IsOccurrence: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644134.1174479,"caller":"helpers/bulk.go:146","msg":"assembling HasSLSA: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644134.1174521,"caller":"helpers/bulk.go:152","msg":"assembling CertifyVuln: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644134.117455,"caller":"helpers/bulk.go:158","msg":"assembling VulnMetadata: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644134.1174579,"caller":"helpers/bulk.go:164","msg":"assembling VulnEqual: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644134.117462,"caller":"helpers/bulk.go:170","msg":"assembling HasSourceAt: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644134.117465,"caller":"helpers/bulk.go:176","msg":"assembling CertifyBad: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644134.1174688,"caller":"helpers/bulk.go:182","msg":"assembling CertifyGood: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644134.117472,"caller":"helpers/bulk.go:188","msg":"assembling PointOfContact: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644134.117476,"caller":"helpers/bulk.go:194","msg":"assembling HasMetadata: 302","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644134.132092,"caller":"helpers/bulk.go:200","msg":"assembling HasSBOM: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644134.132108,"caller":"helpers/bulk.go:211","msg":"assembling VEX : 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644134.1321118,"caller":"helpers/bulk.go:217","msg":"assembling HashEqual : 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644134.132116,"caller":"helpers/bulk.go:223","msg":"assembling PkgEqual : 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644134.1321201,"caller":"helpers/bulk.go:229","msg":"assembling CertifyLegal : 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644134.1321259,"caller":"ingestor/ingestor.go:161","msg":"[49.830792ms] completed docs 302","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644142.679137,"caller":"certify/certify.go:114","msg":"Certifier run completed: 2024-12-19 21:35:42.679123 +0000 UTC","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644142.679241,"caller":"cmd/eol.go:202","msg":"All certifiers completed","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644142.6943848,"caller":"helpers/bulk.go:47","msg":"assembling Package: 86","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644142.7015822,"caller":"helpers/bulk.go:63","msg":"assembling Source: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644142.7022212,"caller":"helpers/bulk.go:73","msg":"assembling Artifact: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644142.702743,"caller":"helpers/bulk.go:88","msg":"assembling Materials (Artifact): 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644142.7032151,"caller":"helpers/bulk.go:97","msg":"assembling Builder: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644142.7037299,"caller":"helpers/bulk.go:106","msg":"assembling Vulnerability: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644142.7042181,"caller":"helpers/bulk.go:115","msg":"assembling Licenses: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644142.704639,"caller":"helpers/bulk.go:122","msg":"assembling CertifyScorecard: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644142.704651,"caller":"helpers/bulk.go:128","msg":"assembling IsDependency: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644142.704656,"caller":"helpers/bulk.go:137","msg":"assembling IsOccurrence: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644142.704661,"caller":"helpers/bulk.go:146","msg":"assembling HasSLSA: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644142.7046669,"caller":"helpers/bulk.go:152","msg":"assembling CertifyVuln: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644142.704671,"caller":"helpers/bulk.go:158","msg":"assembling VulnMetadata: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644142.7046762,"caller":"helpers/bulk.go:164","msg":"assembling VulnEqual: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644142.704681,"caller":"helpers/bulk.go:170","msg":"assembling HasSourceAt: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644142.7046862,"caller":"helpers/bulk.go:176","msg":"assembling CertifyBad: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644142.704691,"caller":"helpers/bulk.go:182","msg":"assembling CertifyGood: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644142.7046971,"caller":"helpers/bulk.go:188","msg":"assembling PointOfContact: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644142.704703,"caller":"helpers/bulk.go:194","msg":"assembling HasMetadata: 86","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644142.71112,"caller":"helpers/bulk.go:200","msg":"assembling HasSBOM: 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644142.7111309,"caller":"helpers/bulk.go:211","msg":"assembling VEX : 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644142.711136,"caller":"helpers/bulk.go:217","msg":"assembling HashEqual : 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644142.711141,"caller":"helpers/bulk.go:223","msg":"assembling PkgEqual : 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644142.7111459,"caller":"helpers/bulk.go:229","msg":"assembling CertifyLegal : 0","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644142.711155,"caller":"ingestor/ingestor.go:161","msg":"[31.795208ms] completed docs 86","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
{"level":"info","ts":1734644142.7111669,"caller":"cmd/eol.go:211","msg":"completed ingesting 686 documents","guac-version":"v0.12.3-1-g279cf5b8-dirty"}
```

# PR Checklist

- [x] All commits have [a Developer Certificate of Origin (DCO)](https://wiki.linuxfoundation.org/dco) -- they are generated using `-s` flag to `git commit`.
- [ ] All new changes are covered by tests
- [ ] If GraphQL schema is changed, `make generate` has been run
- [ ] If GraphQL schema is changed, GraphQL client updates/additions have been made
- [ ] If OpenAPI spec is changed, `make generate` has been run
- [ ] If ent schema is changed, `make generate` has been run
- [ ] If `collectsub` protobuf has been changed, `make proto` has been run
- [ ] All CI checks are passing (tests and formatting)
- [ ] All dependent PRs have already been merged


Patch:
diff --git a/go.mod b/go.mod
index ba9a9456..21a43cd3 100644
--- a/go.mod
+++ b/go.mod
@@ -12,7 +12,7 @@ require (
 	github.com/secure-systems-lab/go-securesystemslib v0.9.0
 	github.com/spf13/cobra v1.8.1
 	go.uber.org/zap v1.27.0
-	google.golang.org/api v0.212.0
+	google.golang.org/api v0.214.0
 )
 
 require (
@@ -35,7 +35,7 @@ require (
 	go.opencensus.io v0.24.0 // indirect
 	go.uber.org/multierr v1.11.0 // indirect
 	golang.org/x/crypto v0.31.0 // indirect
-	golang.org/x/net v0.32.0 // indirect
+	golang.org/x/net v0.33.0 // indirect
 	golang.org/x/oauth2 v0.24.0
 	golang.org/x/sync v0.10.0 // indirect
 	golang.org/x/sys v0.28.0 // indirect
@@ -43,7 +43,7 @@ require (
 	golang.org/x/xerrors v0.0.0-20240716161551-93cc26a95ae9 // indirect
 	google.golang.org/genproto v0.0.0-20241118233622-e639e219e697 // indirect
 	google.golang.org/grpc v1.68.1
-	google.golang.org/protobuf v1.35.2
+	google.golang.org/protobuf v1.36.1
 )
 
 require (
@@ -88,8 +88,8 @@ require (
 	github.com/aws/aws-sdk-go-v2/credentials v1.17.47 // indirect
 	github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.21 // indirect
 	github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.10 // indirect
-	github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.25 // indirect
-	github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.25 // indirect
+	github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.26 // indirect
+	github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.26 // indirect
 	github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 // indirect
 	github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.25 // indirect
 	github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1 // indirect
@@ -200,7 +200,7 @@ require (
 	github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 // indirect
 	github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
 	github.com/nats-io/jwt/v2 v2.5.8 // indirect
-	github.com/nats-io/nkeys v0.4.7 // indirect
+	github.com/nats-io/nkeys v0.4.9 // indirect
 	github.com/nats-io/nuid v1.0.1 // indirect
 	github.com/olekukonko/tablewriter v0.0.5 // indirect
 	github.com/onsi/ginkgo/v2 v2.13.1 // indirect
@@ -278,7 +278,7 @@ require (
 	golang.org/x/tools v0.26.0 // indirect
 	golang.org/x/vuln v1.0.4 // indirect
 	google.golang.org/genproto/googleapis/api v0.0.0-20241113202542-65e8d215514f // indirect
-	google.golang.org/genproto/googleapis/rpc v0.0.0-20241206012308-a4fef0638583 // indirect
+	google.golang.org/genproto/googleapis/rpc v0.0.0-20241209162323-e6fa225c2576 // indirect
 	google.golang.org/grpc/stats/opentelemetry v0.0.0-20240907200651-3ffb98b2c93a // indirect
 	gopkg.in/ini.v1 v1.67.0 // indirect
 	gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect
@@ -300,10 +300,10 @@ require (
 	github.com/ProtonMail/gluon v0.17.0
 	github.com/arangodb/go-driver v1.6.4
 	github.com/aws/aws-sdk-go v1.55.5
-	github.com/aws/aws-sdk-go-v2 v1.32.6
+	github.com/aws/aws-sdk-go-v2 v1.32.7
 	github.com/aws/aws-sdk-go-v2/config v1.28.6
 	github.com/aws/aws-sdk-go-v2/service/s3 v1.70.0
-	github.com/aws/aws-sdk-go-v2/service/sqs v1.36.1
+	github.com/aws/aws-sdk-go-v2/service/sqs v1.37.3
 	github.com/cdevents/sdk-go v0.4.1
 	github.com/cloudevents/sdk-go/v2 v2.15.2
 	github.com/fsnotify/fsnotify v1.8.0
@@ -326,7 +326,7 @@ require (
 	github.com/manifoldco/promptui v0.9.0
 	github.com/mitchellh/go-homedir v1.1.0
 	github.com/nats-io/nats-server/v2 v2.10.22
-	github.com/nats-io/nats.go v1.37.0
+	github.com/nats-io/nats.go v1.38.0
 	github.com/oapi-codegen/oapi-codegen/v2 v2.4.1
 	github.com/oapi-codegen/runtime v1.1.1
 	github.com/opencontainers/go-digest v1.0.0
@@ -338,7 +338,7 @@ require (
 	github.com/pkg/errors v0.9.1
 	github.com/prometheus/client_golang v1.20.5
 	github.com/redis/go-redis/v9 v9.6.1
-	github.com/regclient/regclient v0.7.2
+	github.com/regclient/regclient v0.8.0
 	github.com/segmentio/kafka-go v0.4.47
 	github.com/segmentio/ksuid v1.0.4
 	github.com/sigstore/sigstore v1.8.10
@@ -346,7 +346,7 @@ require (
 	github.com/spf13/viper v1.19.0
 	github.com/stretchr/testify v1.10.0
 	github.com/tikv/client-go/v2 v2.0.8-0.20231115083414-7c96dfd783fb
-	github.com/vektah/gqlparser/v2 v2.5.20
+	github.com/vektah/gqlparser/v2 v2.5.21
 	go.uber.org/mock v0.5.0
 	go.uber.org/ratelimit v0.3.1
 	gocloud.dev v0.40.0
diff --git a/go.sum b/go.sum
index 06c92225..c5c82640 100644
--- a/go.sum
+++ b/go.sum
@@ -138,8 +138,8 @@ github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPd
 github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
 github.com/aws/aws-sdk-go v1.55.5 h1:KKUZBfBoyqy5d3swXyiC7Q76ic40rYcbqH7qjh59kzU=
 github.com/aws/aws-sdk-go v1.55.5/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU=
-github.com/aws/aws-sdk-go-v2 v1.32.6 h1:7BokKRgRPuGmKkFMhEg/jSul+tB9VvXhcViILtfG8b4=
-github.com/aws/aws-sdk-go-v2 v1.32.6/go.mod h1:P5WJBrYqqbWVaOxgH0X/FYYD47/nooaPOZPlQdmiN2U=
+github.com/aws/aws-sdk-go-v2 v1.32.7 h1:ky5o35oENWi0JYWUZkB7WYvVPP+bcRF5/Iq7JWSb5Rw=
+github.com/aws/aws-sdk-go-v2 v1.32.7/go.mod h1:P5WJBrYqqbWVaOxgH0X/FYYD47/nooaPOZPlQdmiN2U=
 github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.7 h1:lL7IfaFzngfx0ZwUGOZdsFFnQ5uLvR0hWqqhyE7Q9M8=
 github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.7/go.mod h1:QraP0UcVlQJsmHfioCrveWOC1nbiWUl3ej08h4mXWoc=
 github.com/aws/aws-sdk-go-v2/config v1.28.6 h1:D89IKtGrs/I3QXOLNTH93NJYtDhm8SYa9Q5CsPShmyo=
@@ -150,10 +150,10 @@ github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.21 h1:AmoU1pziydclFT/xRV+xXE
 github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.21/go.mod h1:AjUdLYe4Tgs6kpH4Bv7uMZo7pottoyHMn4eTcIcneaY=
 github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.10 h1:zeN9UtUlA6FTx0vFSayxSX32HDw73Yb6Hh2izDSFxXY=
 github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.10/go.mod h1:3HKuexPDcwLWPaqpW2UR/9n8N/u/3CKcGAzSs8p8u8g=
-github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.25 h1:s/fF4+yDQDoElYhfIVvSNyeCydfbuTKzhxSXDXCPasU=
-github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.25/go.mod h1:IgPfDv5jqFIzQSNbUEMoitNooSMXjRSDkhXv8jiROvU=
-github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.25 h1:ZntTCl5EsYnhN/IygQEUugpdwbhdkom9uHcbCftiGgA=
-github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.25/go.mod h1:DBdPrgeocww+CSl1C8cEV8PN1mHMBhuCDLpXezyvWkE=
+github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.26 h1:I/5wmGMffY4happ8NOCuIUEWGUvvFp5NSeQcXl9RHcI=
+github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.26/go.mod h1:FR8f4turZtNy6baO0KJ5FJUmXH/cSkI9fOngs0yl6mA=
+github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.26 h1:zXFLuEuMMUOvEARXFUVJdfqZ4bvvSgdGRq/ATcrQxzM=
+github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.26/go.mod h1:3o2Wpy0bogG1kyOPrgkXA8pgIfEEv0+m19O9D5+W8y8=
 github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 h1:VaRN3TlFdd6KxX1x3ILT5ynH6HvKgqdiXoTxAF4HQcQ=
 github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1/go.mod h1:FbtygfRFze9usAadmnGJNc8KsP346kEe+y2/oyhGAGc=
 github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.25 h1:r67ps7oHCYnflpgDy2LZU0MAQtQbYIOqNNnqGO6xQkE=
@@ -170,8 +170,8 @@ github.com/aws/aws-sdk-go-v2/service/s3 v1.70.0 h1:HrHFR8RoS4l4EvodRMFcJMYQ8o3Uh
 github.com/aws/aws-sdk-go-v2/service/s3 v1.70.0/go.mod h1:sT/iQz8JK3u/5gZkT+Hmr7GzVZehUMkRZpOaAwYXeGY=
 github.com/aws/aws-sdk-go-v2/service/sns v1.31.3 h1:eSTEdxkfle2G98FE+Xl3db/XAXXVTJPNQo9K/Ar8oAI=
 github.com/aws/aws-sdk-go-v2/service/sns v1.31.3/go.mod h1:1dn0delSO3J69THuty5iwP0US2Glt0mx2qBBlI13pvw=
-github.com/aws/aws-sdk-go-v2/service/sqs v1.36.1 h1:8VpPO5IYvP7ODERfS59E8R+aZixH07EMb4MVENl7WUo=
-github.com/aws/aws-sdk-go-v2/service/sqs v1.36.1/go.mod h1:FPCleXfdVS/8g4dT8ZRWGQ8hn9xrqJzqtEw6iS2rWp4=
+github.com/aws/aws-sdk-go-v2/service/sqs v1.37.3 h1:94lmK3kN/iRSHrvWt+JujIqjVE53v0wrQ1lbPTmg6gM=
+github.com/aws/aws-sdk-go-v2/service/sqs v1.37.3/go.mod h1:171mrsbgz6DahPMnLJzQiH3bXXrdsWhpE9USZiM19Lk=
 github.com/aws/aws-sdk-go-v2/service/sso v1.24.7 h1:rLnYAfXQ3YAccocshIH5mzNNwZBkBo+bP6EhIxak6Hw=
 github.com/aws/aws-sdk-go-v2/service/sso v1.24.7/go.mod h1:ZHtuQJ6t9A/+YDuxOLnbryAmITtr8UysSny3qcyvJTc=
 github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.6 h1:JnhTZR3PiYDNKlXy50/pNeix9aGMo6lLpXwJ1mw8MD4=
@@ -607,10 +607,10 @@ github.com/nats-io/jwt/v2 v2.5.8 h1:uvdSzwWiEGWGXf+0Q+70qv6AQdvcvxrv9hPM0RiPamE=
 github.com/nats-io/jwt/v2 v2.5.8/go.mod h1:ZdWS1nZa6WMZfFwwgpEaqBV8EPGVgOTDHN/wTbz0Y5A=
 github.com/nats-io/nats-server/v2 v2.10.22 h1:Yt63BGu2c3DdMoBZNcR6pjGQwk/asrKU7VX846ibxDA=
 github.com/nats-io/nats-server/v2 v2.10.22/go.mod h1:X/m1ye9NYansUXYFrbcDwUi/blHkrgHh2rgCJaakonk=
-github.com/nats-io/nats.go v1.37.0 h1:07rauXbVnnJvv1gfIyghFEo6lUcYRY0WXc3x7x0vUxE=
-github.com/nats-io/nats.go v1.37.0/go.mod h1:Ubdu4Nh9exXdSz0RVWRFBbRfrbSxOYd26oF0wkWclB8=
-github.com/nats-io/nkeys v0.4.7 h1:RwNJbbIdYCoClSDNY7QVKZlyb/wfT6ugvFCiKy6vDvI=
-github.com/nats-io/nkeys v0.4.7/go.mod h1:kqXRgRDPlGy7nGaEDMuYzmiJCIAAWDK0IMBtDmGD0nc=
+github.com/nats-io/nats.go v1.38.0 h1:A7P+g7Wjp4/NWqDOOP/K6hfhr54DvdDQUznt5JFg9XA=
+github.com/nats-io/nats.go v1.38.0/go.mod h1:IGUM++TwokGnXPs82/wCuiHS02/aKrdYUQkU8If6yjw=
+github.com/nats-io/nkeys v0.4.9 h1:qe9Faq2Gxwi6RZnZMXfmGMZkg3afLLOtrU+gDZJ35b0=
+github.com/nats-io/nkeys v0.4.9/go.mod h1:jcMqs+FLG+W5YO36OX6wFIFcmpdAns+w1Wm6D3I/evE=
 github.com/nats-io/nuid v1.0.1 h1:5iA8DT8V7q8WK2EScv2padNa/rTESc1KdnPw4TC2paw=
 github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c=
 github.com/neo4j/neo4j-go-driver/v4 v4.4.7 h1:6D0DPI7VOVF6zB8eubY1lav7RI7dZ2mytnr3fj369Ow=
@@ -712,8 +712,8 @@ github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5X
 github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=
 github.com/redis/go-redis/v9 v9.6.1 h1:HHDteefn6ZkTtY5fGUE8tj8uy85AHk6zP7CpzIAM0y4=
 github.com/redis/go-redis/v9 v9.6.1/go.mod h1:0C0c6ycQsdpVNQpxb1njEQIqkx5UcsM8FJCQLgE9+RA=
-github.com/regclient/regclient v0.7.2 h1:vcldDAwBMLtighYVMeb6qNt5+0hKg3AN2IkCc0JIJNM=
-github.com/regclient/regclient v0.7.2/go.mod h1:QlA7W9/pvmbblOXM4d49JgfuOTwVXcUMKt3bFuOSVIQ=
+github.com/regclient/regclient v0.8.0 h1:xNAMDlADcyMvFAlGXoqDOxlSUBG4mqWBFgjQqVTP8Og=
+github.com/regclient/regclient v0.8.0/go.mod h1:h9+Y6dBvqBkdlrj6EIhbTOv0xUuIFl7CdI1bZvEB42g=
 github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 h1:OdAsTTz6OkFY5QxjkYwrChwuRruF69c169dPK26NUlk=
 github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
 github.com/rhysd/actionlint v1.6.26 h1:zi7jPZf3Ks14gCXYAAL47uBziyFlX7+Xwilqhexct9g=
@@ -835,8 +835,8 @@ github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6Kllzaw
 github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
 github.com/vbatts/tar-split v0.11.5 h1:3bHCTIheBm1qFTcgh9oPu+nNBtX+XJIupG/vacinCts=
 github.com/vbatts/tar-split v0.11.5/go.mod h1:yZbwRsSeGjusneWgA781EKej9HF8vme8okylkAeNKLk=
-github.com/vektah/gqlparser/v2 v2.5.20 h1:kPaWbhBntxoZPaNdBaIPT1Kh0i1b/onb5kXgEdP5JCo=
-github.com/vektah/gqlparser/v2 v2.5.20/go.mod h1:xMl+ta8a5M1Yo1A1Iwt/k7gSpscwSnHZdw7tfhEGfTM=
+github.com/vektah/gqlparser/v2 v2.5.21 h1:Zw1rG2dr1pRR4wqwbVq4d6+xk2f4ut/yo+hwr4QjE08=
+github.com/vektah/gqlparser/v2 v2.5.21/go.mod h1:xMl+ta8a5M1Yo1A1Iwt/k7gSpscwSnHZdw7tfhEGfTM=
 github.com/vmihailenco/msgpack/v4 v4.3.12/go.mod h1:gborTTJjAo/GWTqqRjrLCn9pgNN+NXzzngzBKDPIqw4=
 github.com/vmihailenco/msgpack/v5 v5.3.5 h1:5gO0H1iULLWGhs2H5tbAHIZTV8/cYafcFOr9znI5mJU=
 github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc=
@@ -980,8 +980,8 @@ golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
 golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk=
 golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
 golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY=
-golang.org/x/net v0.32.0 h1:ZqPmj8Kzc+Y6e0+skZsuACbx+wzMgo5MQsJh9Qd6aYI=
-golang.org/x/net v0.32.0/go.mod h1:CwU0IoeOlnQQWJ6ioyFrfRuomB8GKF6KbYXZVyeXNfs=
+golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I=
+golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4=
 golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
 golang.org/x/oauth2 v0.24.0 h1:KTBBxWqUa0ykRPLtV69rRto9TLXcqYkeswu48x/gvNE=
 golang.org/x/oauth2 v0.24.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
@@ -1092,8 +1092,8 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T
 golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20240716161551-93cc26a95ae9 h1:LLhsEBxRTBLuKlQxFBYUOU8xyFgXv6cOTp2HASDlsDk=
 golang.org/x/xerrors v0.0.0-20240716161551-93cc26a95ae9/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90=
-google.golang.org/api v0.212.0 h1:BcRj3MJfHF3FYD29rk7u9kuu1SyfGqfHcA0hSwKqkHg=
-google.golang.org/api v0.212.0/go.mod h1:gICpLlpp12/E8mycRMzgy3SQ9cFh2XnVJ6vJi/kQbvI=
+google.golang.org/api v0.214.0 h1:h2Gkq07OYi6kusGOaT/9rnNljuXmqPnaig7WGPmKbwA=
+google.golang.org/api v0.214.0/go.mod h1:bYPpLG8AyeMWwDU6NXoB00xC0DFkikVvd5MfwoxjLqE=
 google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
 google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
 google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
@@ -1105,8 +1105,8 @@ google.golang.org/genproto v0.0.0-20241118233622-e639e219e697 h1:ToEetK57OidYuqD
 google.golang.org/genproto v0.0.0-20241118233622-e639e219e697/go.mod h1:JJrvXBWRZaFMxBufik1a4RpFw4HhgVtBBWQeQgUj2cc=
 google.golang.org/genproto/googleapis/api v0.0.0-20241113202542-65e8d215514f h1:M65LEviCfuZTfrfzwwEoxVtgvfkFkBUbFnRbxCXuXhU=
 google.golang.org/genproto/googleapis/api v0.0.0-20241113202542-65e8d215514f/go.mod h1:Yo94eF2nj7igQt+TiJ49KxjIH8ndLYPZMIRSiRcEbg0=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20241206012308-a4fef0638583 h1:IfdSdTcLFy4lqUQrQJLkLt1PB+AsqVz6lwkWPzWEz10=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20241206012308-a4fef0638583/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20241209162323-e6fa225c2576 h1:8ZmaLZE4XWrtU3MyClkYqqtl6Oegr3235h7jxsDyqCY=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20241209162323-e6fa225c2576/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU=
 google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
 google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
 google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
@@ -1129,8 +1129,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.35.2 h1:8Ar7bF+apOIoThw1EdZl0p1oWvMqTHmpA2fRTyZO8io=
-google.golang.org/protobuf v1.35.2/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
+google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk=
+google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
 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=
 gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
diff --git a/internal/client/depsdevclient/deps_dev_client.go b/internal/client/depsdevclient/deps_dev_client.go
index 2c21223f..1073e482 100644
--- a/internal/client/depsdevclient/deps_dev_client.go
+++ b/internal/client/depsdevclient/deps_dev_client.go
@@ -315,13 +315,19 @@ func (d *DepsClient) RetrieveDependencies(ctx context.Context, purls []string) e
 // GetDependencies gets the information about dependencies for a PURL. This should be called after a
 // call to RetrieveDependencies.
 func (d *DepsClient) GetDependencies(ctx context.Context, purls []string) ([]*PackageComponent, error) {
+	logger := logging.FromContext(ctx)
 	var pcs []*PackageComponent
 	for _, purl := range purls {
 		pc, err := d.getDependenciesForPurl(ctx, purl)
+		// log the error message if getDependenciesForPurl are not found but continue forward
+		// this is to because there will be packages that deps.dev does not know about thus,
+		// we will skip those and move forward.
 		if err != nil {
-			return nil, fmt.Errorf("failed to getDependencies for purl %v, with err: %w", purl, err)
+			logger.Debugf("failed to getDependenciesForPurl with error: %v", err)
+		}
+		if pc != nil {
+			pcs = append(pcs, pc)
 		}
-		pcs = append(pcs, pc)
 	}
 	return pcs, nil
 }
@@ -334,51 +340,46 @@ func (d *DepsClient) getDependenciesForPurl(ctx context.Context, purl string) (*
 
 	packageInput, err := helpers.PurlToPkg(purl)
 	if err != nil {
-		logger.Infof("failed to parse purl to pkg: %s", purl)
-		return nil, fmt.Errorf("failed to parse purl to pkg: %w", err)
+		return nil, fmt.Errorf("failed to parse purl to pkg: %s", purl)
 	}
 
 	// skip all type guac as they are generated by guac and will not be found in deps.dev
 	if packageInput.Type == "guac" {
-		logger.Debugf("guac purl, skipping deps.dev query: %s", purl)
-		return nil, nil
+		return nil, fmt.Errorf("guac purl, skipping deps.dev query: %s", purl)
 	}
 
 	// if version is not specified, cannot obtain accurate information from deps.dev. Log as info and skip the purl.
 	if *packageInput.Version == "" {
-		logger.Infof("purl does not contain version, skipping deps.dev query: %s", purl)
-		return nil, nil
+		return nil, fmt.Errorf("purl does not contain version, skipping deps.dev query: %s", purl)
 	}
 
 	component.CurrentPackage = packageInput
 
-	err = d.collectAdditionalMetadata(ctx, packageInput.Type, packageInput.Namespace, packageInput.Name, packageInput.Version, component)
-	if err != nil {
-		logger.Debugf("failed to get additional metadata for package: %s, err: %v", purl, err)
+	if err := d.collectAdditionalMetadata(ctx, packageInput.Type, packageInput.Namespace, packageInput.Name, packageInput.Version, component); err != nil {
+		return nil, fmt.Errorf("failed to get additional metadata for package: %s, err: %w", purl, err)
 	}
 
 	// Make an RPC Request. The returned result is a stream of
 	// DependenciesResponse structs.
 	versionKey, err := getVersionKey(packageInput.Type, packageInput.Namespace, packageInput.Name, packageInput.Version)
 	if err != nil {
-		logger.Infof("failed to getVersionKey with the following error: %v", err)
-		return nil, err
+		return nil, fmt.Errorf("failed to getVersionKey with the following error: %w", err)
 	}
 
 	dependenciesReq := &pb.GetDependenciesRequest{
 		VersionKey: versionKey,
 	}
 	var deps *pb.Dependencies
+	var clientDepsErr error
 	if _, ok := d.dependencies[versionKey.String()]; ok {
 		deps = d.dependencies[versionKey.String()]
 	} else {
 		logger.Debugf("The version key was not found in the map: %v", versionKey)
-		deps, err = d.client.GetDependencies(ctx, dependenciesReq)
-		if err != nil {
-			logger.Debugf("failed to get dependencies: %v", err)
-			return nil, err
+		deps, clientDepsErr = d.client.GetDependencies(ctx, dependenciesReq)
+		if clientDepsErr != nil {
+			return nil, fmt.Errorf("failed to get dependencies: %w", clientDepsErr)
 		}
-		logger.Infof("Retrieved dependencies for %s", purl)
+		logger.Debugf("Retrieved dependencies for %s", purl)
 		d.dependencies[versionKey.String()] = deps
 	}
 
@@ -405,7 +406,7 @@ func (d *DepsClient) getDependenciesForPurl(ctx context.Context, purl string) (*
 		depPurl := "pkg:" + pkgtype + "/" + node.VersionKey.Name + "@" + node.VersionKey.Version
 		depPackageInput, err := helpers.PurlToPkg(depPurl)
 		if err != nil {
-			logger.Infof("unable to parse purl: %v, error: %v", depPurl, err)
+			logger.Debugf("unable to parse purl: %v, error: %v", depPurl, err)
 			continue
 		}
 		// check if dependent package purl has already been queried. If found, append to the list of dependent packages for top level package
@@ -418,8 +419,8 @@ func (d *DepsClient) getDependenciesForPurl(ctx context.Context, purl string) (*
 			continue
 		}
 		depComponent.CurrentPackage = depPackageInput
-		err = d.collectAdditionalMetadata(ctx, depPackageInput.Type, depPackageInput.Namespace, depPackageInput.Name, depPackageInput.Version, depComponent)
-		if err != nil {
+		if err := d.collectAdditionalMetadata(ctx, depPackageInput.Type, depPackageInput.Namespace, depPackageInput.Name, depPackageInput.Version, depComponent); err != nil {
+			// if additional metadata is not found (not found in deps.dev) log the error and move forward
 			logger.Debugf("failed to get additional metadata for package: %s, err: %v", depPurl, err)
 		}
 		dependencyNodes = append(dependencyNodes, depComponent)
diff --git a/pkg/assembler/backends/ent/migrate/Dockerfile b/pkg/assembler/backends/ent/migrate/Dockerfile
index 9112f36c..96717f61 100644
--- a/pkg/assembler/backends/ent/migrate/Dockerfile
+++ b/pkg/assembler/backends/ent/migrate/Dockerfile
@@ -1,4 +1,4 @@
-FROM arigaio/atlas:latest-alpine@sha256:a491fa7377b987c3e9675763af52c541abf8cb81dc95a78676d69db83ac47a54
+FROM arigaio/atlas:latest-alpine@sha256:9bb6dfcbc6dedd0393ce5f9fcb71662876cc6860ea896eb0b986da41202bd7a3
 
 WORKDIR /app
 
diff --git a/pkg/handler/processor/ite6/ite6.go b/pkg/handler/processor/ite6/ite6.go
index 0c707c67..555c6c7b 100644
--- a/pkg/handler/processor/ite6/ite6.go
+++ b/pkg/handler/processor/ite6/ite6.go
@@ -34,7 +34,8 @@ func (e *ITE6Processor) ValidateSchema(i *processor.Document) error {
 	if i.Type != processor.DocumentITE6Generic &&
 		i.Type != processor.DocumentITE6SLSA &&
 		i.Type != processor.DocumentITE6Vul &&
-		i.Type != processor.DocumentITE6ClearlyDefined {
+		i.Type != processor.DocumentITE6ClearlyDefined &&
+		i.Type != processor.DocumentITE6EOL {
 		return fmt.Errorf("expected ITE6 document type, actual document type: %v", i.Type)
 	}
 
diff --git a/pkg/handler/processor/process/process.go b/pkg/handler/processor/process/process.go
index f4f26b5e..499f0c86 100644
--- a/pkg/handler/processor/process/process.go
+++ b/pkg/handler/processor/process/process.go
@@ -59,6 +59,7 @@ func init() {
 	_ = RegisterDocumentProcessor(&ite6.ITE6Processor{}, processor.DocumentITE6SLSA)
 	_ = RegisterDocumentProcessor(&ite6.ITE6Processor{}, processor.DocumentITE6Vul)
 	_ = RegisterDocumentProcessor(&ite6.ITE6Processor{}, processor.DocumentITE6ClearlyDefined)
+	_ = RegisterDocumentProcessor(&ite6.ITE6Processor{}, processor.DocumentITE6EOL)
 	_ = RegisterDocumentProcessor(&dsse.DSSEProcessor{}, processor.DocumentDSSE)
 	_ = RegisterDocumentProcessor(&spdx.SPDXProcessor{}, processor.DocumentSPDX)
 	_ = RegisterDocumentProcessor(&csaf.CSAFProcessor{}, processor.DocumentCsaf)


Test patch:
diff --git a/internal/client/depsdevclient/deps_dev_client_test.go b/internal/client/depsdevclient/deps_dev_client_test.go
index 1bf7ef5d..a0469ea1 100644
--- a/internal/client/depsdevclient/deps_dev_client_test.go
+++ b/internal/client/depsdevclient/deps_dev_client_test.go
@@ -68,7 +68,7 @@ func Test_depsCollector_GetX(t *testing.T) {
 		{
 			name:     "invalid packages",
 			packages: []string{"not-a-package"},
-			wantErr:  true,
+			wantErr:  false,
 		},
 		{
 			name:     "org.webjars.npm:a maven package",
@@ -380,6 +380,10 @@ func Test_depsCollector_GetDependenciesEq(t *testing.T) {
 			name:     "multiple different packages",
 			packages: []string{"pkg:cargo/foreign-types@0.3.2", "pkg:npm/yargs-parser@4.2.1"},
 		},
+		{
+			name:     "deb package - invalid",
+			packages: []string{"pkg:deb/org.webjars.npm/a@2.1.2"},
+		},
 	}
 	for _, tt := range tests {
 		t.Run(tt.name, func(t *testing.T) {