# yaml
components_manager:
components:
# The required common components
logging:
fs-task-processor: fs-task-processor
loggers:
default:
file_path: '@stderr'
level: debug
overflow_behavior: discard
# /// [gRPC sample - static config client]
# yaml
# Creates gRPC clients
grpc-client-factory:
# The TaskProcessor for blocking connection initiation
task-processor: grpc-blocking-task-processor
# Optional channel parameters for gRPC Core
# https://grpc.github.io/grpc/core/group__grpc__arg__keys.html
channel-args: {}
# Our wrapper around the generated client for GreeterService
greeter-client:
# The service endpoint (URI). We talk to our own service,
# which is kind of pointless, but works for an example
endpoint: '[::1]:8091'
# /// [gRPC sample - static config client]
# /// [gRPC sample - static config server]
# yaml
# Common configuration for gRPC server
grpc-server:
# The single listening port for incoming RPCs
port: $grpc_server_port
port#fallback: 8091
completion-queue-count: 3
# Our GreeterService implementation
greeter-service:
task-processor: main-task-processor
greeting-prefix: Hello
middlewares: []
# /// [gRPC sample - static config server]
# In this example, the tests still communicate with the microservice
# using HTTP, so we still need an HTTP server and an HTTP handler.
server:
listener:
port: 8092
task_processor: main-task-processor
greeter-http-handler:
path: /hello
method: POST
task_processor: main-task-processor
testsuite-support:
default_task_processor: main-task-processor # Task processor in which components start.
# /// [gRPC sample - task processor]
# yaml
task_processors:
grpc-blocking-task-processor: # For blocking gRPC channel creation
worker_threads: 2
thread_name: grpc-worker
# /// [gRPC sample - task processor]
main-task-processor: # For non-blocking operations
worker_threads: 8
fs-task-processor: # For blocking filesystem operations
worker_threads: 2