Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

[Lambda MicroVMs] Keep only the newest N MicroVM image versions

未关闭
#120 3 条评论 2 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
5/5
预计耗时
一周以上
新手友好度
30/100
Issue 类型
功能
描述清晰度
描述清楚
活跃度
活跃
技术栈
aws
领域
cloud

调研方向

The request concerns CreateMicrovmImage, UpdateMicrovmImage, and version deletion for AWS Lambda MicroVMs; no repository files or tests are named. Start by reading those API operations and the image version lifecycle documentation, then identify how successful builds, active versions, and versions used by MicroVMs are tracked. Done means a retention setting prunes eligible older versions while preserving all versions the issue says must be kept.

由索引模型根据 Issue 内容生成。

描述

Community Note
  • Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

Tell us about your request
Add a retention setting on a MicroVM image that keeps only the newest N versions and deletes the rest.

For example, maximumImageVersions (or similar) on CreateMicrovmImage and UpdateMicrovmImage, defaulting to the current behavior when unset. After a successful build, Lambda would delete older versions beyond that count. The live version, a version that a pending, running, suspending, or suspended MicroVM still uses, and a version that is still building would be kept even if that exceeds N.

Which service(s) is this request for?
AWS Lambda MicroVMs (lambda-microvms). Image versions, not MicroVM run duration.

Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard?
We publish a new version of one MicroVM image on every application deploy. Each UpdateMicrovmImage creates a version, and an image is capped at 50 versions (Versions per MicroVM image). Once that quota is reached, the next update fails with ServiceQuotaExceededException ("has reached the maximum number of versions allowed") and deploys stop.

There is no retention, lifecycle, or "keep the newest N" parameter on create or update. UpdateMicrovmImageVersion with status INACTIVE disables a version but does not free a quota slot. The only way to make room is DeleteMicrovmImageVersion for each old version. Raising the quota only delays the same failure.

The impact is a broken deploy pipeline: the image cannot be updated until something outside the service deletes old versions. Classic Lambda function versions have the same gap, which is why deploy tools prune them. MicroVM images need this more, because the default cap is 50 and a normal deploy cadence hits it.

Are you currently working around this issue?
Yes. A scheduled job lists versions, keeps the newest 10 plus any version that is still building or still in use, and calls DeleteMicrovmImageVersion on the rest. That job has to exist, be permitted (lambda:ListMicrovmImageVersions, lambda:DeleteMicrovmImageVersion, lambda:GetMicrovmImage), and run often enough that deploys between runs cannot fill the remaining slots. We would rather set the retention on the image and have Lambda enforce it when a new version succeeds.

Additional context
Relevant today:

  • Quota: Versions per MicroVM image is 50 by default.
  • Delete is explicit: DeleteMicrovmImageVersion.
  • Inactive is not deletion. The image docs say a version can be set INACTIVE without deleting it.
  • Best practices already say to delete image versions you no longer need, but the service does not do it.

A useful shape would match what deploy tools already do for function versions: keep the newest N successful versions, always keep the latest active version and any version a MicroVM can still resume from, and delete failed versions without counting them toward N.

Attachments
None.

主要语言
没有语言数据
星标
199
派生
5
PR 合并指标
30 天内没有已合并 PR

环境准备

  • 没有 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 阅读贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

aws/aws-lambda-roadmap 的其他 Issue

查看 aws/aws-lambda-roadmap 的全部 Issue

相似的 Issue

更多 Cloud Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。