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_type: uint64 39 fuzz: ValidateExperimentsStringForFuzzing 40- name: client_channel_backup_poll_interval_ms 41 type: int 42 default: 5000 43 description: 44 Declares the interval in ms between two backup polls on client channels. 45 These polls are run in the timer thread so that gRPC can process 46 connection failures while there is no active polling thread. 47 They help reconnect disconnected client channels (mostly due to 48 idleness), so that the next RPC on this channel won't fail. Set to 0 to 49 turn off the backup polls. 50- name: dns_resolver 51 default: 52 type: string 53 description: 54 Declares which DNS resolver to use. The default is ares if gRPC is built 55 with c-ares support. Otherwise, the value of this environment variable is 56 ignored. 57 fuzz: true 58- name: trace 59 type: comma_separated_string 60 default: 61 description: 62 A comma separated list of tracers that provide additional insight into 63 how gRPC C core is processing requests via debug logs. 64 fuzz: true 65- name: verbosity 66 type: string 67 prelude: | 68 #ifndef GPR_DEFAULT_LOG_VERBOSITY_STRING 69 #define GPR_DEFAULT_LOG_VERBOSITY_STRING "" 70 #endif // !GPR_DEFAULT_LOG_VERBOSITY_STRING 71 default: $GPR_DEFAULT_LOG_VERBOSITY_STRING 72 description: 73 Logging verbosity. 74 fuzz: true 75- name: enable_fork_support 76 type: bool 77 description: Enable fork support 78 prelude: | 79 #ifdef GRPC_ENABLE_FORK_SUPPORT 80 #define GRPC_ENABLE_FORK_SUPPORT_DEFAULT true 81 #else 82 #define GRPC_ENABLE_FORK_SUPPORT_DEFAULT false 83 #endif // GRPC_ENABLE_FORK_SUPPORT 84 default: $GRPC_ENABLE_FORK_SUPPORT_DEFAULT 85 fuzz: true 86- name: poll_strategy 87 type: string 88 description: 89 Declares which polling engines to try when starting gRPC. 90 This is a comma-separated list of engines, which are tried in priority 91 order first -> last. 92 default: all 93- name: abort_on_leaks 94 type: bool 95 default: false 96 description: 97 A debugging aid to cause a call to abort() when gRPC objects are leaked 98 past grpc_shutdown() 99- name: system_ssl_roots_dir 100 type: string 101 default: 102 description: Custom directory to SSL Roots 103 force-load-on-access: true 104- name: default_ssl_roots_file_path 105 type: string 106 default: 107 description: Path to the default SSL roots file. 108 force-load-on-access: true 109- name: not_use_system_ssl_roots 110 type: bool 111 default: false 112 description: Disable loading system root certificates. 113- name: ssl_cipher_suites 114 type: string 115 description: A colon separated list of cipher suites to use with OpenSSL 116 default: "TLS_AES_128_GCM_SHA256:\ 117 TLS_AES_256_GCM_SHA384:\ 118 TLS_CHACHA20_POLY1305_SHA256:\ 119 ECDHE-ECDSA-AES128-GCM-SHA256:\ 120 ECDHE-ECDSA-AES256-GCM-SHA384:\ 121 ECDHE-RSA-AES128-GCM-SHA256:\ 122 ECDHE-RSA-AES256-GCM-SHA384" 123- name: cpp_experimental_disable_reflection 124 type: bool 125 description: "EXPERIMENTAL. Only respected when there is a dependency on :grpc++_reflection. If true, no reflection server will be automatically added." 126 default: false 127