package envconfig

Import Path
	google.golang.org/grpc/internal/envconfig (on go.dev)

Dependency Relation
	imports 3 packages, and imported by 5 packages

Involved Source Files Package envconfig contains grpc settings configured by environment variables. observability.go xds.go
Package-Level Variables (total 22)
ALTSHandshakerKeepaliveParams is set if we should add the KeepaliveParams when dial the ALTS handshaker service.
ALTSMaxConcurrentHandshakes is the maximum number of concurrent ALTS handshakes that can be performed.
C2PResolverTestOnlyTrafficDirectorURI is the TD URI for testing.
DisableStrictPathChecking indicates whether strict path checking is disabled. This feature can be disabled by setting the environment variable GRPC_GO_EXPERIMENTAL_DISABLE_STRICT_PATH_CHECKING to "true". When strict path checking is enabled, gRPC will reject requests with paths that do not conform to the gRPC over HTTP/2 specification found at https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md. When disabled, gRPC will allow paths that do not contain a leading slash. Enabling strict path checking is recommended for security reasons, as it prevents potential path traversal vulnerabilities. A future release will remove this environment variable, enabling strict path checking behavior unconditionally.
EnableDefaultPortForProxyTarget controls whether the resolver adds a default port 443 to a target address that lacks one. This flag only has an effect when all of the following conditions are met: - A connect proxy is being used. - Target resolution is disabled. - The DNS resolver is being used.
EnableTXTServiceConfig is set if the DNS resolver should perform TXT lookups for service config ("GRPC_ENABLE_TXT_SERVICE_CONFIG" is not "false").
EnforceALPNEnabled is set if TLS connections to servers with ALPN disabled should be rejected. The HTTP/2 protocol requires ALPN to be enabled, this option is present for backward compatibility. This option may be overridden by setting the environment variable "GRPC_ENFORCE_ALPN_ENABLED" to "true" or "false".
ObservabilityConfig is the json configuration for the gcp/observability package specified directly in the envObservabilityConfig env var. This is used in the 1.0 release of gcp/observability, and thus must not be deleted or changed.
ObservabilityConfigFile is the json configuration for the gcp/observability specified in a file with the location specified in envObservabilityConfigFile env var. This is used in the 1.0 release of gcp/observability, and thus must not be deleted or changed.
PickFirstWeightedShuffling indicates whether weighted endpoint shuffling is enabled in the pick_first LB policy, as defined in gRFC A113. This feature can be disabled by setting the environment variable GRPC_EXPERIMENTAL_PF_WEIGHTED_SHUFFLING to "false".
RingHashCap indicates the maximum ring size which defaults to 4096 entries but may be overridden by setting the environment variable "GRPC_RING_HASH_CAP". This does not override the default bounds checking which NACKs configs specifying ring sizes > 8*1024*1024 (~8M).
RingHashSetRequestHashKey is set if the ring hash balancer can get the request hash header by setting the "requestHashHeader" field, according to gRFC A76. It can be enabled by setting the environment variable "GRPC_EXPERIMENTAL_RING_HASH_SET_REQUEST_HASH_KEY" to "true".
TXTErrIgnore is set if TXT errors should be ignored ("GRPC_GO_IGNORE_TXT_ERRORS" is not "false").
XDSAuthorityRewrite indicates whether xDS authority rewriting is enabled. This feature is defined in gRFC A81 and is enabled by setting the environment variable GRPC_EXPERIMENTAL_XDS_AUTHORITY_REWRITE to "true".
XDSBootstrapCallCredsEnabled controls if call credentials can be used in xDS bootstrap configuration via the `call_creds` field. For more details, see: https://github.com/grpc/proposal/blob/master/A97-xds-jwt-call-creds.md
XDSBootstrapFileContent holds the content of the xDS bootstrap configuration. Users can specify the bootstrap config by setting the environment variable "GRPC_XDS_BOOTSTRAP_CONFIG". When both bootstrap FileName and FileContent are set, FileName is used.
XDSBootstrapFileName holds the name of the file which contains xDS bootstrap configuration. Users can specify the location of the bootstrap file by setting the environment variable "GRPC_XDS_BOOTSTRAP". When both bootstrap FileName and FileContent are set, FileName is used.
XDSDualstackEndpointsEnabled is true if gRPC should read the "additional addresses" in the xDS endpoint resource.
XDSEndpointHashKeyBackwardCompat controls the parsing of the endpoint hash key from EDS LbEndpoint metadata. Endpoint hash keys can be disabled by setting "GRPC_XDS_ENDPOINT_HASH_KEY_BACKWARD_COMPAT" to "true". When the implementation of A76 is stable, we will flip the default value to false in a subsequent release. A final release will remove this environment variable, enabling the new behavior unconditionally.
XDSHTTPConnectEnabled is true if gRPC should parse custom Metadata configuring use of an HTTP CONNECT proxy via xDS from cluster resources. For more details, see: https://github.com/grpc/proposal/blob/master/A86-xds-http-connect.md
XDSSPIFFEEnabled controls if SPIFFE Bundle Maps can be used as roots of trust. For more details, see: https://github.com/grpc/proposal/blob/master/A87-mtls-spiffe-support.md
XDSSystemRootCertsEnabled is true when xDS enabled gRPC clients can use the system's default root certificates for TLS certificate validation. For more details, see: https://github.com/grpc/proposal/blob/master/A82-xds-system-root-certs.md.
Package-Level Constants (total 2)
XDSBootstrapFileContentEnv is the env variable to set bootstrap file content. Do not use this and read from env directly. Its value is read and kept in variable XDSBootstrapFileContent. When both bootstrap FileName and FileContent are set, FileName is used.
XDSBootstrapFileNameEnv is the env variable to set bootstrap file name. Do not use this and read from env directly. Its value is read and kept in variable XDSBootstrapFileName. When both bootstrap FileName and FileContent are set, FileName is used.