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 "ERROR" 70 #endif // !GPR_DEFAULT_LOG_VERBOSITY_STRING 71 default: $GPR_DEFAULT_LOG_VERBOSITY_STRING 72 description: 73 Default gRPC logging verbosity 74 fuzz: true 75- name: stacktrace_minloglevel 76 type: string 77 default: 78 description: 79 Messages logged at the same or higher level than this will print stacktrace 80 fuzz: true 81- name: enable_fork_support 82 type: bool 83 description: Enable fork support 84 prelude: | 85 #ifdef GRPC_ENABLE_FORK_SUPPORT 86 #define GRPC_ENABLE_FORK_SUPPORT_DEFAULT true 87 #else 88 #define GRPC_ENABLE_FORK_SUPPORT_DEFAULT false 89 #endif // GRPC_ENABLE_FORK_SUPPORT 90 default: $GRPC_ENABLE_FORK_SUPPORT_DEFAULT 91 fuzz: true 92- name: poll_strategy 93 type: string 94 description: 95 Declares which polling engines to try when starting gRPC. 96 This is a comma-separated list of engines, which are tried in priority 97 order first -> last. 98 default: all 99- name: abort_on_leaks 100 type: bool 101 default: false 102 description: 103 A debugging aid to cause a call to abort() when gRPC objects are leaked 104 past grpc_shutdown() 105- name: system_ssl_roots_dir 106 type: string 107 default: 108 description: Custom directory to SSL Roots 109 force-load-on-access: true 110- name: default_ssl_roots_file_path 111 type: string 112 default: 113 description: Path to the default SSL roots file. 114 force-load-on-access: true 115- name: not_use_system_ssl_roots 116 type: bool 117 default: false 118 description: Disable loading system root certificates. 119- name: ssl_cipher_suites 120 type: string 121 description: A colon separated list of cipher suites to use with OpenSSL 122 default: "TLS_AES_128_GCM_SHA256:\ 123 TLS_AES_256_GCM_SHA384:\ 124 TLS_CHACHA20_POLY1305_SHA256:\ 125 ECDHE-ECDSA-AES128-GCM-SHA256:\ 126 ECDHE-ECDSA-AES256-GCM-SHA384:\ 127 ECDHE-RSA-AES128-GCM-SHA256:\ 128 ECDHE-RSA-AES256-GCM-SHA384" 129- name: absl_logging 130 type: bool 131 default: false 132 description: 133 Use absl logging from within gpr_log. 134