snyk / kubernetes-monitor

Use Snyk to find and fix vulnerabilities in your Kubernetes workloads
https://docs.snyk.io/products/snyk-container/image-scanning-library/kubernetes-workload-and-image-scanning/kubernetes-integration-overview
Other
84 stars 73 forks source link

fix: Add support for Argo Rollouts that use workloadRef definitions #1442

Closed kat1906 closed 8 months ago

kat1906 commented 8 months ago

What this does

Argo Rollouts support defining pod templates directly within a rollout or by referencing a separate Deployment, ReplicaSet, or PodTemplate resource. Currently, if the template is not directly defined, a TypeError is raised:

{
  "name": "kubernetes-monitor",
  "hostname": "snyk-monitor-84f889474c-6vlkv",
  "pid": 31,
  "level": 50,
  "error": {
    "message": "Cannot read properties of undefined (reading 'metadata')",
    "name": "TypeError",
    "stack": "TypeError: Cannot read properties of undefined (reading 'metadata')\n    at argoRolloutReader (/srv/app/src/supervisor/workload-reader.ts:355:28)\n    at runMicrotasks (<anonymous>)\n    at processTicksAndRejections (node:internal/process/task_queues:96:5)\n    at findParentWorkload (/srv/app/src/supervisor/metadata-extractor.ts:100:32)\n    at buildMetadataForWorkload (/srv/app/src/supervisor/metadata-extractor.ts:211:53)\n    at Object.podWatchHandler (/srv/app/src/supervisor/watchers/handlers/pod.ts:133:30)\n    at /srv/app/src/supervisor/watchers/handlers/index.ts:174:11"
  },
  "podName": "example-pod-6688748c8-2zvb4",
  "msg": "could not build image metadata for pod",
  "time": "2023-12-22T21:48:07.440Z",
  "v": 0
}

Notes for the reviewer

Documentation: Argo Rollout specification that indicates template or workloadRef should be defined (not both)

Closes #1433

team-container-integration commented 8 months ago

:tada: This PR is included in version 2.6.4 :tada:

The release is available on GitHub release

Your semantic-release bot :package::rocket: