CtrlK
BlogDocsLog inGet started
Tessl Logo

finkel/spring-grpc

Spring gRPC reference documentation covering server, client, security, and configuration

92

2.19x
Quality

Pending

Does it follow best practices?

Impact

92%

2.19x

Average score across 3 eval scenarios

SecuritybySnyk

Pending

The risk profile of this skill

Overview
Eval results
Files

task.mdevals/scenario-2/

Multi-Backend Payments Gateway Client

Problem/Feature Description

A payments platform communicates with two external gRPC backends: a PaymentsService (internal, plain TCP) and a FraudCheckService (external, requires OAuth2 client credentials for every call). Both backends are reached via a Spring Boot application that acts as a gateway.

The team wants all outbound gRPC calls to flow through a shared logging interceptor, but the fraud check channel must additionally attach a Bearer token on every request using OAuth2 client credentials. The payments channel should have retry enabled (up to 3 attempts), while the fraud check channel must have retry disabled to avoid duplicate fraud signals.

To keep the gateway lean, the team wants Spring to automatically discover and wire stub beans rather than declaring each one manually. The payments stubs should be imported from the com.example.payments package and the fraud check stubs from com.example.fraud, each bound to their respective named channels.

Output Specification

Produce a self-contained Maven project (no need to be fully compilable) with:

  • pom.xml — dependencies for Spring Boot, Spring gRPC, and Spring Security OAuth2 client
  • src/main/java/.../GatewayApplication.java — main application class with stub auto-import configuration
  • src/main/java/.../ChannelConfig.java — Spring configuration class for channel customizers, interceptors, and OAuth2 client stub wiring
  • src/main/resources/application.properties — channel addresses and any other relevant configuration

Provide a notes.md explaining the channel configuration strategy and security approach used.

tile.json