配置 Tekton 集成

功能概览

artifacthub-shim 通过与 Artifact Hub 兼容的 API 提供 Tekton catalog 资源。Tekton hub resolver 和 Pipelines as Code 应使用集群内的 shim Service,而不是公共的 artifacthub.ioapi.hub.tekton.dev

标准 ACP DevOps 4.14 安装使用以下默认值:

设置
Shim 命名空间artifacthub-shim-system
Shim Serviceartifacthub-shim-api
Resolver Artifact Hub APIhttp://artifacthub-shim-api.artifacthub-shim-system.svc.cluster.local/
PAC Hub URLhttp://artifacthub-shim-api.artifacthub-shim-system.svc.cluster.local
Task catalogcatalog
Pipeline catalogcatalog-pipelines

Tekton Hub Resolver

当插件使用标准命名空间和 release name 时,ACP DevOps 4.14 会在组件安装期间设置 resolver 默认值。对于自定义安装,请将此配置合并到 TektonConfig.spec.pipeline 中:

enable-hub-resolver: true
hub-resolver-config:
  artifact-hub-api: http://artifacthub-shim-api.artifacthub-shim-system.svc.cluster.local/
  default-artifact-hub-task-catalog: catalog
  default-artifact-hub-pipeline-catalog: catalog-pipelines
  default-kind: task
  default-tekton-hub-catalog: catalog
  default-type: artifact

即使 default-typeartifactdefault-tekton-hub-catalog 也必须保持存在;当前 resolver 版本在准备默认值时仍会读取它。

如果 artifacthub-shim 安装到了其他命名空间,请将 artifact-hub-api 中的 artifacthub-shim-system 替换为安装命名空间。如果 Helm release name 发生变化且 Service name 被覆盖,也请更新 Service host。

Pipelines as Code

PAC 远程注解使用 PAC 设置,而不是 TektonConfig resolver 设置。对于自定义安装,请在 OpenShiftPipelinesAsCode 资源或已调谐的 PAC 配置源上设置这些 PAC 配置:

hub-url: http://artifacthub-shim-api.artifacthub-shim-system.svc.cluster.local
hub-catalog-type: artifacthub
hub-catalog-name: catalog

不要在 hub-url 后追加 /api/v1;PAC 会为 Artifact Hub 提供程序自动添加它。保留 hub-catalog-type: artifacthub,这样 PAC 就不会探测 /api/v1/stats 并回退到 Tekton Hub 行为。

PAC 只有一个默认的 hub-catalog-name。因此,它会向 shim 请求来自 catalog 的远程 Pipeline 注解;shim 会在进行 Pipeline 详情查询时回退到 catalog-pipelines。新的显式 hub resolver 引用在 Pipelines 中仍应使用 catalog-pipelines

DevOps Hub UI

DevOps UI 保持稳定的 /hub 网关路径。该 chart 会渲染一个专用的 hubIngress,将 /hub(/|$)(.*) 重写到规范的 shim API。shim API 本身不会注册 /hub/** 处理程序。

相关内容