|
本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。 |
|
这是尚未发布的文档。 Admission Controller 1.34-dev. |
将策略发布到 Artifact Hub
Artifact Hub 是一个用户可以查找、安装和发布 CNCF 项目的软件包和配置的网站。
可以在 Artifact Hub 上发布 SUSE Security Admission Controller 策略,并使广大 CNCF 用户能够发现它。
|
Artifact Hub 是一个内容聚合平台,实际上并不托管发布在其上的工件。 Artifact Hub 要求您在容器注册表或 Web 服务器上物理托管容器镜像仓库。 请参阅 distributing policies 部分以获取有关如何托管您的策略的更多信息。 |
本文件重点介绍使 Admission Controller 策略在 Artifact Hub 上易于被发现的必要步骤。
准备您的 Git 储存库
Artifact Hub 会爬取 Git 储存库以查找特殊的元数据文件。
Git 储存库可以有不同类型的布局。它们在 官方 Artifact Hub 文档 中有详细记录。
Artifact Hub 灵活,允许您以以下方式组织代码:
-
拥有一个专门用于 Artifact Hub 的 Git 储存库:该储存库将不包含任何策略源代码。它将是 Artifact Hub 所需 YAML 文件的集合。
-
在包含您的策略源代码的 Git 储存库中添加一个 Artifact Hub 目录。这是之前方法的一个迭代,专注于单个策略,即在 Git 储存库中定义的策略。这种方法允许在 Artifact Hub 上保留策略的多个版本。
-
将
artifacthub-pkg.yml和artifacthub-repo.yml文件添加到包含策略源代码的 Git 储存库的根目录。这种方法是最简单的。唯一的限制是,只有最新版本的策略会在 Artifact Hub 上可见。
最后一种方法在我们的官方策略模板中使用。所搭建的 Git 储存库包括 artifacthub-repo.yml 文件,我们的 GitHub Actions 会生成并将 artifacthub-pkg.yml 推送到 Artifact Hub 可消费的 artifacthub 分支。
发布步骤
在将策略发布到 Artifact Hub 之前,您必须创建一个账户 在这里。
在发布策略之前,请确保您的 Git 储存库具有正确的布局,其中包含格式良好的 metadata.yml 以及必要的注释。
如果您想手动执行此操作,可以通过执行`kwctl scaffold artifacthub`(版本`>= 1.23`)来创建`artifacthub-pkg.yml`文件。此命令将当前路径中的`metadata.yml`作为输入,并输出一个`artifacthub-pkg.yml`。artifacthub-pkg.yml 包含诸如 version:、createdAt: 等字段,这些字段需要符合特定格式并保持最新。artifacthub-pkg.yml 的格式在 这里 中有描述。
如果您使用我们的 GitHub Actions >= v4.0.0,则可以使用输入 artifacthub: true 配置发布工作流。如果如此配置,在策略成功构建、签名并推送后,我们的 GitHub Actions 将执行最后一个任务,为您生成 artifacthub-pkg.yml,然后提交并推送更改至 artifacthub 分支。规范文件始终位于 main 分支中。有关我们 GitHub Actions 先前版本的行为,请参阅 1.23 之前的文档版本。
最后,请确保您的策略发布在容器注册表或 Web 服务器上。
|
当前 |
一切就绪后,登录到 Artifact Hub 并前往您的 控制面板。
决定您是以个人身份发布策略,还是在您所属的 Artifact Hub 组织下发布。这需要选择正确的 "控制面板上下文"。
然后点击 "添加" 按钮,并填写表单:
-
选择_"Admission Controller 策略"_作为类型。
-
请输入一个 "名称"_和 _"显示名称"。
-
输入您的 Git 储存库的 URL。
-
请输入
artifacthub作为要跟踪的分支。
最后,点击 "添加" 按钮。这将带您返回到 "仓库" 页面,您将在此看到新创建的仓库。
每个仓库都有几个信息字段。找到您刚创建的仓库的 "ID" 属性,并复制它。
返回到您的 Git 储存库并编辑 artifacthub-repo.yml。确保文档中 repositoryID 键的值与您刚从 Artifact Hub 网页复制的值相同。
|
现在是对该文件进行进一步自定义的好时机。 |
完成更改后,提交更新的 artifacthub-repo.yml 文件并推送。在下次扫描期间,Artifact Hub 将找到此文件,并将 "已验证发布者" 徽章 添加到您的 Artifact Hub 仓库。