镜像仓库支持对指定实例、命名空间或 OCI 制品仓库中的镜像推送事件,发送消息通知,帮忙您第一时间获取镜像推送成功的信息。本文介绍创建镜像推送通知规则的方法。
镜像仓库支持对指定实例、命名空间或 OCI 制品仓库中的镜像推送事件发送通知。例如,推送规则的生效范围为 A 命名空间中的所有 Nginx 镜像版本,当 Nginx OCI 制品仓库中新增或更新镜像或 Chart 版本时,镜像仓库将发生镜像推送成功的通知。
已创建镜像仓库实例。操作详情参见 创建标准版实例。
登录 镜像仓库控制台。
在顶部导航栏,选择目标地域。
在左侧导航栏单击 事件通知。
在 事件通知 页面,单击 创建通知规则。
填写通知规则参数。
参数 | 描述 |
---|---|
触发动作 | 选择触发通知的事件。本场景中选择 镜像推送。 |
名称 | 自定义通知规则的名称。 |
描述 | 填写通知规则的描述。 |
参数 | 描述 |
---|---|
生效层级 | 支持基于实例、命名空间和 OCI 制品仓库维度制定通知规则。
|
实例 | 选择通知规则生效的实例。 |
命名空间 | 选择通知规则生效的命名空间。 |
OCI 制品仓库 | 选择通知规则生效的 OCI 制品仓库,支持选择多个。 |
制品类型 | 选择生效的制品的类型,当前支持 镜像、Chart 或者全部。 |
版本 | 选择通知规则生效的镜像或者 Chart 版本。支持选择全部或者通过正则表达式筛选。常见的版本筛选正则表达式参见文末 正则匹配示例。 |
参数 | 描述 |
---|---|
规则状态 | 支持选择启用或禁用通知规则。最多支持启用 20 条通知规则,超出限制后新建的规则为禁用状态。如需开启请先禁止或删除存量的规则。 |
通知方式 | 当前仅支持 HTTP(s)。 |
目标 URL | 事件触发后访问的 URL 地址,通知的信息将传递到该地址中。例如 Webhook 的地址。 |
自定义 Header | 支持根据业务场景,自定义目标 URL 的 Header。 |
配置完成后单击 确定,完成创建。
成功推送后,您将接收到 Hook 消息通知,示例和参数说明如下。
{ "id": "283154ee-797d-4842-9ce4-****", "source": "cr", "type": "cr:Tag:Push", "specversion": "1.0", "time": "2024-02-03T20:02:11Z", "volcaccountid": "210013****", "volcregion": "cn-beijing", "data": { "image": "enterprise-****.cr.volces.com/event-****/event-****:event-****", "registry": "enterprise-****", "namespace": "event-****", "repository": "event-****", "tag": "event-****", "digest": "sha256:4e973642bc4933eb9bea99e5b64ddc1bc16a152a4e7038a442bcf2338994****", "operator": "paas****@****", "type": "Image" } }
参数 | 描述 | |
---|---|---|
id | 推送消息的 ID。 | |
source | 消息推送的源头,固定为 cr,表示镜像仓库产品。 | |
type | 触发通知的事件。cr:Image:Pushed 表示镜像推送事件。 | |
specversion | 消息通知版本,固定参数,无需关注。 | |
time | 消息通知发送的时间。 | |
volcaccountid | 消息通知创建人火山引擎账号的 ID。 | |
volcregion | 发送消息通知的火山引擎地域。 | |
data | image | 镜像的地址。 |
registry | 镜像所在的实例名称。 | |
namespace | 镜像所在的命名空间。 | |
repository | OCI 制品的名称。 | |
tag | 镜像的版本号。 | |
digest | 镜像内容的标识符。 | |
operator | 通知创建用户的火山引擎账号。 | |
type | 推送的 OCI 制品的类型。
|
常用的匹配场景和匹配方式示例如下。
匹配方式 | 匹配目标 | 正则表达式 | 匹配目标名称 | ||||
---|---|---|---|---|---|---|---|
v1 | version-1 | test-1 | v2 | v3 | |||
完全匹配 | 仅匹配 v1 版本号。 | v1 | √ | - | - | - | - |
前缀匹配 | 匹配以 v 开头的所有版本号。 | ^v.*$ | √ | √ | - | √ | √ |
多前缀匹配 | 匹配以 v 或 t 开头的所有版本号。 | ^(v|t).*$ | √ | √ | √ | √ | √ |
后缀匹配 | 匹配以 -1 结尾的所有版本号。 | ^.*-1$ | - | √ | √ | - | - |
多后缀匹配 | 匹配以 1 或 2 结尾的所有版本号。 | ^.*(1|2)$ | √ | √ | √ | √ | - |
版本号匹配 | 匹配以 v 开头,连接阿拉伯数字结尾的版本号。 | ^v([0-9.]+)$ | √ | - | - | √ | √ |