Configuration Reference
This page is generated. Do not edit manually.
Configuration Reference (generated)
Environment Variable Mapping
- Prefix:
SWIT_ - Mapping rule: config key
a.b.c→ env varSWIT_A_B_C - Placeholders: dynamic segments are shown as
<NAME>(e.g.,messaging.brokers.<name>→SWIT_MESSAGING_BROKERS_<NAME>_...) - Precedence (low → high): Defaults, Base file, Env file, Override file, Environment variables
ServerConfig
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
access_control | AccessControlConfig | No | (struct) | SWIT_ACCESS_CONTROL | yaml:access_control, json:access_control |
access_control
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
access_control.default_roles | []string | No | SWIT_ACCESS_CONTROL_DEFAULT_ROLES | yaml:default_roles, json:default_roles | |
access_control.enabled | bool | No | SWIT_ACCESS_CONTROL_ENABLED | yaml:enabled, json:enabled | |
access_control.permissions | map[string]PermissionDefinition | No | SWIT_ACCESS_CONTROL_PERMISSIONS | yaml:permissions, json:permissions | |
access_control.resource_separator | string | No | ":" | SWIT_ACCESS_CONTROL_RESOURCE_SEPARATOR | yaml:resource_separator, json:resource_separator |
access_control.roles | map[string]RoleDefinition | No | SWIT_ACCESS_CONTROL_ROLES | yaml:roles, json:roles | |
access_control.strict_mode | bool | No | SWIT_ACCESS_CONTROL_STRICT_MODE | yaml:strict_mode, json:strict_mode | |
access_control.super_admin_role | string | No | SWIT_ACCESS_CONTROL_SUPER_ADMIN_ROLE | yaml:super_admin_role, json:super_admin_role | |
discovery | DiscoveryConfig | No | (struct) | SWIT_DISCOVERY | yaml:discovery, json:discovery |
discovery
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
discovery.address | string | No | "127.0.0.1:8500" | SWIT_DISCOVERY_ADDRESS | yaml:address, json:address |
discovery.enabled | bool | No | true | SWIT_DISCOVERY_ENABLED | yaml:enabled, json:enabled |
discovery.failure_mode | string | No | "graceful" | SWIT_DISCOVERY_FAILURE_MODE | yaml:failure_mode, json:failure_mode |
discovery.health_check_required | bool | No | SWIT_DISCOVERY_HEALTH_CHECK_REQUIRED | yaml:health_check_required, json:health_check_required | |
discovery.registration_timeout | time.Duration | No | 30s | SWIT_DISCOVERY_REGISTRATION_TIMEOUT | yaml:registration_timeout, json:registration_timeout |
discovery.service_name | string | No | "swit-service" | SWIT_DISCOVERY_SERVICE_NAME | yaml:service_name, json:service_name |
discovery.tags | []string | No | len=1 | SWIT_DISCOVERY_TAGS | yaml:tags, json:tags |
grpc | GRPCConfig | No | (struct) | SWIT_GRPC | yaml:grpc, json:grpc |
grpc
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
grpc.address | string | No | ":9080" | SWIT_GRPC_ADDRESS | yaml:address, json:address |
grpc.enable_health_service | bool | No | true | SWIT_GRPC_ENABLE_HEALTH_SERVICE | yaml:enable_health_service, json:enable_health_service |
grpc.enable_keepalive | bool | No | true | SWIT_GRPC_ENABLE_KEEPALIVE | yaml:enable_keepalive, json:enable_keepalive |
grpc.enable_reflection | bool | No | true | SWIT_GRPC_ENABLE_REFLECTION | yaml:enable_reflection, json:enable_reflection |
grpc.enabled | bool | No | true | SWIT_GRPC_ENABLED | yaml:enabled, json:enabled |
grpc.interceptors | GRPCInterceptorConfig | No | (struct) | SWIT_GRPC_INTERCEPTORS | yaml:interceptors, json:interceptors |
grpc.interceptors
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
grpc.interceptors.enable_auth | bool | No | SWIT_GRPC_INTERCEPTORS_ENABLE_AUTH | yaml:enable_auth, json:enable_auth | |
grpc.interceptors.enable_logging | bool | No | true | SWIT_GRPC_INTERCEPTORS_ENABLE_LOGGING | yaml:enable_logging, json:enable_logging |
grpc.interceptors.enable_metrics | bool | No | SWIT_GRPC_INTERCEPTORS_ENABLE_METRICS | yaml:enable_metrics, json:enable_metrics | |
grpc.interceptors.enable_rate_limit | bool | No | SWIT_GRPC_INTERCEPTORS_ENABLE_RATE_LIMIT | yaml:enable_rate_limit, json:enable_rate_limit | |
grpc.interceptors.enable_recovery | bool | No | true | SWIT_GRPC_INTERCEPTORS_ENABLE_RECOVERY | yaml:enable_recovery, json:enable_recovery |
grpc.keepalive_params | GRPCKeepaliveParams | No | (struct) | SWIT_GRPC_KEEPALIVE_PARAMS | yaml:keepalive_params, json:keepalive_params |
grpc.keepalive_params
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
grpc.keepalive_params.max_connection_age | time.Duration | No | 30s | SWIT_GRPC_KEEPALIVE_PARAMS_MAX_CONNECTION_AGE | yaml:max_connection_age, json:max_connection_age |
grpc.keepalive_params.max_connection_age_grace | time.Duration | No | 5s | SWIT_GRPC_KEEPALIVE_PARAMS_MAX_CONNECTION_AGE_GRACE | yaml:max_connection_age_grace, json:max_connection_age_grace |
grpc.keepalive_params.max_connection_idle | time.Duration | No | 15s | SWIT_GRPC_KEEPALIVE_PARAMS_MAX_CONNECTION_IDLE | yaml:max_connection_idle, json:max_connection_idle |
grpc.keepalive_params.time | time.Duration | No | 5s | SWIT_GRPC_KEEPALIVE_PARAMS_TIME | yaml:time, json:time |
grpc.keepalive_params.timeout | time.Duration | No | 1s | SWIT_GRPC_KEEPALIVE_PARAMS_TIMEOUT | yaml:timeout, json:timeout |
grpc.keepalive_policy | GRPCKeepalivePolicy | No | (struct) | SWIT_GRPC_KEEPALIVE_POLICY | yaml:keepalive_policy, json:keepalive_policy |
grpc.keepalive_policy
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
grpc.keepalive_policy.min_time | time.Duration | No | 5s | SWIT_GRPC_KEEPALIVE_POLICY_MIN_TIME | yaml:min_time, json:min_time |
grpc.keepalive_policy.permit_without_stream | bool | No | true | SWIT_GRPC_KEEPALIVE_POLICY_PERMIT_WITHOUT_STREAM | yaml:permit_without_stream, json:permit_without_stream |
grpc.max_recv_msg_size | int | No | 4194304 | SWIT_GRPC_MAX_RECV_MSG_SIZE | yaml:max_recv_msg_size, json:max_recv_msg_size |
grpc.max_send_msg_size | int | No | 4194304 | SWIT_GRPC_MAX_SEND_MSG_SIZE | yaml:max_send_msg_size, json:max_send_msg_size |
grpc.port | string | No | "9080" | SWIT_GRPC_PORT | yaml:port, json:port |
grpc.tls | GRPCTLSConfig | No | SWIT_GRPC_TLS | yaml:tls, json:tls |
grpc.tls
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
grpc.tls.ca_file | string | No | SWIT_GRPC_TLS_CA_FILE | yaml:ca_file, json:ca_file | |
grpc.tls.cert_file | string | No | SWIT_GRPC_TLS_CERT_FILE | yaml:cert_file, json:cert_file | |
grpc.tls.enabled | bool | No | SWIT_GRPC_TLS_ENABLED | yaml:enabled, json:enabled | |
grpc.tls.key_file | string | No | SWIT_GRPC_TLS_KEY_FILE | yaml:key_file, json:key_file | |
grpc.tls.server_name | string | No | SWIT_GRPC_TLS_SERVER_NAME | yaml:server_name, json:server_name | |
grpc.test_mode | bool | No | SWIT_GRPC_TEST_MODE | yaml:test_mode, json:test_mode | |
grpc.test_port | string | No | SWIT_GRPC_TEST_PORT | yaml:test_port, json:test_port | |
http | HTTPConfig | No | (struct) | SWIT_HTTP | yaml:http, json:http |
http
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
http.address | string | No | ":8080" | SWIT_HTTP_ADDRESS | yaml:address, json:address |
http.enable_ready | bool | No | true | SWIT_HTTP_ENABLE_READY | yaml:enable_ready, json:enable_ready |
http.enabled | bool | No | true | SWIT_HTTP_ENABLED | yaml:enabled, json:enabled |
http.headers | map[string]string | No | SWIT_HTTP_HEADERS | yaml:headers, json:headers | |
http.idle_timeout | time.Duration | No | 2m0s | SWIT_HTTP_IDLE_TIMEOUT | yaml:idle_timeout, json:idle_timeout |
http.middleware | HTTPMiddleware | No | (struct) | SWIT_HTTP_MIDDLEWARE | yaml:middleware, json:middleware |
http.middleware
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
http.middleware.cors | CORSConfig | No | (struct) | SWIT_HTTP_MIDDLEWARE_CORS | yaml:cors, json:cors |
http.middleware.cors
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
http.middleware.cors.allow_credentials | bool | No | true | SWIT_HTTP_MIDDLEWARE_CORS_ALLOW_CREDENTIALS | yaml:allow_credentials, json:allow_credentials |
http.middleware.cors.allow_headers | []string | No | len=4 | SWIT_HTTP_MIDDLEWARE_CORS_ALLOW_HEADERS | yaml:allow_headers, json:allow_headers |
http.middleware.cors.allow_methods | []string | No | len=5 | SWIT_HTTP_MIDDLEWARE_CORS_ALLOW_METHODS | yaml:allow_methods, json:allow_methods |
http.middleware.cors.allow_origins | []string | No | len=4 | SWIT_HTTP_MIDDLEWARE_CORS_ALLOW_ORIGINS | yaml:allow_origins, json:allow_origins |
http.middleware.cors.expose_headers | []string | No | SWIT_HTTP_MIDDLEWARE_CORS_EXPOSE_HEADERS | yaml:expose_headers, json:expose_headers | |
http.middleware.cors.max_age | int | No | 86400 | SWIT_HTTP_MIDDLEWARE_CORS_MAX_AGE | yaml:max_age, json:max_age |
http.middleware.custom_headers | map[string]string | No | SWIT_HTTP_MIDDLEWARE_CUSTOM_HEADERS | yaml:custom_headers, json:custom_headers | |
http.middleware.enable_auth | bool | No | SWIT_HTTP_MIDDLEWARE_ENABLE_AUTH | yaml:enable_auth, json:enable_auth | |
http.middleware.enable_cors | bool | No | true | SWIT_HTTP_MIDDLEWARE_ENABLE_CORS | yaml:enable_cors, json:enable_cors |
http.middleware.enable_logging | bool | No | true | SWIT_HTTP_MIDDLEWARE_ENABLE_LOGGING | yaml:enable_logging, json:enable_logging |
http.middleware.enable_rate_limit | bool | No | SWIT_HTTP_MIDDLEWARE_ENABLE_RATE_LIMIT | yaml:enable_rate_limit, json:enable_rate_limit | |
http.middleware.enable_timeout | bool | No | true | SWIT_HTTP_MIDDLEWARE_ENABLE_TIMEOUT | yaml:enable_timeout, json:enable_timeout |
http.middleware.rate_limit | RateLimitConfig | No | (struct) | SWIT_HTTP_MIDDLEWARE_RATE_LIMIT | yaml:rate_limit, json:rate_limit |
http.middleware.rate_limit
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
http.middleware.rate_limit.burst_size | int | No | 200 | SWIT_HTTP_MIDDLEWARE_RATE_LIMIT_BURST_SIZE | yaml:burst_size, json:burst_size |
http.middleware.rate_limit.key_func | string | No | "ip" | SWIT_HTTP_MIDDLEWARE_RATE_LIMIT_KEY_FUNC | yaml:key_func, json:key_func |
http.middleware.rate_limit.requests_per_second | int | No | 100 | SWIT_HTTP_MIDDLEWARE_RATE_LIMIT_REQUESTS_PER_SECOND | yaml:requests_per_second, json:requests_per_second |
http.middleware.rate_limit.window_size | time.Duration | No | 1m0s | SWIT_HTTP_MIDDLEWARE_RATE_LIMIT_WINDOW_SIZE | yaml:window_size, json:window_size |
http.middleware.timeout | TimeoutConfig | No | (struct) | SWIT_HTTP_MIDDLEWARE_TIMEOUT | yaml:timeout, json:timeout |
http.middleware.timeout
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
http.middleware.timeout.handler_timeout | time.Duration | No | 25s | SWIT_HTTP_MIDDLEWARE_TIMEOUT_HANDLER_TIMEOUT | yaml:handler_timeout, json:handler_timeout |
http.middleware.timeout.request_timeout | time.Duration | No | 30s | SWIT_HTTP_MIDDLEWARE_TIMEOUT_REQUEST_TIMEOUT | yaml:request_timeout, json:request_timeout |
http.port | string | No | "8080" | SWIT_HTTP_PORT | yaml:port, json:port |
http.read_timeout | time.Duration | No | 30s | SWIT_HTTP_READ_TIMEOUT | yaml:read_timeout, json:read_timeout |
http.test_mode | bool | No | SWIT_HTTP_TEST_MODE | yaml:test_mode, json:test_mode | |
http.test_port | string | No | SWIT_HTTP_TEST_PORT | yaml:test_port, json:test_port | |
http.write_timeout | time.Duration | No | 30s | SWIT_HTTP_WRITE_TIMEOUT | yaml:write_timeout, json:write_timeout |
logging | LoggingConfig | No | (struct) | SWIT_LOGGING | yaml:logging, json:logging |
logging
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
logging.development | bool | No | SWIT_LOGGING_DEVELOPMENT | yaml:development, json:development | |
logging.disable_caller | bool | No | SWIT_LOGGING_DISABLE_CALLER | yaml:disable_caller, json:disable_caller | |
logging.disable_stacktrace | bool | No | SWIT_LOGGING_DISABLE_STACKTRACE | yaml:disable_stacktrace, json:disable_stacktrace | |
logging.encoding | string | No | "json" | SWIT_LOGGING_ENCODING | yaml:encoding, json:encoding |
logging.error_output_paths | []string | No | len=1 | SWIT_LOGGING_ERROR_OUTPUT_PATHS | yaml:error_output_paths, json:error_output_paths |
logging.level | string | No | "info" | SWIT_LOGGING_LEVEL | yaml:level, json:level |
logging.output_paths | []string | No | len=1 | SWIT_LOGGING_OUTPUT_PATHS | yaml:output_paths, json:output_paths |
logging.sampling_enabled | bool | No | SWIT_LOGGING_SAMPLING_ENABLED | yaml:sampling_enabled, json:sampling_enabled | |
logging.sampling_initial | int | No | SWIT_LOGGING_SAMPLING_INITIAL | yaml:sampling_initial, json:sampling_initial | |
logging.sampling_thereafter | int | No | SWIT_LOGGING_SAMPLING_THEREAFTER | yaml:sampling_thereafter, json:sampling_thereafter | |
messaging | MessagingConfig | No | (struct) | SWIT_MESSAGING | yaml:messaging, json:messaging |
messaging
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
messaging.brokers | map[string]BrokerConfig | No | SWIT_MESSAGING_BROKERS | yaml:brokers, json:brokers | |
messaging.connection | MessagingConnectionConfig | No | (struct) | SWIT_MESSAGING_CONNECTION | yaml:connection, json:connection |
messaging.connection
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
messaging.connection.idle_timeout | time.Duration | No | 5m0s | SWIT_MESSAGING_CONNECTION_IDLE_TIMEOUT | yaml:idle_timeout, json:idle_timeout |
messaging.connection.keep_alive | time.Duration | No | 30s | SWIT_MESSAGING_CONNECTION_KEEP_ALIVE | yaml:keep_alive, json:keep_alive |
messaging.connection.max_attempts | int | No | 3 | SWIT_MESSAGING_CONNECTION_MAX_ATTEMPTS | yaml:max_attempts, json:max_attempts |
messaging.connection.pool_size | int | No | 10 | SWIT_MESSAGING_CONNECTION_POOL_SIZE | yaml:pool_size, json:pool_size |
messaging.connection.retry_interval | time.Duration | No | 5s | SWIT_MESSAGING_CONNECTION_RETRY_INTERVAL | yaml:retry_interval, json:retry_interval |
messaging.connection.timeout | time.Duration | No | 30s | SWIT_MESSAGING_CONNECTION_TIMEOUT | yaml:timeout, json:timeout |
messaging.default_broker | string | No | SWIT_MESSAGING_DEFAULT_BROKER | yaml:default_broker, json:default_broker | |
messaging.enabled | bool | No | SWIT_MESSAGING_ENABLED | yaml:enabled, json:enabled | |
messaging.monitoring | MessagingMonitoringConfig | No | (struct) | SWIT_MESSAGING_MONITORING | yaml:monitoring, json:monitoring |
messaging.monitoring
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
messaging.monitoring.enabled | bool | No | true | SWIT_MESSAGING_MONITORING_ENABLED | yaml:enabled, json:enabled |
messaging.monitoring.health_check_enabled | bool | No | true | SWIT_MESSAGING_MONITORING_HEALTH_CHECK_ENABLED | yaml:health_check_enabled, json:health_check_enabled |
messaging.monitoring.health_check_interval | time.Duration | No | 30s | SWIT_MESSAGING_MONITORING_HEALTH_CHECK_INTERVAL | yaml:health_check_interval, json:health_check_interval |
messaging.monitoring.metrics_enabled | bool | No | true | SWIT_MESSAGING_MONITORING_METRICS_ENABLED | yaml:metrics_enabled, json:metrics_enabled |
messaging.monitoring.tracing_enabled | bool | No | SWIT_MESSAGING_MONITORING_TRACING_ENABLED | yaml:tracing_enabled, json:tracing_enabled | |
messaging.performance | MessagingPerformanceConfig | No | (struct) | SWIT_MESSAGING_PERFORMANCE | yaml:performance, json:performance |
messaging.performance
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
messaging.performance.batch_size | int | No | 100 | SWIT_MESSAGING_PERFORMANCE_BATCH_SIZE | yaml:batch_size, json:batch_size |
messaging.performance.batch_timeout | time.Duration | No | 100ms | SWIT_MESSAGING_PERFORMANCE_BATCH_TIMEOUT | yaml:batch_timeout, json:batch_timeout |
messaging.performance.buffer_size | int | No | 1000 | SWIT_MESSAGING_PERFORMANCE_BUFFER_SIZE | yaml:buffer_size, json:buffer_size |
messaging.performance.compression_enabled | bool | No | SWIT_MESSAGING_PERFORMANCE_COMPRESSION_ENABLED | yaml:compression_enabled, json:compression_enabled | |
messaging.performance.concurrency | int | No | 1 | SWIT_MESSAGING_PERFORMANCE_CONCURRENCY | yaml:concurrency, json:concurrency |
messaging.performance.prefetch_count | int | No | 10 | SWIT_MESSAGING_PERFORMANCE_PREFETCH_COUNT | yaml:prefetch_count, json:prefetch_count |
messaging.security | MessagingSecurityConfig | No | SWIT_MESSAGING_SECURITY | yaml:security, json:security |
messaging.security
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
messaging.security.enable_authentication | bool | No | SWIT_MESSAGING_SECURITY_ENABLE_AUTHENTICATION | yaml:enable_authentication, json:enable_authentication | |
messaging.security.enable_authorization | bool | No | SWIT_MESSAGING_SECURITY_ENABLE_AUTHORIZATION | yaml:enable_authorization, json:enable_authorization | |
messaging.security.enable_encryption | bool | No | SWIT_MESSAGING_SECURITY_ENABLE_ENCRYPTION | yaml:enable_encryption, json:enable_encryption | |
messaging.security.message_signing | bool | No | SWIT_MESSAGING_SECURITY_MESSAGE_SIGNING | yaml:message_signing, json:message_signing | |
messaging.shutdown | MessagingShutdownConfig | No | SWIT_MESSAGING_SHUTDOWN | yaml:shutdown, json:shutdown |
messaging.shutdown
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
messaging.shutdown.drain_timeout | time.Duration | No | SWIT_MESSAGING_SHUTDOWN_DRAIN_TIMEOUT | yaml:drain_timeout, json:drain_timeout | |
messaging.shutdown.force_timeout | time.Duration | No | SWIT_MESSAGING_SHUTDOWN_FORCE_TIMEOUT | yaml:force_timeout, json:force_timeout | |
messaging.shutdown.max_inflight_messages | int | No | SWIT_MESSAGING_SHUTDOWN_MAX_INFLIGHT_MESSAGES | yaml:max_inflight_messages, json:max_inflight_messages | |
messaging.shutdown.report_interval | time.Duration | No | SWIT_MESSAGING_SHUTDOWN_REPORT_INTERVAL | yaml:report_interval, json:report_interval | |
messaging.shutdown.timeout | time.Duration | No | SWIT_MESSAGING_SHUTDOWN_TIMEOUT | yaml:timeout, json:timeout | |
middleware | MiddlewareConfig | No | (struct) | SWIT_MIDDLEWARE | yaml:middleware, json:middleware |
middleware
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
middleware.enable_auth | bool | No | SWIT_MIDDLEWARE_ENABLE_AUTH | yaml:enable_auth, json:enable_auth | |
middleware.enable_cors | bool | No | true | SWIT_MIDDLEWARE_ENABLE_CORS | yaml:enable_cors, json:enable_cors |
middleware.enable_logging | bool | No | true | SWIT_MIDDLEWARE_ENABLE_LOGGING | yaml:enable_logging, json:enable_logging |
middleware.enable_rate_limit | bool | No | SWIT_MIDDLEWARE_ENABLE_RATE_LIMIT | yaml:enable_rate_limit, json:enable_rate_limit | |
prometheus | PrometheusConfig | No | (struct) | SWIT_PROMETHEUS | yaml:prometheus, json:prometheus |
prometheus
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
prometheus.buckets | PrometheusBuckets | No | (struct) | SWIT_PROMETHEUS_BUCKETS | yaml:buckets, json:buckets |
prometheus.buckets
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
prometheus.buckets.duration | []float | No | len=8 | SWIT_PROMETHEUS_BUCKETS_DURATION | yaml:duration, json:duration |
prometheus.buckets.size | []float | No | len=5 | SWIT_PROMETHEUS_BUCKETS_SIZE | yaml:size, json:size |
prometheus.cardinality_limit | int | No | 10000 | SWIT_PROMETHEUS_CARDINALITY_LIMIT | yaml:cardinality_limit, json:cardinality_limit |
prometheus.enabled | bool | No | true | SWIT_PROMETHEUS_ENABLED | yaml:enabled, json:enabled |
prometheus.endpoint | string | No | "/metrics" | SWIT_PROMETHEUS_ENDPOINT | yaml:endpoint, json:endpoint |
prometheus.labels | map[string]string | No | SWIT_PROMETHEUS_LABELS | yaml:labels, json:labels | |
prometheus.namespace | string | No | "swit" | SWIT_PROMETHEUS_NAMESPACE | yaml:namespace, json:namespace |
prometheus.subsystem | string | No | "server" | SWIT_PROMETHEUS_SUBSYSTEM | yaml:subsystem, json:subsystem |
sentry | SentryConfig | No | (struct) | SWIT_SENTRY | yaml:sentry, json:sentry |
sentry
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
sentry.attach_stacktrace | bool | No | true | SWIT_SENTRY_ATTACH_STACKTRACE | yaml:attach_stacktrace, json:attach_stacktrace |
sentry.before_send | bool | No | SWIT_SENTRY_BEFORE_SEND | yaml:before_send, json:before_send | |
sentry.capture_panics | bool | No | true | SWIT_SENTRY_CAPTURE_PANICS | yaml:capture_panics, json:capture_panics |
sentry.dsn | string | No | SWIT_SENTRY_DSN | yaml:dsn, json:dsn | |
sentry.debug | bool | No | SWIT_SENTRY_DEBUG | yaml:debug, json:debug | |
sentry.enable_tracing | bool | No | SWIT_SENTRY_ENABLE_TRACING | yaml:enable_tracing, json:enable_tracing | |
sentry.enabled | bool | No | SWIT_SENTRY_ENABLED | yaml:enabled, json:enabled | |
sentry.environment | string | No | "development" | SWIT_SENTRY_ENVIRONMENT | yaml:environment, json:environment |
sentry.http_ignore_paths | []string | No | SWIT_SENTRY_HTTP_IGNORE_PATHS | yaml:http_ignore_paths, json:http_ignore_paths | |
sentry.http_ignore_status_codes | []int | No | len=4 | SWIT_SENTRY_HTTP_IGNORE_STATUS_CODES | yaml:http_ignore_status_codes, json:http_ignore_status_codes |
sentry.ignore_errors | []string | No | SWIT_SENTRY_IGNORE_ERRORS | yaml:ignore_errors, json:ignore_errors | |
sentry.integrate_grpc | bool | No | true | SWIT_SENTRY_INTEGRATE_GRPC | yaml:integrate_grpc, json:integrate_grpc |
sentry.integrate_http | bool | No | true | SWIT_SENTRY_INTEGRATE_HTTP | yaml:integrate_http, json:integrate_http |
sentry.max_breadcrumbs | int | No | 30 | SWIT_SENTRY_MAX_BREADCRUMBS | yaml:max_breadcrumbs, json:max_breadcrumbs |
sentry.release | string | No | SWIT_SENTRY_RELEASE | yaml:release, json:release | |
sentry.sample_rate | float | No | 1 | SWIT_SENTRY_SAMPLE_RATE | yaml:sample_rate, json:sample_rate |
sentry.server_name | string | No | SWIT_SENTRY_SERVER_NAME | yaml:server_name, json:server_name | |
sentry.tags | map[string]string | No | SWIT_SENTRY_TAGS | yaml:tags, json:tags | |
sentry.traces_sample_rate | float | No | SWIT_SENTRY_TRACES_SAMPLE_RATE | yaml:traces_sample_rate, json:traces_sample_rate | |
service_name | string | No | "swit-service" | SWIT_SERVICE_NAME | yaml:service_name, json:service_name |
shutdown_timeout | time.Duration | No | 5s | SWIT_SHUTDOWN_TIMEOUT | yaml:shutdown_timeout, json:shutdown_timeout |
tracing | TracingConfig | No | SWIT_TRACING | yaml:tracing, json:tracing |
tracing
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
tracing.enabled | bool | No | SWIT_TRACING_ENABLED | yaml:enabled | |
tracing.exporter | ExporterConfig | No | SWIT_TRACING_EXPORTER | yaml:exporter |
tracing.exporter
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
tracing.exporter.endpoint | string | No | SWIT_TRACING_EXPORTER_ENDPOINT | yaml:endpoint | |
tracing.exporter.headers | map[string]string | No | SWIT_TRACING_EXPORTER_HEADERS | yaml:headers | |
tracing.exporter.jaeger | JaegerConfig | No | SWIT_TRACING_EXPORTER_JAEGER | yaml:jaeger |
tracing.exporter.jaeger
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
tracing.exporter.jaeger.agent_endpoint | string | No | SWIT_TRACING_EXPORTER_JAEGER_AGENT_ENDPOINT | yaml:agent_endpoint | |
tracing.exporter.jaeger.collector_endpoint | string | No | SWIT_TRACING_EXPORTER_JAEGER_COLLECTOR_ENDPOINT | yaml:collector_endpoint | |
tracing.exporter.jaeger.password | string | No | SWIT_TRACING_EXPORTER_JAEGER_PASSWORD | yaml:password | |
tracing.exporter.jaeger.rpc_timeout | string | No | SWIT_TRACING_EXPORTER_JAEGER_RPC_TIMEOUT | yaml:rpc_timeout | |
tracing.exporter.jaeger.username | string | No | SWIT_TRACING_EXPORTER_JAEGER_USERNAME | yaml:username | |
tracing.exporter.otlp | OTLPConfig | No | SWIT_TRACING_EXPORTER_OTLP | yaml:otlp |
tracing.exporter.otlp
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
tracing.exporter.otlp.compression | string | No | SWIT_TRACING_EXPORTER_OTLP_COMPRESSION | yaml:compression | |
tracing.exporter.otlp.endpoint | string | No | SWIT_TRACING_EXPORTER_OTLP_ENDPOINT | yaml:endpoint | |
tracing.exporter.otlp.headers | map[string]string | No | SWIT_TRACING_EXPORTER_OTLP_HEADERS | yaml:headers | |
tracing.exporter.otlp.insecure | bool | No | SWIT_TRACING_EXPORTER_OTLP_INSECURE | yaml:insecure | |
tracing.exporter.timeout | string | No | SWIT_TRACING_EXPORTER_TIMEOUT | yaml:timeout | |
tracing.exporter.type | string | No | SWIT_TRACING_EXPORTER_TYPE | yaml:type | |
tracing.propagators | []string | No | SWIT_TRACING_PROPAGATORS | yaml:propagators | |
tracing.resource_attributes | map[string]string | No | SWIT_TRACING_RESOURCE_ATTRIBUTES | yaml:resource_attributes | |
tracing.sampling | SamplingConfig | No | SWIT_TRACING_SAMPLING | yaml:sampling |
tracing.sampling
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
tracing.sampling.rate | float | No | SWIT_TRACING_SAMPLING_RATE | yaml:rate | |
tracing.sampling.type | string | No | SWIT_TRACING_SAMPLING_TYPE | yaml:type | |
tracing.service_name | string | No | SWIT_TRACING_SERVICE_NAME | yaml:service_name |
Messaging BrokerConfig
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
messaging.brokers.<name>.audit | MessagingAuditConfig | No | SWIT_MESSAGING_BROKERS_<NAME>_AUDIT | yaml:audit, json:audit |
messaging.brokers.<name>.audit
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
messaging.brokers.<name>.audit.buffer_size | int | No | 1000 | SWIT_MESSAGING_BROKERS_<NAME>_AUDIT_BUFFER_SIZE | yaml:buffer_size, json:buffer_size, default:1000 |
messaging.brokers.<name>.audit.enabled | bool | No | true | SWIT_MESSAGING_BROKERS_<NAME>_AUDIT_ENABLED | yaml:enabled, json:enabled, default:true |
messaging.brokers.<name>.audit.events | []string | No | SWIT_MESSAGING_BROKERS_<NAME>_AUDIT_EVENTS | yaml:events, json:events | |
messaging.brokers.<name>.audit.flush_interval | time.Duration | No | 5s | SWIT_MESSAGING_BROKERS_<NAME>_AUDIT_FLUSH_INTERVAL | yaml:flush_interval, json:flush_interval, default:5s |
messaging.brokers.<name>.audit.include_auth_context | bool | No | true | SWIT_MESSAGING_BROKERS_<NAME>_AUDIT_INCLUDE_AUTH_CONTEXT | yaml:include_auth_context, json:include_auth_context, default:true |
messaging.brokers.<name>.audit.include_headers | bool | No | true | SWIT_MESSAGING_BROKERS_<NAME>_AUDIT_INCLUDE_HEADERS | yaml:include_headers, json:include_headers, default:true |
messaging.brokers.<name>.audit.include_payload | bool | No | false | SWIT_MESSAGING_BROKERS_<NAME>_AUDIT_INCLUDE_PAYLOAD | yaml:include_payload, json:include_payload, default:false |
messaging.brokers.<name>.audit.log_level | string | No | standard | SWIT_MESSAGING_BROKERS_<NAME>_AUDIT_LOG_LEVEL | yaml:log_level, json:log_level, default:standard |
messaging.brokers.<name>.audit.retention_period | time.Duration | No | 168h | SWIT_MESSAGING_BROKERS_<NAME>_AUDIT_RETENTION_PERIOD | yaml:retention_period, json:retention_period, default:168h |
messaging.brokers.<name>.audit.sampling_rate | float | No | 1.0 | SWIT_MESSAGING_BROKERS_<NAME>_AUDIT_SAMPLING_RATE | yaml:sampling_rate, json:sampling_rate, default:1.0 |
messaging.brokers.<name>.authentication | AuthConfig | No | SWIT_MESSAGING_BROKERS_<NAME>_AUTHENTICATION | yaml:authentication, json:authentication |
messaging.brokers.<name>.authentication
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
messaging.brokers.<name>.authentication.api_key | string | No | SWIT_MESSAGING_BROKERS_<NAME>_AUTHENTICATION_API_KEY | yaml:api_key, json:api_key | |
messaging.brokers.<name>.authentication.cert_file | string | No | SWIT_MESSAGING_BROKERS_<NAME>_AUTHENTICATION_CERT_FILE | yaml:cert_file, json:cert_file | |
messaging.brokers.<name>.authentication.client_id | string | No | SWIT_MESSAGING_BROKERS_<NAME>_AUTHENTICATION_CLIENT_ID | yaml:client_id, json:client_id | |
messaging.brokers.<name>.authentication.client_secret | string | No | SWIT_MESSAGING_BROKERS_<NAME>_AUTHENTICATION_CLIENT_SECRET | yaml:client_secret, json:client_secret | |
messaging.brokers.<name>.authentication.key_file | string | No | SWIT_MESSAGING_BROKERS_<NAME>_AUTHENTICATION_KEY_FILE | yaml:key_file, json:key_file | |
messaging.brokers.<name>.authentication.mechanism | string | No | SWIT_MESSAGING_BROKERS_<NAME>_AUTHENTICATION_MECHANISM | yaml:mechanism, json:mechanism | |
messaging.brokers.<name>.authentication.password | string | No | SWIT_MESSAGING_BROKERS_<NAME>_AUTHENTICATION_PASSWORD | yaml:password, json:password | |
messaging.brokers.<name>.authentication.scopes | []string | No | SWIT_MESSAGING_BROKERS_<NAME>_AUTHENTICATION_SCOPES | yaml:scopes, json:scopes | |
messaging.brokers.<name>.authentication.token | string | No | SWIT_MESSAGING_BROKERS_<NAME>_AUTHENTICATION_TOKEN | yaml:token, json:token | |
messaging.brokers.<name>.authentication.token_url | string | No | SWIT_MESSAGING_BROKERS_<NAME>_AUTHENTICATION_TOKEN_URL | yaml:token_url, json:token_url | |
messaging.brokers.<name>.authentication.type | string | Yes | SWIT_MESSAGING_BROKERS_<NAME>_AUTHENTICATION_TYPE | yaml:type, json:type, validate:required,oneof=none sasl oauth2 apikey jwt certificate | |
messaging.brokers.<name>.authentication.username | string | No | SWIT_MESSAGING_BROKERS_<NAME>_AUTHENTICATION_USERNAME | yaml:username, json:username | |
messaging.brokers.<name>.compliance | ComplianceConfig | No | SWIT_MESSAGING_BROKERS_<NAME>_COMPLIANCE | yaml:compliance, json:compliance |
messaging.brokers.<name>.compliance
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
messaging.brokers.<name>.compliance.enabled | bool | No | SWIT_MESSAGING_BROKERS_<NAME>_COMPLIANCE_ENABLED | yaml:enabled, json:enabled | |
messaging.brokers.<name>.compliance.redaction | ComplianceRedactionConfig | No | SWIT_MESSAGING_BROKERS_<NAME>_COMPLIANCE_REDACTION | yaml:redaction, json:redaction |
messaging.brokers.<name>.compliance.redaction
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
messaging.brokers.<name>.compliance.redaction.enabled | bool | No | SWIT_MESSAGING_BROKERS_<NAME>_COMPLIANCE_REDACTION_ENABLED | yaml:enabled, json:enabled | |
messaging.brokers.<name>.compliance.redaction.fields | []string | No | SWIT_MESSAGING_BROKERS_<NAME>_COMPLIANCE_REDACTION_FIELDS | yaml:fields, json:fields | |
messaging.brokers.<name>.compliance.redaction.payload_enabled | bool | No | SWIT_MESSAGING_BROKERS_<NAME>_COMPLIANCE_REDACTION_PAYLOAD_ENABLED | yaml:payload_enabled, json:payload_enabled | |
messaging.brokers.<name>.compliance.reporting | ComplianceReportingConfig | No | SWIT_MESSAGING_BROKERS_<NAME>_COMPLIANCE_REPORTING | yaml:reporting, json:reporting |
messaging.brokers.<name>.compliance.reporting
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
messaging.brokers.<name>.compliance.reporting.enabled | bool | No | SWIT_MESSAGING_BROKERS_<NAME>_COMPLIANCE_REPORTING_ENABLED | yaml:enabled, json:enabled | |
messaging.brokers.<name>.compliance.reporting.interval | time.Duration | No | SWIT_MESSAGING_BROKERS_<NAME>_COMPLIANCE_REPORTING_INTERVAL | yaml:interval, json:interval | |
messaging.brokers.<name>.compliance.reporting.log_enabled | bool | No | SWIT_MESSAGING_BROKERS_<NAME>_COMPLIANCE_REPORTING_LOG_ENABLED | yaml:log_enabled, json:log_enabled | |
messaging.brokers.<name>.compliance.reporting.metrics_enabled | bool | No | SWIT_MESSAGING_BROKERS_<NAME>_COMPLIANCE_REPORTING_METRICS_ENABLED | yaml:metrics_enabled, json:metrics_enabled | |
messaging.brokers.<name>.compliance.residency | ComplianceResidencyConfig | No | SWIT_MESSAGING_BROKERS_<NAME>_COMPLIANCE_RESIDENCY | yaml:residency, json:residency |
messaging.brokers.<name>.compliance.residency
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
messaging.brokers.<name>.compliance.residency.allowed_regions | []string | No | SWIT_MESSAGING_BROKERS_<NAME>_COMPLIANCE_RESIDENCY_ALLOWED_REGIONS | yaml:allowed_regions, json:allowed_regions | |
messaging.brokers.<name>.compliance.residency.enforce | bool | No | SWIT_MESSAGING_BROKERS_<NAME>_COMPLIANCE_RESIDENCY_ENFORCE | yaml:enforce, json:enforce | |
messaging.brokers.<name>.compliance.retention | ComplianceRetentionConfig | No | SWIT_MESSAGING_BROKERS_<NAME>_COMPLIANCE_RETENTION | yaml:retention, json:retention |
messaging.brokers.<name>.compliance.retention
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
messaging.brokers.<name>.compliance.retention.default_period | time.Duration | No | SWIT_MESSAGING_BROKERS_<NAME>_COMPLIANCE_RETENTION_DEFAULT_PERIOD | yaml:default_period, json:default_period | |
messaging.brokers.<name>.compliance.retention.enabled | bool | No | SWIT_MESSAGING_BROKERS_<NAME>_COMPLIANCE_RETENTION_ENABLED | yaml:enabled, json:enabled | |
messaging.brokers.<name>.compliance.retention.topic_overrides | map[string]time.Duration | No | SWIT_MESSAGING_BROKERS_<NAME>_COMPLIANCE_RETENTION_TOPIC_OVERRIDES | yaml:topic_overrides, json:topic_overrides | |
messaging.brokers.<name>.connection | ConnectionConfig | No | (struct) | SWIT_MESSAGING_BROKERS_<NAME>_CONNECTION | yaml:connection, json:connection |
messaging.brokers.<name>.connection
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
messaging.brokers.<name>.connection.idle_timeout | time.Duration | No | 5m | SWIT_MESSAGING_BROKERS_<NAME>_CONNECTION_IDLE_TIMEOUT | yaml:idle_timeout, json:idle_timeout, default:5m |
messaging.brokers.<name>.connection.keep_alive | time.Duration | No | 30s | SWIT_MESSAGING_BROKERS_<NAME>_CONNECTION_KEEP_ALIVE | yaml:keep_alive, json:keep_alive, default:30s |
messaging.brokers.<name>.connection.max_attempts | int | No | 3 | SWIT_MESSAGING_BROKERS_<NAME>_CONNECTION_MAX_ATTEMPTS | yaml:max_attempts, json:max_attempts, default:3 |
messaging.brokers.<name>.connection.pool_size | int | No | 10 | SWIT_MESSAGING_BROKERS_<NAME>_CONNECTION_POOL_SIZE | yaml:pool_size, json:pool_size, default:10 |
messaging.brokers.<name>.connection.timeout | time.Duration | No | 10s | SWIT_MESSAGING_BROKERS_<NAME>_CONNECTION_TIMEOUT | yaml:timeout, json:timeout, default:10s |
messaging.brokers.<name>.endpoints | []string | Yes | SWIT_MESSAGING_BROKERS_<NAME>_ENDPOINTS | yaml:endpoints, json:endpoints, validate:required,min=1,dive,endpoint | |
messaging.brokers.<name>.extra | map[string]interface {} | No | SWIT_MESSAGING_BROKERS_<NAME>_EXTRA | yaml:extra, json:extra | |
messaging.brokers.<name>.monitoring | MonitoringConfig | No | (struct) | SWIT_MESSAGING_BROKERS_<NAME>_MONITORING | yaml:monitoring, json:monitoring |
messaging.brokers.<name>.monitoring
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
messaging.brokers.<name>.monitoring.enabled | bool | No | true | SWIT_MESSAGING_BROKERS_<NAME>_MONITORING_ENABLED | yaml:enabled, json:enabled, default:true |
messaging.brokers.<name>.monitoring.health_check_interval | time.Duration | No | 30s | SWIT_MESSAGING_BROKERS_<NAME>_MONITORING_HEALTH_CHECK_INTERVAL | yaml:health_check_interval, json:health_check_interval, default:30s |
messaging.brokers.<name>.monitoring.health_check_timeout | time.Duration | No | 5s | SWIT_MESSAGING_BROKERS_<NAME>_MONITORING_HEALTH_CHECK_TIMEOUT | yaml:health_check_timeout, json:health_check_timeout, default:5s |
messaging.brokers.<name>.monitoring.metrics_interval | time.Duration | No | 30s | SWIT_MESSAGING_BROKERS_<NAME>_MONITORING_METRICS_INTERVAL | yaml:metrics_interval, json:metrics_interval, default:30s |
messaging.brokers.<name>.retry | RetryConfig | No | (struct) | SWIT_MESSAGING_BROKERS_<NAME>_RETRY | yaml:retry, json:retry |
messaging.brokers.<name>.retry
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
messaging.brokers.<name>.retry.initial_delay | time.Duration | No | 1s | SWIT_MESSAGING_BROKERS_<NAME>_RETRY_INITIAL_DELAY | yaml:initial_delay, json:initial_delay, default:1s |
messaging.brokers.<name>.retry.jitter | float | No | 0.1 | SWIT_MESSAGING_BROKERS_<NAME>_RETRY_JITTER | yaml:jitter, json:jitter, default:0.1 |
messaging.brokers.<name>.retry.max_attempts | int | No | 3 | SWIT_MESSAGING_BROKERS_<NAME>_RETRY_MAX_ATTEMPTS | yaml:max_attempts, json:max_attempts, default:3 |
messaging.brokers.<name>.retry.max_delay | time.Duration | No | 30s | SWIT_MESSAGING_BROKERS_<NAME>_RETRY_MAX_DELAY | yaml:max_delay, json:max_delay, default:30s |
messaging.brokers.<name>.retry.multiplier | float | No | 2.0 | SWIT_MESSAGING_BROKERS_<NAME>_RETRY_MULTIPLIER | yaml:multiplier, json:multiplier, default:2.0 |
messaging.brokers.<name>.tls | TLSConfig | No | SWIT_MESSAGING_BROKERS_<NAME>_TLS | yaml:tls, json:tls |
messaging.brokers.<name>.tls
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
messaging.brokers.<name>.tls.ca_file | string | No | SWIT_MESSAGING_BROKERS_<NAME>_TLS_CA_FILE | yaml:ca_file, json:ca_file | |
messaging.brokers.<name>.tls.cert_file | string | No | SWIT_MESSAGING_BROKERS_<NAME>_TLS_CERT_FILE | yaml:cert_file, json:cert_file | |
messaging.brokers.<name>.tls.enabled | bool | No | SWIT_MESSAGING_BROKERS_<NAME>_TLS_ENABLED | yaml:enabled, json:enabled | |
messaging.brokers.<name>.tls.key_file | string | No | SWIT_MESSAGING_BROKERS_<NAME>_TLS_KEY_FILE | yaml:key_file, json:key_file | |
messaging.brokers.<name>.tls.server_name | string | No | SWIT_MESSAGING_BROKERS_<NAME>_TLS_SERVER_NAME | yaml:server_name, json:server_name | |
messaging.brokers.<name>.tls.skip_verify | bool | No | SWIT_MESSAGING_BROKERS_<NAME>_TLS_SKIP_VERIFY | yaml:skip_verify, json:skip_verify | |
messaging.brokers.<name>.type | string | Yes | SWIT_MESSAGING_BROKERS_<NAME>_TYPE | yaml:type, json:type, validate:required,oneof=kafka nats rabbitmq inmemory |
Kafka Adapter (Extra)
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
messaging.brokers.<name>.extra.kafka.compression | string | No | "none" | SWIT_MESSAGING_BROKERS_<NAME>_EXTRA_KAFKA_COMPRESSION | yaml:compression, json:compression |
messaging.brokers.<name>.extra.kafka.producer | ProducerConfig | No | (struct) | SWIT_MESSAGING_BROKERS_<NAME>_EXTRA_KAFKA_PRODUCER | yaml:producer, json:producer |
messaging.brokers.<name>.extra.kafka.producer
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
messaging.brokers.<name>.extra.kafka.producer.acks | string | No | "leader" | SWIT_MESSAGING_BROKERS_<NAME>_EXTRA_KAFKA_PRODUCER_ACKS | yaml:acks, json:acks |
messaging.brokers.<name>.extra.kafka.producer.batching | ProducerBatchingConfig | No | (struct) | SWIT_MESSAGING_BROKERS_<NAME>_EXTRA_KAFKA_PRODUCER_BATCHING | yaml:batching, json:batching |
messaging.brokers.<name>.extra.kafka.producer.batching
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
messaging.brokers.<name>.extra.kafka.producer.batching.max_bytes | int | No | SWIT_MESSAGING_BROKERS_<NAME>_EXTRA_KAFKA_PRODUCER_BATCHING_MAX_BYTES | yaml:max_bytes, json:max_bytes | |
messaging.brokers.<name>.extra.kafka.producer.batching.timeout | int | No | 100000000 | SWIT_MESSAGING_BROKERS_<NAME>_EXTRA_KAFKA_PRODUCER_BATCHING_TIMEOUT | yaml:timeout, json:timeout |
messaging.brokers.<name>.extra.kafka.producer.compression | string | No | SWIT_MESSAGING_BROKERS_<NAME>_EXTRA_KAFKA_PRODUCER_COMPRESSION | yaml:compression, json:compression | |
messaging.brokers.<name>.extra.kafka.producer.idempotent | bool | No | SWIT_MESSAGING_BROKERS_<NAME>_EXTRA_KAFKA_PRODUCER_IDEMPOTENT | yaml:idempotent, json:idempotent | |
messaging.brokers.<name>.extra.kafka.timeouts | TimeoutConfig | No | (struct) | SWIT_MESSAGING_BROKERS_<NAME>_EXTRA_KAFKA_TIMEOUTS | yaml:timeouts, json:timeouts |
messaging.brokers.<name>.extra.kafka.timeouts
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
messaging.brokers.<name>.extra.kafka.timeouts.dial | int | No | 10000000000 | SWIT_MESSAGING_BROKERS_<NAME>_EXTRA_KAFKA_TIMEOUTS_DIAL | yaml:dial, json:dial |
messaging.brokers.<name>.extra.kafka.timeouts.read | int | No | 30000000000 | SWIT_MESSAGING_BROKERS_<NAME>_EXTRA_KAFKA_TIMEOUTS_READ | yaml:read, json:read |
messaging.brokers.<name>.extra.kafka.timeouts.write | int | No | 30000000000 | SWIT_MESSAGING_BROKERS_<NAME>_EXTRA_KAFKA_TIMEOUTS_WRITE | yaml:write, json:write |
RabbitMQ Adapter (Extra)
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
messaging.brokers.<name>.extra.rabbitmq.channels | ChannelPoolConfig | No | (struct) | SWIT_MESSAGING_BROKERS_<NAME>_EXTRA_RABBITMQ_CHANNELS | yaml:channels, json:channels |
messaging.brokers.<name>.extra.rabbitmq.channels
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
messaging.brokers.<name>.extra.rabbitmq.channels.acquire_timeout | int | No | 5000000000 | SWIT_MESSAGING_BROKERS_<NAME>_EXTRA_RABBITMQ_CHANNELS_ACQUIRE_TIMEOUT | yaml:acquire_timeout, json:acquire_timeout |
messaging.brokers.<name>.extra.rabbitmq.channels.idle_ttl | int | No | 60000000000 | SWIT_MESSAGING_BROKERS_<NAME>_EXTRA_RABBITMQ_CHANNELS_IDLE_TTL | yaml:idle_ttl, json:idle_ttl |
messaging.brokers.<name>.extra.rabbitmq.channels.max_per_connection | int | No | 16 | SWIT_MESSAGING_BROKERS_<NAME>_EXTRA_RABBITMQ_CHANNELS_MAX_PER_CONNECTION | yaml:max_per_connection, json:max_per_connection |
messaging.brokers.<name>.extra.rabbitmq.qos | QoSConfig | No | (struct) | SWIT_MESSAGING_BROKERS_<NAME>_EXTRA_RABBITMQ_QOS | yaml:qos, json:qos |
messaging.brokers.<name>.extra.rabbitmq.qos
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
messaging.brokers.<name>.extra.rabbitmq.qos.global | bool | No | SWIT_MESSAGING_BROKERS_<NAME>_EXTRA_RABBITMQ_QOS_GLOBAL | yaml:global, json:global | |
messaging.brokers.<name>.extra.rabbitmq.qos.prefetch_count | int | No | 50 | SWIT_MESSAGING_BROKERS_<NAME>_EXTRA_RABBITMQ_QOS_PREFETCH_COUNT | yaml:prefetch_count, json:prefetch_count |
messaging.brokers.<name>.extra.rabbitmq.qos.prefetch_size | int | No | SWIT_MESSAGING_BROKERS_<NAME>_EXTRA_RABBITMQ_QOS_PREFETCH_SIZE | yaml:prefetch_size, json:prefetch_size | |
messaging.brokers.<name>.extra.rabbitmq.reconnect | ReconnectConfig | No | (struct) | SWIT_MESSAGING_BROKERS_<NAME>_EXTRA_RABBITMQ_RECONNECT | yaml:reconnect, json:reconnect |
messaging.brokers.<name>.extra.rabbitmq.reconnect
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
messaging.brokers.<name>.extra.rabbitmq.reconnect.enabled | bool | No | true | SWIT_MESSAGING_BROKERS_<NAME>_EXTRA_RABBITMQ_RECONNECT_ENABLED | yaml:enabled, json:enabled |
messaging.brokers.<name>.extra.rabbitmq.reconnect.initial_delay | int | No | 500000000 | SWIT_MESSAGING_BROKERS_<NAME>_EXTRA_RABBITMQ_RECONNECT_INITIAL_DELAY | yaml:initial_delay, json:initial_delay |
messaging.brokers.<name>.extra.rabbitmq.reconnect.jitter_percent | int | No | 20 | SWIT_MESSAGING_BROKERS_<NAME>_EXTRA_RABBITMQ_RECONNECT_JITTER_PERCENT | yaml:jitter_percent, json:jitter_percent |
messaging.brokers.<name>.extra.rabbitmq.reconnect.max_delay | int | No | 30000000000 | SWIT_MESSAGING_BROKERS_<NAME>_EXTRA_RABBITMQ_RECONNECT_MAX_DELAY | yaml:max_delay, json:max_delay |
messaging.brokers.<name>.extra.rabbitmq.reconnect.max_retries | int | No | SWIT_MESSAGING_BROKERS_<NAME>_EXTRA_RABBITMQ_RECONNECT_MAX_RETRIES | yaml:max_retries, json:max_retries | |
messaging.brokers.<name>.extra.rabbitmq.timeouts | TimeoutConfig | No | (struct) | SWIT_MESSAGING_BROKERS_<NAME>_EXTRA_RABBITMQ_TIMEOUTS | yaml:timeouts, json:timeouts |
messaging.brokers.<name>.extra.rabbitmq.timeouts
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
messaging.brokers.<name>.extra.rabbitmq.timeouts.dial | int | No | 10000000000 | SWIT_MESSAGING_BROKERS_<NAME>_EXTRA_RABBITMQ_TIMEOUTS_DIAL | yaml:dial, json:dial |
messaging.brokers.<name>.extra.rabbitmq.timeouts.heartbeat | int | No | 30000000000 | SWIT_MESSAGING_BROKERS_<NAME>_EXTRA_RABBITMQ_TIMEOUTS_HEARTBEAT | yaml:heartbeat, json:heartbeat |
messaging.brokers.<name>.extra.rabbitmq.timeouts.operation | int | No | 5000000000 | SWIT_MESSAGING_BROKERS_<NAME>_EXTRA_RABBITMQ_TIMEOUTS_OPERATION | yaml:operation, json:operation |
messaging.brokers.<name>.extra.rabbitmq.topology | TopologyConfig | No | SWIT_MESSAGING_BROKERS_<NAME>_EXTRA_RABBITMQ_TOPOLOGY | yaml:topology, json:topology |
messaging.brokers.<name>.extra.rabbitmq.topology
| Key | Type | Required | Default | Env Var | Tags |
|---|---|---|---|---|---|
messaging.brokers.<name>.extra.rabbitmq.topology.bindings | []BindingConfig | No | SWIT_MESSAGING_BROKERS_<NAME>_EXTRA_RABBITMQ_TOPOLOGY_BINDINGS | yaml:bindings, json:bindings | |
messaging.brokers.<name>.extra.rabbitmq.topology.exchanges | map[string]ExchangeConfig | No | SWIT_MESSAGING_BROKERS_<NAME>_EXTRA_RABBITMQ_TOPOLOGY_EXCHANGES | yaml:exchanges, json:exchanges | |
messaging.brokers.<name>.extra.rabbitmq.topology.queues | map[string]QueueConfig | No | SWIT_MESSAGING_BROKERS_<NAME>_EXTRA_RABBITMQ_TOPOLOGY_QUEUES | yaml:queues, json:queues |