Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: rewrite inventory client with basic CRUD #653

Merged

Conversation

sdowell
Copy link
Contributor

@sdowell sdowell commented Feb 4, 2025

This change rewrites the inventory client interface using simple CRUD methods. Prior to this change the inventory client consisted of several tightly coupled interfaces which made the client more complicated and less flexible.

The new client interface is simpler to implement and is intended to support implementations for sharded inventories, which may consist of multiple underlying KRM objects. The prior interfaces made assumptions of a single KRM object in several places, which made it incompatible with a sharded inventory.

@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Feb 4, 2025
@k8s-ci-robot k8s-ci-robot requested review from ash2k and karlkfi February 4, 2025 23:29
@k8s-ci-robot k8s-ci-robot added the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label Feb 4, 2025
@k8s-ci-robot
Copy link
Contributor

Hi @sdowell. Thanks for your PR.

I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@k8s-ci-robot k8s-ci-robot added the size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. label Feb 4, 2025
@sdowell sdowell force-pushed the inventory-client-rewrite branch 2 times, most recently from 2c4e343 to f11546a Compare February 5, 2025 01:30
@ash2k
Copy link
Member

ash2k commented Feb 5, 2025

/ok-to-test
/unassign @ash2k

I'm sorry, I don't have time to review this atm.

@k8s-ci-robot k8s-ci-robot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Feb 5, 2025
@sdowell
Copy link
Contributor Author

sdowell commented Feb 5, 2025

/ok-to-test /unassign @ash2k

I'm sorry, I don't have time to review this atm.

That's okay, I'm working with @karlkfi on this change.

@sdowell sdowell force-pushed the inventory-client-rewrite branch 2 times, most recently from 1249b37 to 99285da Compare February 5, 2025 21:54
@karlkfi karlkfi removed the request for review from ash2k February 6, 2025 01:12
@sdowell sdowell force-pushed the inventory-client-rewrite branch 3 times, most recently from 2f60dad to a7b18ca Compare February 6, 2025 23:52
@k8s-ci-robot k8s-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Feb 21, 2025
@sdowell sdowell force-pushed the inventory-client-rewrite branch from a7b18ca to 7ff6416 Compare February 21, 2025 23:42
@k8s-ci-robot k8s-ci-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Feb 21, 2025
@sdowell sdowell force-pushed the inventory-client-rewrite branch 5 times, most recently from 8c243ed to a89d964 Compare February 22, 2025 01:52
@sdowell sdowell force-pushed the inventory-client-rewrite branch from 64c8ce4 to fd799fb Compare March 18, 2025 22:38
@sdowell sdowell force-pushed the inventory-client-rewrite branch 3 times, most recently from 5cf4756 to 2dced84 Compare March 19, 2025 23:15
@sdowell sdowell force-pushed the inventory-client-rewrite branch from 2dced84 to fd9949c Compare March 19, 2025 23:34
@sdowell sdowell force-pushed the inventory-client-rewrite branch 4 times, most recently from 88118ae to 0832607 Compare March 21, 2025 17:43
Copy link
Contributor

@karlkfi karlkfi left a comment

Choose a reason for hiding this comment

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

This is looking so much better!

Just a few minor questions.

Also, please update the PR description with release-notes-like line items that say what changed, to help 3rd parties migrate to the latest version with all the library API changes.

@sdowell sdowell force-pushed the inventory-client-rewrite branch from 0832607 to 4cac084 Compare March 24, 2025 22:01
This change rewrites the inventory client interface using simple CRUD
methods. Prior to this change the inventory client consisted of several
tightly coupled interfaces which made the client more complicated and
less flexible.

The new client interface is simpler to implement and is intended to
support implementations for sharded inventories, which may consist of
multiple underlying KRM objects. The prior interfaces made assumptions
of a single KRM object in several places, which made it incompatible
with a sharded inventory.
@sdowell sdowell force-pushed the inventory-client-rewrite branch from 4cac084 to 5d6af3d Compare March 25, 2025 00:22
Copy link
Contributor

@karlkfi karlkfi left a comment

Choose a reason for hiding this comment

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

/lgtm

giphy-so-fresh-so-clean

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Mar 25, 2025
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: karlkfi, sdowell

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

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Mar 25, 2025
@k8s-ci-robot k8s-ci-robot merged commit 3e7dc15 into kubernetes-sigs:master Mar 25, 2025
5 checks passed
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. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants