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,
},
HTTP: &HTTPConfig{
Enabled: true,
Listen: "127.0.0.1:8080",
LogRequests: false,
ReadTimeout: "10s",
WriteTimeout: "10s",
IdleTimeout: "1m",
},
GRPC: &GRPCConfig{
Enabled: false,
Listen: "127.0.0.1:8081",
LogRequests: false,
EnableReflection: true,
EnableInstrumentation: true,
},
OTEL: &OTELConfig{
Enabled: true,
PrometheusEnabled: true,

View File

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

View File

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