Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@sschepens
Copy link
Contributor

@sschepens sschepens commented Nov 12, 2025

Please provide a description of this PR:
This PR moves all remaining ConfigStoreController implementations to using KRT and adds a KrtCollection method to ConfigStoreController to allow retreiving underlying KRT collections from the controllers and to ensure all controllers are really KRT-based.
This should ease construction of additionaly KRT layers on top of current ConfigStoreControllers or eventually ease moving into a KRT Index such as ambient.

Controllers affeced:

  • aggregate: now uses joined collections of the stores it aggregates and uses those collections on Get and List, this allows testing that all other Controller's KRT collections work correctly. removed internal namespacesFilter it was unused.
  • memory: removed concept of SyncController, now all controllers are async, since KRT is async. now uses backing KRT collections and a custom syncer we mark as synced when Run is called, this allows most of our test cases to continue to work without major changes.
  • file-store: now internally uses memory controller and it's "static" namespace filter is applied on mutation methods.
  • crdclient: remove mutex over internal store, should no longer be necessary.
  • gateway: added new GatewayConfigs collection which stores valid gateway configs and changed some collections to be config.Config instead of *config.Config to be more compatible with ConfigStoreControllers and it also allows us not to transform the returned values from the collections.
  • analysis: removed no longer needed dfCache wrapper since our internalStore is now a memory.Controller.
  • mcp-xds: this controller internally uses memory.Controller.

@istio-testing istio-testing added the do-not-merge/work-in-progress Block merging of a PR because it isn't ready yet. label Nov 12, 2025
@istio-testing
Copy link
Collaborator

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@istio-testing istio-testing added the size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. label Nov 12, 2025
@sschepens sschepens force-pushed the krt/memory branch 3 times, most recently from a53abe5 to 2264bc0 Compare November 13, 2025 17:41
@sschepens sschepens force-pushed the krt/memory branch 3 times, most recently from ccaccdf to 226a0c0 Compare November 13, 2025 20:10
@istio-testing istio-testing added size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. and removed size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels Nov 13, 2025
@sschepens sschepens force-pushed the krt/memory branch 4 times, most recently from 5637752 to d9ce8f7 Compare November 14, 2025 13:22
@sschepens sschepens changed the title krt: migrate memory config stores to krt krt: migrate config store controllers to krt Nov 14, 2025
@sschepens sschepens marked this pull request as ready for review November 14, 2025 14:42
@sschepens sschepens requested review from a team as code owners November 14, 2025 14:42
@istio-testing istio-testing removed the do-not-merge/work-in-progress Block merging of a PR because it isn't ready yet. label Nov 14, 2025
@sschepens
Copy link
Contributor Author

@howardjohn could you take a look at this please?

@sschepens sschepens added the release-notes-none Indicates a PR that does not require release notes. label Nov 14, 2025
@istio-testing
Copy link
Collaborator

@sschepens: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
integ-telemetry-mc_istio 03a62bd link true /test integ-telemetry-mc

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. I understand the commands that are listed here.

@sschepens
Copy link
Contributor Author

/restest

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

Labels

release-notes-none Indicates a PR that does not require release notes. 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.

2 participants