Skip to content

feat(core): serve the remaining RPCs in-process - #537

Open
steiler wants to merge 4 commits into
feat/core-constructorfrom
feat/core-rpcs
Open

steiler wants to merge 4 commits into
feat/core-constructorfrom
feat/core-rpcs

Conversation

@steiler

@steiler steiler commented Nov 9, 2026

Copy link
Copy Markdown
Collaborator

Stacked on #535. Adds the remaining in-process RPCs to pkg/core.

@steiler
steiler requested a review from a team as a code owner November 9, 2026 10:00
@steiler
steiler added this pull request to stack #536 November 9, 2026 15:02
@steiler
steiler removed this pull request from stack #536 November 11, 2026 10:52
@steiler
steiler added this pull request to stack #544 November 11, 2026 10:52
Add CreateDataStore, DeleteDataStore, TransactionSet/Confirm/Cancel,
GetIntent, BlameConfig, WatchDeviations and schema details/create/delete
to Core without any peer or gRPC dependency; Origin replaces the peer.

Share the datastore-locked and not-connected sentinels with pkg/api so
errors.Is and api.IsRetryable match them.

Deviation watchers get a bounded channel: a full channel blocks the
producer, a send blocked for 30s logs a warning, and a duplicate START
is ignored. The datastore takes a DeviationSink instead of a gRPC stream.

Signed-off-by: Markus Vahlenkamp <markus.vahlenkamp@nokia.com>
Add Datastore.IntentToInternalTI and share the flag and expansion logic
with the gRPC path through buildTransactionIntent. Explicit delete paths
that do not parse now fail with ErrInvalidArgument instead of being
skipped.

Signed-off-by: Markus Vahlenkamp <markus.vahlenkamp@nokia.com>
Blame and deviation trees may omit values on container nodes; ToString
on nil panicked in TestTransactionLifecycleWithoutPeer.

Signed-off-by: Markus Vahlenkamp <markus.vahlenkamp@nokia.com>
DeviationEvent carries one path per event; set Path, Expected and Current
directly instead of an Entries slice.

Signed-off-by: Markus Vahlenkamp <markus.vahlenkamp@nokia.com>
@codecov

codecov Bot commented Nov 11, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 60.67653% with 186 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
pkg/core/datastore_admin.go 43.33% 59 Missing and 9 partials ⚠️
pkg/core/intent.go 51.94% 31 Missing and 6 partials ⚠️
pkg/datastore/deviations.go 0.00% 25 Missing ⚠️
pkg/core/transaction.go 74.64% 15 Missing and 3 partials ⚠️
pkg/core/deviation.go 84.44% 14 Missing ⚠️
pkg/datastore/transaction_rpc.go 72.54% 13 Missing and 1 partial ⚠️
pkg/core/schema.go 78.37% 7 Missing and 1 partial ⚠️
pkg/datastore/datastore_rpc.go 0.00% 1 Missing ⚠️
pkg/server/datastore.go 0.00% 1 Missing ⚠️

📢 Thoughts on this report? Let us know!

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant