Skip to content

Conversation

@xrstf
Copy link
Contributor

@xrstf xrstf commented Jun 13, 2025

Summary

The old crd-puller existed because our discovery works based on GK, not like kcp's crd-puller, which works based on GR. However just dumping a CRD is not super helpful by itself and since the agent can now export multiple versions in a CRD, the difference between ours and kcp's pullers is diminishing.

So I propose we replace the puller with a more generic toolkit that offers tailormade commands for the agent. In the current iteration it supports one single command: crd.

So what was crd-puller Certificate.cert-manager.io is now pubres-toolkit crd mypubres.yaml, with a PublishedResource YAML file being the source. The main advantage here is that we do not just pull the CRD, but also project it (i.e. optionally change its Kind and whatnot). To simulate how exactly a PubRes works is kinda neat to have.

The command has two flags:

  • --ars outputs an APIResourceSchema instead
  • --no-projection disables the projection rules (turning it into the old crd-puller, basically)

I would also like to see a sync command, which will perform a simulated sync, outputting what resources it sees and which it will create on the local service cluster side.

What Type of PR Is This?

/kind feature

Release Notes

Replace `crd-puller` with a more powerful `pubres-toolkit`.

@kcp-ci-bot kcp-ci-bot added kind/feature Categorizes issue or PR as related to a new feature. release-note Denotes a PR that will be considered when it comes time to generate release notes. dco-signoff: yes Indicates the PR's author has signed the DCO. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels Jun 13, 2025
@xrstf xrstf requested a review from embik June 13, 2025 16:19
Copy link
Member

@embik embik left a comment

Choose a reason for hiding this comment

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

/approve

@kcp-ci-bot kcp-ci-bot added the lgtm Indicates that a PR is ready to be merged. label Jun 18, 2025
@kcp-ci-bot
Copy link
Contributor

LGTM label has been added.

Git tree hash: 20138b007d877c6de187142e7fc28abce9d5de28

@kcp-ci-bot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: embik

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

The pull request process is described here

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

@kcp-ci-bot kcp-ci-bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jun 18, 2025
@kcp-ci-bot kcp-ci-bot merged commit 479ebf5 into main Jun 18, 2025
9 checks passed
@kcp-ci-bot kcp-ci-bot deleted the toolkit branch June 18, 2025 11:12
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. dco-signoff: yes Indicates the PR's author has signed the DCO. kind/feature Categorizes issue or PR as related to a new feature. lgtm Indicates that a PR is ready to be merged. release-note Denotes a PR that will be considered when it comes time to generate release notes. 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.

3 participants