gpt4 book ai didi

amazon-web-services - AWS ECR 如何限制除最新标签之外的重新标记

转载 作者:行者123 更新时间:2023-12-05 07:22:48 25 4
gpt4 key购买 nike

我想限制重新标记,但 AWS ECR 中的最新标记除外。如果某些开发人员推送具有相同标签的图像进行调试是非常困难的。所以我只想允许重新标记“最新”标签。但不适用于具有相同标签名称的不同 docker 镜像版本。怎么做?

谢谢-普拉卡什

最佳答案

今天的 ECR 无法做到这一点。您可以 enable immutability for tags (这将包括“最新”是不可变的)或者您必须允许所有标签都是可变的。没有其他选择。但是,有一个 request on the ECR roadmap为此。

您今天可能能够获得想要的东西的唯一方法是在事后通过响应 ECR events via EventBridge 向 ECR 推送时强制执行此方案。 .例如,您可以为 ECR 推送事件订阅 lambda 函数。原则上,该 lambda 可以跟踪图像标签并撤消除最新标签以外的任何现有标签的标签推送,并可能删除有问题的推送图像(如果它会因删除标签而变得未标记)。

这种 lambda 的伪代码可能是:

def on_event(event, context):
tag = event['detail']['image-tag']
repository = event['detail']['repository-name']
digest = event['detail']['image-digest']

existing_tags = get_existing_tags(repository)
# check if a tag has been overwritten by this push event
if tag != 'latest' and tag in existing_tags:
# revert the change using our existing records
previous_image_digest_for_tag = existing_tags[tag].digest
tag_image(previous_image_digest_for_tag, tag)
remove_if_untagged(repository, digest) # optional
else: # the tag is new or 'latest'
# just record this for future enforcement
update_existing_tags(repository, tag, digest)
return

关于amazon-web-services - AWS ECR 如何限制除最新标签之外的重新标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56393805/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com