Skip to content

TEP-0168: Sunset tektoncd/catalog for tektoncd-catalog Distributed Architecture - #1283

Open
vdemeester wants to merge 2 commits into
tektoncd:mainfrom
vdemeester:tep-0168-distributed-catalog
Open

TEP-0168: Sunset tektoncd/catalog for tektoncd-catalog Distributed Architecture#1283
vdemeester wants to merge 2 commits into
tektoncd:mainfrom
vdemeester:tep-0168-distributed-catalog

Conversation

@vdemeester

Copy link
Copy Markdown
Member

Summary

Propose sunsetting the centralized tektoncd/catalog repository in favor of a fully distributed catalog architecture. This TEP supersedes TEP-0003 (Tekton Catalog Organization) and TEP-0079 (Tekton Catalog Support Tiers), building on TEP-0110 and TEP-0115.

Core idea: separate discovery (Artifact Hub) from endorsement (whoever maintains the resource).

Key points:

  • Two-tier model: curated tektoncd-catalog/* repos maintained by active maintainers (Tier 1) and community-owned catalogs anywhere (Tier 2)
  • Freeze-don't-migrate sunset for tektoncd/catalog — archive read-only, pinned references keep working
  • Artifact Hub as the single discovery layer, with tekton.dev/deprecated hiding sunset resources from search
  • Tooling as a first-class deliverable: template repository and reusable GitHub Actions to make it trivially easy to create, test, and publish catalogs
  • Keyless signing via Sigstore (Fulcio + Rekor) for supply chain trust

/kind tep

@tekton-robot tekton-robot added the kind/tep Categorizes issue or PR as related to a TEP (or needs a TEP). label Jul 6, 2026
@tekton-robot tekton-robot added needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels Jul 6, 2026
…chitecture

Propose sunsetting the centralized tektoncd/catalog repository in
favor of a fully distributed catalog architecture. Supersedes TEP-0003
and TEP-0079.

Key points:
- Two-tier model: curated tektoncd-catalog repos (Tier 1) and
  community-owned catalogs (Tier 2)
- Freeze-don't-migrate sunset for tektoncd/catalog
- Artifact Hub as the single discovery layer
- Template repository and reusable GitHub Actions to make it
  trivially easy to create and publish catalogs
- Keyless signing via Sigstore (Fulcio + Rekor)
@vdemeester
vdemeester force-pushed the tep-0168-distributed-catalog branch from ff4a7ee to 7f1be54 Compare July 6, 2026 13:54
@tekton-robot tekton-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jul 6, 2026

@afrittoli afrittoli left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this! It looks good to me.

The trust signals on ArtifactHub are really a key aspect.

The "Official"one can be reserved to cases where the code wrapped by the tasked is maintained by the author of the task.

The Tekton Community maintained tasks may not be easy to identify from the trust signal alone, but actually that's not that important, if a Task it's high quality and maintained that's all that matters.

/approve

@tekton-robot

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: afrittoli

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@tekton-robot tekton-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jul 13, 2026
Comment thread teps/0168-tektoncd-catalog-distributed-architecture.md
Comment thread teps/0168-tektoncd-catalog-distributed-architecture.md
Comment thread teps/0168-tektoncd-catalog-distributed-architecture.md Outdated
Comment thread teps/0168-tektoncd-catalog-distributed-architecture.md
Comment thread teps/0168-tektoncd-catalog-distributed-architecture.md Outdated
Comment thread teps/0168-tektoncd-catalog-distributed-architecture.md Outdated
- Remove orphaned CLI Scaffolding TOC entry (no section exists)
- Reconcile signing requirement: MUST for Tier 1 graduation, not a gate for initial Tier 2 adoption
- Clarify multi-resource Artifact Hub registration
- Fix reference link formatting (one per line)
- Add explicit dependency: archive only after graduation complete

@savitaashture savitaashture left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👏 this gives more space for publishing own tasks without waiting for the review


#### Tier 1: Curated `tektoncd-catalog` Repositories

Tier 1 resources live in standalone repositories under the [`tektoncd-catalog`](https://github.com/tektoncd-catalog) GitHub organization. These are first-party, curated resources that the Tekton project actively maintains and dogfoods.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

any reason to have standalone repository under github

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not sure I understand the question. the idea is to do the same as what we do today with the golang or git-clone repositories (where there is multiple tasks and stepactions 👼🏼).

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The reason is also that this way it can be a different set of maintainers for each repositories as well.

Each catalog repository includes an `artifacthub-repo.yml` file that configures Artifact Hub integration:

```yaml
repositoryID: <generated-by-ah>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we also mention how to get the repositoryID or any link which explains about this

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

imo we can have this in the documentation

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

which documentation ?


Graduate a small set of resources from `tektoncd/catalog` (or confirm existing `tektoncd-catalog/*` repos) as Tier 1:

Some resources have already graduated to `tektoncd-catalog/*` repositories (e.g., `git-clone`, `kaniko`, `golang-*`). Additional graduation candidates include resources the project dogfoods or plans to dogfood:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

currently under tektoncd/catalog many tasks follow Tier1 recommendations so just want to understand how are we classifying only set of tasks for Tier1 category 🤔
ex: buildah

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

buildah is an example of not a Tier 1 task, it is not used by our dogfooding effort (so far), and it might be better for Red Hat to maintain this (for example, in openshift-pipelines for example). Example of tier 1 would be the oracle cloud tasks, etc..

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. kind/tep Categorizes issue or PR as related to a TEP (or needs a TEP). size/XL Denotes a PR that changes 500-999 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants