1# Copyright 2022 gRPC authors. 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14 15# File format: 16# 17# Each config var gets a name, and a type (one of string, int, bool). 18# 19# A default value is provided. Defaults prefixed by '$' are read as expressions, 20# otherwise they're assumed literals. 21# A description field must be present. 22# 23# Optionally, a force-load-on-access: true flag can be added to force checking 24# the environment variables every time the value is queried, to match legacy 25# behavior for some environment variables. 26# 27# Optionally, fuzz: true can be added to enable fuzzers to explore variations 28# in this config var with their regular fuzzing work - or fuzz: FunctionName 29# can be used to specify that the config space be explored, but FunctionName should be called to pre-format/validate the value for fuzzing. 30# Such functions should be listed in fuzz_config_vars_helpers.h. 31 32- name: experiments 33 type: comma_separated_string 34 description: 35 A comma separated list of currently active experiments. Experiments may be 36 prefixed with a '-' to disable them. 37 default: 38 fuzz: ValidateExperimentsStringForFuzzing 39- name: client_channel_backup_poll_interval_ms 40 type: int 41 default: 5000 42 description: 43 Declares the interval in ms between two backup polls on client channels. 44 These polls are run in the timer thread so that gRPC can process 45 connection failures while there is no active polling thread. 46 They help reconnect disconnected client channels (mostly due to 47 idleness), so that the next RPC on this channel won't fail. Set to 0 to 48 turn off the backup polls. 49- name: dns_resolver 50 default: 51 type: string 52 description: 53 Declares which DNS resolver to use. The default is ares if gRPC is built 54 with c-ares support. Otherwise, the value of this environment variable is 55 ignored. 56 fuzz: true 57- name: trace 58 type: comma_separated_string 59 default: 60 description: 61 A comma separated list of tracers that provide additional insight into 62 how gRPC C core is processing requests via debug logs. 63 fuzz: true 64- name: verbosity 65 type: string 66 prelude: | 67 #ifndef GPR_DEFAULT_LOG_VERBOSITY_STRING 68 #define GPR_DEFAULT_LOG_VERBOSITY_STRING "ERROR" 69 #endif // !GPR_DEFAULT_LOG_VERBOSITY_STRING 70 default: $GPR_DEFAULT_LOG_VERBOSITY_STRING 71 description: 72 Default gRPC logging verbosity 73 fuzz: true 74- name: stacktrace_minloglevel 75 type: string 76 default: 77 description: 78 Messages logged at the same or higher level than this will print stacktrace 79 fuzz: true 80- name: enable_fork_support 81 type: bool 82 description: Enable fork support 83 prelude: | 84 #ifdef GRPC_ENABLE_FORK_SUPPORT 85 #define GRPC_ENABLE_FORK_SUPPORT_DEFAULT true 86 #else 87 #define GRPC_ENABLE_FORK_SUPPORT_DEFAULT false 88 #endif // GRPC_ENABLE_FORK_SUPPORT 89 default: $GRPC_ENABLE_FORK_SUPPORT_DEFAULT 90 fuzz: true 91- name: poll_strategy 92 type: string 93 description: 94 Declares which polling engines to try when starting gRPC. 95 This is a comma-separated list of engines, which are tried in priority 96 order first -> last. 97 default: all 98- name: abort_on_leaks 99 type: bool 100 default: false 101 description: 102 A debugging aid to cause a call to abort() when gRPC objects are leaked 103 past grpc_shutdown() 104- name: system_ssl_roots_dir 105 type: string 106 default: 107 description: Custom directory to SSL Roots 108 force-load-on-access: true 109- name: default_ssl_roots_file_path 110 type: string 111 default: 112 description: Path to the default SSL roots file. 113 force-load-on-access: true 114- name: not_use_system_ssl_roots 115 type: bool 116 default: false 117 description: Disable loading system root certificates. 118- name: ssl_cipher_suites 119 type: string 120 description: A colon separated list of cipher suites to use with OpenSSL 121 default: "TLS_AES_128_GCM_SHA256:\ 122 TLS_AES_256_GCM_SHA384:\ 123 TLS_CHACHA20_POLY1305_SHA256:\ 124 ECDHE-ECDSA-AES128-GCM-SHA256:\ 125 ECDHE-ECDSA-AES256-GCM-SHA384:\ 126 ECDHE-RSA-AES128-GCM-SHA256:\ 127 ECDHE-RSA-AES256-GCM-SHA384" 128