feat(engine): load catalog into datastore#535
Conversation
🦋 Changeset detectedLatest commit: 602a078 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
8cdb059 to
0af2069
Compare
If catalog is selected as the datastore type, we fetch all the required data from catalog service and load it into the local datastore. JIRA: https://smartcontract-it.atlassian.net/browse/CLD-781
0af2069 to
602a078
Compare
There was a problem hiding this comment.
Pull Request Overview
This PR implements functionality to load catalog data into a local datastore when the catalog is selected as the datastore type. The implementation fetches all required data from the catalog service via gRPC and populates an in-memory datastore, after which all operations are performed locally without remote calls.
Key changes include:
- Added catalog loading logic in the environment loading process
- Implemented
LoadDataStoreFromCatalogfunction to fetch and populate catalog data locally - Added comprehensive test coverage for the catalog loading functionality
Reviewed Changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| engine/cld/environment/environment.go | Added conditional logic to load catalog data into local datastore when catalog type is selected |
| engine/cld/config/domain/domain.go | Added TODO comment about removing file datastore default when catalog is fully enabled |
| datastore/catalog_loader.go | Implemented function to fetch catalog data and populate local datastore |
| datastore/catalog_loader_test.go | Added comprehensive test suite for catalog loading functionality |
| datastore/mock_*.go | Generated mock implementations for testing catalog store interfaces |
| .mockery.yml | Added mockery configuration for datastore package interfaces |
| .changeset/eighty-phones-fly.md | Added changeset file documenting the feature addition |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## chainlink-deployments-framework@0.60.0 ### Minor Changes - [#541](#541) [`909e6f4`](909e6f4) Thanks [@ecPablo](https://github.com/ecPablo)! - refactor proposal analyzer to add a text renderer and move templates to separate files - [#535](#535) [`b7c8d06`](b7c8d06) Thanks [@graham-chainlink](https://github.com/graham-chainlink)! - feat(engine): load catalog into datastore ### Patch Changes - [#547](#547) [`2229818`](2229818) Thanks [@jkongie](https://github.com/jkongie)! - Bump chain-selectors to v1.0.77 - [#534](#534) [`9572077`](9572077) Thanks [@graham-chainlink](https://github.com/graham-chainlink)! - fix(catalog): use enum instead of string --------- Co-authored-by: app-token-issuer-engops[bot] <144731339+app-token-issuer-engops[bot]@users.noreply.github.com>


If catalog is selected as the datastore type, we fetch all the required data from catalog service and load it into the local datastore.
JIRA: https://smartcontract-it.atlassian.net/browse/CLD-781