add grpc support

This commit is contained in:
Ryan McGuire 2025-03-07 15:24:36 -05:00
parent 00c8e2e4fc
commit 3b3f7f1f8b
3 changed files with 24 additions and 9 deletions

View File

@ -22,12 +22,20 @@ var testDefaultConfig = &AppConfig{
TimeFormat: TimeFormatLong, TimeFormat: TimeFormatLong,
}, },
HTTP: &HTTPConfig{ HTTP: &HTTPConfig{
Enabled: true,
Listen: "127.0.0.1:8080", Listen: "127.0.0.1:8080",
LogRequests: false, LogRequests: false,
ReadTimeout: "10s", ReadTimeout: "10s",
WriteTimeout: "10s", WriteTimeout: "10s",
IdleTimeout: "1m", IdleTimeout: "1m",
}, },
GRPC: &GRPCConfig{
Enabled: false,
Listen: "127.0.0.1:8081",
LogRequests: false,
EnableReflection: true,
EnableInstrumentation: true,
},
OTEL: &OTELConfig{ OTEL: &OTELConfig{
Enabled: true, Enabled: true,
PrometheusEnabled: true, PrometheusEnabled: true,

View File

@ -1,12 +1,16 @@
package config package config
var defaultGRPCConfig = &GRPCConfig{ var defaultGRPCConfig = &GRPCConfig{
Enabled: false,
Listen: "127.0.0.1:8081",
LogRequests: false, LogRequests: false,
EnableReflection: true, EnableReflection: true,
EnableInstrumentation: true, EnableInstrumentation: true,
} }
type GRPCConfig struct { type GRPCConfig struct {
Enabled bool `yaml:"enabled" env:"APP_GRPC_ENABLED"`
Listen string `yaml:"listen" env:"APP_GRPC_LISTEN"` Listen string `yaml:"listen" env:"APP_GRPC_LISTEN"`
LogRequests bool `yaml:"logRequests" env:"APP_GRPC_LOG_REQUESTS"` LogRequests bool `yaml:"logRequests" env:"APP_GRPC_LOG_REQUESTS"`
EnableReflection bool `yaml:"enableReflection" env:"APP_GRPC_ENABLE_REFLECTION"` EnableReflection bool `yaml:"enableReflection" env:"APP_GRPC_ENABLE_REFLECTION"`

View File

@ -3,7 +3,9 @@ package config
import "time" import "time"
var defaultHTTPConfig = &HTTPConfig{ var defaultHTTPConfig = &HTTPConfig{
Enabled: true,
Listen: "127.0.0.1:8080", Listen: "127.0.0.1:8080",
LogRequests: false, LogRequests: false,
ReadTimeout: "10s", ReadTimeout: "10s",
WriteTimeout: "10s", WriteTimeout: "10s",
@ -12,12 +14,13 @@ var defaultHTTPConfig = &HTTPConfig{
// HTTP Configuration // HTTP Configuration
type HTTPConfig struct { type HTTPConfig struct {
Enabled bool `yaml:"enabled" env:"APP_HTTP_ENABLED"`
Listen string `yaml:"listen,omitempty" env:"APP_HTTP_LISTEN"` Listen string `yaml:"listen,omitempty" env:"APP_HTTP_LISTEN"`
LogRequests bool `yaml:"logRequests" env:"APP_HTTP_LOG_REQUESTS"` LogRequests bool `yaml:"logRequests" env:"APP_HTTP_LOG_REQUESTS"`
ReadTimeout string `yaml:"readTimeout" env:"APP_HTTP_READ_TIMEOUT"` // Go duration (e.g. 10s) ReadTimeout string `yaml:"readTimeout" env:"APP_HTTP_READ_TIMEOUT"` // Go duration (e.g. 10s)
WriteTimeout string `yaml:"writeTimeout" env:"APP_HTTP_WRITE_TIMEOUT"` // Go duration (e.g. 10s) WriteTimeout string `yaml:"writeTimeout" env:"APP_HTTP_WRITE_TIMEOUT"` // Go duration (e.g. 10s)
IdleTimeout string `yaml:"idleTimeout" env:"APP_HTTP_IDLE_TIMEOUT"` // Go duration (e.g. 10s) IdleTimeout string `yaml:"idleTimeout" env:"APP_HTTP_IDLE_TIMEOUT"` // Go duration (e.g. 10s)
rT *time.Duration rT *time.Duration `yaml:"rT" env:"rT"`
wT *time.Duration wT *time.Duration `yaml:"wT" env:"wT"`
iT *time.Duration iT *time.Duration `yaml:"iT" env:"iT"`
} }