[ECR] [request]: Allow more complex tagging of docker images, to support lifecycle rules
- Dominant language
- Shell
- Stars
- 5.4k
- Forks
- 334
- PR merge metrics
- No merged PRs in 30d
Description
### Community Note
* Please vote on this issue by adding a 👍 [reaction](https://blog.github.com/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/) 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**
I would like the ability to add arbitrary key/value tags to specific docker images in ECR. This would help build a lifecycle policy that integrates with our CI/CD system.
Specifics: our CI/CD system builds a docker image for every git revision on any branch, with the docker tag "build-". I'd like to be able to tag the pushed image with the branch that it came from at build. Later, if that build is deployed to production, I'd like to update another tag to say that this build was released (and maybe include the release date or other metadata). Finally, I'd like to be able to write ECR lifecycle rules against these tags. so e.g. "preserved release images forever; cleanup images tagged with "xometry:branch=master" after 1 month; cleanup everything else after 7 days".
**Which service(s) is this request for?**
ECR
**Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard?**
It is very difficult to write lifecycle policies currently that preserve released builds and clean up other builds using our standard tagging strategy.
**Are you currently working around this issue?**
Our workaround is that we re-tag images when then are released with a different tag pattern, but this causes a bunch of complexity in the CI/CD system to use different tagging patterns for release and for everything else.
Contributor guide
Research direction
Start by reviewing the ECR request and its examples for arbitrary image tags, branch metadata, release status, and lifecycle rules. Done would mean defining and validating support for those tagging and cleanup scenarios; the issue mentions no repository files, tests, or implementation entry point.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, docker
- Domain
- cloud, devops
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100