• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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