Skip to content

[Sandbox] Eraser #24

Closed
Closed
@salaxander

Description

@salaxander

Application contact emails

xandergr@microsoft.com, ritazh@microsoft.com, seozerca@microsoft.com, bridget.kromhout@microsoft.com

Project Summary

Eraser is a project that helps clean up unused and vulnerable container images from nodes in a Kubernetes cluster.

Project Description

When deploying to Kubernetes, it's common for pipelines to build and push images to a cluster, but it's much less common for these images to be cleaned up. This can lead to accumulating bloat on the disk, and a host of non-compliant images lingering on the nodes.

The current garbage collection process deletes images based on a percentage of load, but this process does not consider the vulnerability state of the images. Eraser aims to provide a simple way to determine the state of an image, and delete it if it meets the specified criteria.

Org repo URL

https://github.com/Azure

Project repo URL

https://github.com/Azure/eraser

Additional repos

https://github.com/Azure/eraser-scanner-template

Website URL

https://azure.github.io/eraser/docs/

Roadmap

https://github.com/Azure/eraser/milestones

Roadmap context

We currently use GitHub milestones and a project board to track the short term roadmap

Contributing Guide

https://azure.github.io/eraser/docs/contributing

Code of Conduct (CoC)

https://azure.github.io/eraser/docs/code-of-conduct

Adopters

No response

Contributing or Sponsoring Org

https://microsoft.com

Maintainers file

Managed through GitHub Teams

IP Policy

  • If the project is accepted, I agree the project will follow the CNCF IP Policy

Trademark and accounts

  • If the project is accepted, I agree to donate all project trademarks and accounts to the CNCF

Why CNCF?

We would like the project to ultimately be community owned rather than Azure owned. We feel the project can provide benefit to everyone using Kubernetes, and having it belong to the community rather than a single organization will help communicate that. We would also like to grow the community of users and contributors in order to make the tool the absolute best it can be. The CNCF is the best way to go about that.

Benefit to the Landscape

While Kubernetes has its own garbage collection mechanism today, it does still regularly leave images cached on nodes. In addition to consuming storage, this opens a possible attack vector if images contain vulnerabilities. The core benefit to the landscape is helping users heighten the security of the Kubernetes clusters and the workloads running on them.

Cloud Native 'Fit'

This project helps users be more successful in running their Kubernetes clusters. Since that's where a good many "cloud native" workloads are running today, we see this as being a good fit for the entire ecosystem around Kubernetes.

Cloud Native 'Integration'

The main way that Eraser has integration potential with other CNCF projects is through it's extension mechanism. Currently, Eraser utilizes Trivy for vulnerability scanning, but it follows a plugin model, so other scanners could be implemented using the same interface. This opens up Eraser to integrating with other CNCF projects in the container security space.

Cloud Native Overlap

To our knowledge, there isn't any direct overlap with other CNCF projects today.

Similar projects

N/A

Product or Service to Project separation

Azure Kubernetes Service has developed a managed addon of the project for customer clusters. The development and roadmap of the open source project and the managed addon have always remained entirely separate, and that will continue to be true going forward.

Project presentations

The project was presented to Kubernetes SIG Security as part of their "security tooling" subproject meeting.

https://youtu.be/c1yhWxxEkJI

Project champions

Lachlan Evenson

Additional information

No response

Activity

dims

dims commented on Jan 6, 2023

@dims
Member

@salaxander @ashnamehrotra, can you please summarize in a short paragraph any feedback from the k8s sig security?

salaxander

salaxander commented on Jan 9, 2023

@salaxander
Author

Heya @dims! If I'm remembering correctly, they were excited about it and curious to see how things went as it reached a 1.0.0 version (which should be quite soon!). There were also some questions around architecture, and since then we've updated the documentations site to try and make that a bit more clear -> https://azure.github.io/eraser/docs/architecture

helayoty

helayoty commented on Mar 29, 2023

@helayoty

Hey @salaxander, CNCF TAG-Runtime here. It would be great if you and the Eraser team could present and discuss the project in the next TAG meeting.

Please feel free to add the project to the TAG-Runtime agenda at your convenience.

Cc: @raravena80 @nikhita

moved this from 🏗 Upcoming to ⏲ Waiting in Sandbox Application Board - next Review is July 22on May 9, 2023
added
Need-infoThe TOC has requested more information from the project.
and removed
NewNew Application
on May 9, 2023
self-assigned this
on May 9, 2023
rochaporto

rochaporto commented on May 17, 2023

@rochaporto

Hi @salaxander.

Following the 2023-05-09 TOC Meeting we'd like to ask for a couple clarifications regarding the 'Cloud Native Integration'.

  • How do you see the project fitting with others attempting to prevent vulnerable workflows from being deployed? An example being Harbor and vulnerability scans at the registry and offering the possibility to prevent pulling vulnerable images.
  • On a similar note, do you see it related to projects focusing on runtime security checks? Here an example would be Falco.

Thanks!

salaxander

salaxander commented on May 18, 2023

@salaxander
Author

Hey @rochaporto! Thanks for following up

  • I think there is overlap in the sense of scanning for vulnerabilities, but the approaches are different. Eraser targets runtime where Harbor sits further left
  • I do think there's more overlap in the runtime security tool space, with something like Falco or the Trivy controller. The core difference is Eraser's focus on image cleanup, while using vulnerability data to make decisions on that primary objective. I also don't know if any other tools are focusing their efforts on non-running images like Eraser is (quite possibly! I just haven't looked at that personally).

Definitely let me know if there's any more info I can provide :)

CC @sozercan @pmengelbert in case they'd like to add any details I may have missed

rochaporto

rochaporto commented on May 19, 2023

@rochaporto

Thanks for the clarifications @salaxander

16 remaining items

git-vote

git-vote commented on Jun 16, 2023

@git-vote

Votes can only be checked once a day.

bridgetkromhout

bridgetkromhout commented on Jun 19, 2023

@bridgetkromhout
Contributor

/check-vote

git-vote

git-vote commented on Jun 19, 2023

@git-vote

Vote status

So far 81.82% of the users with binding vote are in favor (passing threshold: 66%).

Summary

In favor Against Abstain Not voted
9 0 0 2

Binding votes (9)

User Vote Timestamp
dzolotusky In favor 2023-06-14 23:42:14.0 +00:00:00
mauilion In favor 2023-06-16 15:27:15.0 +00:00:00
justincormack In favor 2023-06-16 10:22:53.0 +00:00:00
TheFoxAtWork In favor 2023-06-13 18:03:02.0 +00:00:00
nikhita In favor 2023-06-14 8:10:55.0 +00:00:00
RichiH In favor 2023-06-15 9:25:48.0 +00:00:00
mattfarina In favor 2023-06-16 17:37:01.0 +00:00:00
cathyhongzhang In favor 2023-06-13 17:10:25.0 +00:00:00
rochaporto In favor 2023-06-13 18:39:26.0 +00:00:00

Non-binding votes (14)

User Vote Timestamp
angellk In favor 2023-06-13 16:12:59.0 +00:00:00
salaxander In favor 2023-06-13 16:35:27.0 +00:00:00
sozercan In favor 2023-06-13 16:35:47.0 +00:00:00
helayoty In favor 2023-06-13 16:54:08.0 +00:00:00
ashnamehrotra In favor 2023-06-13 18:10:29.0 +00:00:00
cpuguy83 In favor 2023-06-13 18:12:17.0 +00:00:00
jeremyrickard In favor 2023-06-13 18:13:42.0 +00:00:00
bridgetkromhout In favor 2023-06-13 18:13:57.0 +00:00:00
cmaclaughlin In favor 2023-06-13 18:32:55.0 +00:00:00
pmengelbert In favor 2023-06-13 19:12:36.0 +00:00:00
nilekhc In favor 2023-06-13 19:48:43.0 +00:00:00
Mossaka In favor 2023-06-13 20:22:24.0 +00:00:00
aramase In favor 2023-06-15 23:56:54.0 +00:00:00
mluker In favor 2023-06-16 15:34:09.0 +00:00:00
git-vote

git-vote commented on Jun 20, 2023

@git-vote

Vote closed

The vote passed! 🎉

90.91% of the users with binding vote were in favor (passing threshold: 66%).

Summary

In favor Against Abstain Not voted
10 0 0 1

Binding votes (10)

User Vote Timestamp
@mauilion In favor 2023-06-16 15:27:15.0 +00:00:00
@mattfarina In favor 2023-06-16 17:37:01.0 +00:00:00
@erinaboyd In favor 2023-06-20 13:10:18.0 +00:00:00
@cathyhongzhang In favor 2023-06-13 17:10:25.0 +00:00:00
@rochaporto In favor 2023-06-13 18:39:26.0 +00:00:00
@nikhita In favor 2023-06-14 8:10:55.0 +00:00:00
@dzolotusky In favor 2023-06-14 23:42:14.0 +00:00:00
@TheFoxAtWork In favor 2023-06-13 18:03:02.0 +00:00:00
@RichiH In favor 2023-06-15 9:25:48.0 +00:00:00
@justincormack In favor 2023-06-16 10:22:53.0 +00:00:00

Non-binding votes (14)

User Vote Timestamp
@angellk In favor 2023-06-13 16:12:59.0 +00:00:00
@salaxander In favor 2023-06-13 16:35:27.0 +00:00:00
@sozercan In favor 2023-06-13 16:35:47.0 +00:00:00
@helayoty In favor 2023-06-13 16:54:08.0 +00:00:00
@ashnamehrotra In favor 2023-06-13 18:10:29.0 +00:00:00
@cpuguy83 In favor 2023-06-13 18:12:17.0 +00:00:00
@jeremyrickard In favor 2023-06-13 18:13:42.0 +00:00:00
@bridgetkromhout In favor 2023-06-13 18:13:57.0 +00:00:00
@cmaclaughlin In favor 2023-06-13 18:32:55.0 +00:00:00
@pmengelbert In favor 2023-06-13 19:12:36.0 +00:00:00
@nilekhc In favor 2023-06-13 19:48:43.0 +00:00:00
@Mossaka In favor 2023-06-13 20:22:24.0 +00:00:00
@aramase In favor 2023-06-15 23:56:54.0 +00:00:00
@mluker In favor 2023-06-16 15:34:09.0 +00:00:00
moved this from 🤔 In voting to ✅ Done in Sandbox Application Board - next Review is July 22on Jun 21, 2023
added
ApprovedThis is an approved sandbox project.
and removed
ReturningThis application has been updated and is read for second review.
on Jun 21, 2023
amye

amye commented on Jun 21, 2023

@amye

Closing with approved, new onboarding issue: #198

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

Status

✅ Done

Milestone

No milestone

Relationships

None yet

    Development

    No branches or pull requests

      Participants

      @dims@rochaporto@amye@jberkus@RichiH

      Issue actions

        [Sandbox] Eraser · Issue #24 · cncf/sandbox