• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

valkyrjaio / valkyrja-starter-app-java / 30191994186

26 Jul 2026 06:59AM UTC coverage: 94.006% (-6.0%) from 100.0%
30191994186

push

github

web-flow
[Grpc] Add gRPC application vertical (#37)

# Description

Adds the **`app/grpc/` vertical** to the starter app, mirroring the
existing `app/http/` and `app/cli/` verticals so a Valkyrja app can
serve gRPC with a pre-generated (Sindri) service map.

It provides a gRPC `Config` (implementing `GrpcConfigContract`), an
`App` entry that bootstraps via `WorkerGrpc` (a transport adapter from
the entry modules serves it over HTTP/2), a sample `@GrpcService`
controller, the provider set, and the generated-data scaffold
(`AppGrpcRoutingData` + `.example`, with the generated file git-ignored
like the others). The build's Sindri config map gains a `Grpc` entry so
`./gradlew sindriGrpc` regenerates `AppGrpcRoutingData`.

Verified to compile against the local framework via the composite build
(`includeBuild ../valkyrja`). CI here stays red until the framework and
Sindri release with gRPC and the pinned versions are bumped.

## Types of changes

- [ ] Improvement _(non-breaking change which improves code)_
- [ ] Bug fix _(non-breaking change which fixes an issue)_
- [x] New feature _(non-breaking change which adds functionality)_
- [ ] Deprecation _(breaking change which removes functionality)_
- [ ] Breaking change _(fix or feature that would cause existing
functionality to change)_
- [ ] Documentation improvement

## Changes

- **`app/grpc/Config.java`** (+ `.example`) — gRPC config implementing
`GrpcConfigContract` (port 50051, seven middleware stages, provider
list).
- **`app/grpc/App.java`** — entry that bootstraps the app via
`WorkerGrpc`.
- **`app/grpc/controller/GreeterController.java`** — sample
`@GrpcService` / `@GrpcMethod` controller.
-
**`app/grpc/provider/{ComponentProvider,DataServiceProvider,GrpcRouteProvider}.java`**
— component provider (pulls in the framework gRPC stack + registers the
route provider), data service provider (publishes
`GrpcRoutingDataContract`), and the route provider.
- **`app/grpc/data/`** — `.gitignore` +
`AppContainerData`/`A... (continued)

8 of 8 branches covered (100.0%)

Branch coverage included in aggregate %.

290 of 309 relevant lines covered (93.85%)

5.3 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

92.86
/src/main/java/app/cli/provider/ComponentProvider.java


Source Not Available

The file "src/main/java/app/cli/provider/ComponentProvider.java" isn't available on github. Either it's been removed, or the repo root directory needs to be updated.

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc