blob: 5ec28cde3fb5f197bd1a865ee45d87d8da0b6a7b [file] [log] [blame]
Ed Tanousc5bcf352024-09-25 16:41:10 -07001# BMCWEB_KVM
Ed Tanous0cd5f782022-04-26 16:09:09 -07002option(
Ed Tanous0cd5f782022-04-26 16:09:09 -07003 'kvm',
4 type: 'feature',
5 value: 'enabled',
6 description: '''Enable the KVM host video WebSocket. Path is /kvm/0.
Ed Tanous50b37022024-06-25 13:00:04 -07007 Video is from the BMCs /dev/videodevice.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -07008)
9
Ed Tanousc5bcf352024-09-25 16:41:10 -070010# BMCWEB_TESTS
Ed Tanous0cd5f782022-04-26 16:09:09 -070011option(
12 'tests',
13 type: 'feature',
14 value: 'enabled',
Ed Tanous50b37022024-06-25 13:00:04 -070015 description: 'Enable Unit tests for bmcweb',
Ed Tanous0cd5f782022-04-26 16:09:09 -070016)
17
Ed Tanousc5bcf352024-09-25 16:41:10 -070018# BMCWEB_VM_WEBSOCKET
Ed Tanous0cd5f782022-04-26 16:09:09 -070019option(
20 'vm-websocket',
21 type: 'feature',
22 value: 'enabled',
Ed Tanous36c0f2a2024-02-09 13:50:26 -080023 description: '''Enable the Virtual Media WebSocket. Path is /vm/0/0 and /nbd/<id> to
Ed Tanous0cd5f782022-04-26 16:09:09 -070024 open the websocket. See
Ed Tanous50b37022024-06-25 13:00:04 -070025 https://github.com/openbmc/jsnbd/blob/master/README.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -070026)
Ed Tanousefb80622021-02-20 11:04:01 -080027
Ed Tanous56b81992024-12-02 10:36:37 -080028option(
29 'redfish-use-3-digit-messageid',
30 type: 'feature',
31 value: 'disabled',
32 description: '''Prior to a bug fix, bmcweb exposed error messages with a
33 MessageId of Base.x.y.z.Message which was incorrect.
34 Enabling this option causes return codes to return the old
35 incorrect version for backward compatibility. Will be
Ed Tanous04adfbc2024-12-27 10:55:20 -080036 removed Q2-2025''',
Ed Tanous56b81992024-12-02 10:36:37 -080037)
38
Ed Tanousc5bcf352024-09-25 16:41:10 -070039# BMCWEB_NBDPROXY
Ed Tanousefb80622021-02-20 11:04:01 -080040# if you use this option and are seeing this comment, please comment here:
41# https://github.com/openbmc/bmcweb/issues/188 and put forward your intentions
42# for this code. At this point, no daemon has been upstreamed that implements
43# this interface, so for the moment this appears to be dead code; In leiu of
44# removing it, it has been disabled to try to give those that use it the
45# opportunity to upstream their backend implementation
Ed Tanous0cd5f782022-04-26 16:09:09 -070046#option(
47# 'vm-nbdproxy',
Ed Tanous36c0f2a2024-02-09 13:50:26 -080048# type: 'feature',
49# value: 'disabled',
Ed Tanous0cd5f782022-04-26 16:09:09 -070050# description: 'Enable the Virtual Media WebSocket.'
51#)
52
Ed Tanousc5bcf352024-09-25 16:41:10 -070053# BMCWEB_REST
Ed Tanous0cd5f782022-04-26 16:09:09 -070054option(
55 'rest',
56 type: 'feature',
57 value: 'disabled',
58 description: '''Enable Phosphor REST (D-Bus) APIs. Paths directly map
59 Phosphor D-Bus object paths, for example,
60 /xyz/openbmc_project/logging/entry/enumerate. See
Ed Tanous50b37022024-06-25 13:00:04 -070061 https://github.com/openbmc/docs/blob/master/rest-api.md.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -070062)
63
Ed Tanousc5bcf352024-09-25 16:41:10 -070064# BMCWEB_REDFISH
Ed Tanous0cd5f782022-04-26 16:09:09 -070065option(
66 'redfish',
67 type: 'feature',
68 value: 'enabled',
69 description: '''Enable Redfish APIs. Paths are under /redfish/v1/. See
Ed Tanous50b37022024-06-25 13:00:04 -070070 https://github.com/openbmc/bmcweb/blob/master/DEVELOPING.md#redfish.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -070071)
72
Ed Tanousc5bcf352024-09-25 16:41:10 -070073# BMCWEB_HOST_SERIAL_SOCKET
Ed Tanous0cd5f782022-04-26 16:09:09 -070074option(
75 'host-serial-socket',
76 type: 'feature',
77 value: 'enabled',
78 description: '''Enable host serial console WebSocket. Path is /console0.
Ed Tanous50b37022024-06-25 13:00:04 -070079 See https://github.com/openbmc/docs/blob/master/console.md.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -070080)
81
Ed Tanousc5bcf352024-09-25 16:41:10 -070082# BMCWEB_STATIC_HOSTING
Ed Tanous0cd5f782022-04-26 16:09:09 -070083option(
84 'static-hosting',
85 type: 'feature',
86 value: 'enabled',
87 description: '''Enable serving files from the /usr/share/www directory
Ed Tanous50b37022024-06-25 13:00:04 -070088 as paths under /.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -070089)
90
Ed Tanousc5bcf352024-09-25 16:41:10 -070091# BMCWEB_REDFISH_BMC_JOURNAL
Ed Tanous0cd5f782022-04-26 16:09:09 -070092option(
93 'redfish-bmc-journal',
94 type: 'feature',
Willy Tuf8483672022-05-10 15:08:10 -070095 value: 'enabled',
Ed Tanous0cd5f782022-04-26 16:09:09 -070096 description: '''Enable BMC journal access through Redfish. Paths are under
Ed Tanous50b37022024-06-25 13:00:04 -070097 /redfish/v1/Managers/bmc/LogServices/Journal.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -070098)
99
Ed Tanousc5bcf352024-09-25 16:41:10 -0700100# BMCWEB_REDFISH_CPU_LOG
Ed Tanous0cd5f782022-04-26 16:09:09 -0700101option(
102 'redfish-cpu-log',
103 type: 'feature',
104 value: 'disabled',
105 description: '''Enable CPU log service transactions through Redfish. Paths
Ed Tanous50b37022024-06-25 13:00:04 -0700106 are under /redfish/v1/Systems/system/LogServices/Crashdump'.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700107)
108
Ed Tanousc5bcf352024-09-25 16:41:10 -0700109# BMCWEB_REDFISH_DUMP_LOG
Ed Tanous0cd5f782022-04-26 16:09:09 -0700110option(
111 'redfish-dump-log',
112 type: 'feature',
113 value: 'disabled',
114 description: '''Enable Dump log service transactions through Redfish. Paths
115 are under /redfish/v1/Systems/system/LogServices/Dump
Ed Tanous50b37022024-06-25 13:00:04 -0700116 and /redfish/v1/Managers/bmc/LogServices/Dump''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700117)
118
Ed Tanousc5bcf352024-09-25 16:41:10 -0700119# BMCWEB_REDFISH_DBUS_LOG
Ed Tanous0cd5f782022-04-26 16:09:09 -0700120option(
121 'redfish-dbus-log',
122 type: 'feature',
123 value: 'disabled',
124 description: '''Enable DBUS log service transactions through Redfish. Paths
125 are under
Ed Tanous50b37022024-06-25 13:00:04 -0700126 /redfish/v1/Systems/system/LogServices/EventLog/Entries''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700127)
128
Alexander Hansen6c58a032024-11-21 15:27:04 -0800129# BMCWEB_EXPERIMENTAL_REDFISH_DBUS_LOG_SUBSCRIPTION
130option(
131 'experimental-redfish-dbus-log-subscription',
132 type: 'feature',
133 value: 'disabled',
134 description: '''
135 Allows EventService subscriptions when the redfish-dbus-log option is
136 enabled.
137 This option is currently non-functional, given Redfish requirements for
138 MessageId support in Events.
139 Option will be removed begining of Q2-2025.
140 Should not be enabled on any production systems.
141 ''',
142)
143
Ed Tanousc5bcf352024-09-25 16:41:10 -0700144# BMCWEB_REDFISH_HOST_LOGGER
Ed Tanous0cd5f782022-04-26 16:09:09 -0700145option(
146 'redfish-host-logger',
147 type: 'feature',
148 value: 'enabled',
149 description: '''Enable host log service transactions based on
150 phosphor-hostlogger through Redfish. Paths are under
Ed Tanous50b37022024-06-25 13:00:04 -0700151 /redfish/v1/Systems/system/LogServices/HostLogger''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700152)
153
Ed Tanousc5bcf352024-09-25 16:41:10 -0700154# BMCWEB_REDFISH_PROVISIONING_FEATURE
Ed Tanous0cd5f782022-04-26 16:09:09 -0700155option(
156 'redfish-provisioning-feature',
157 type: 'feature',
158 value: 'disabled',
159 description: '''Enable provisioning feature support in redfish. Paths are
Ed Tanous50b37022024-06-25 13:00:04 -0700160 under /redfish/v1/Systems/system/''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700161)
162
Ed Tanousc5bcf352024-09-25 16:41:10 -0700163# BMCWEB_REDFISH_MANAGER_URI_NAME
Ed Tanous0cd5f782022-04-26 16:09:09 -0700164option(
Ed Tanous253f11b2024-05-16 09:38:31 -0700165 'redfish-manager-uri-name',
166 type: 'string',
167 value: 'bmc',
168 description: '''The static Redfish Manager ID representing the BMC
169 instance. This option will appear in the Redfish tree at
170 /redfish/v1/Managers/<redfish-manager-uri-name>.
171 Defaults to \'bmc\' which resolves to
Ed Tanous50b37022024-06-25 13:00:04 -0700172 /redfish/v1/Managers/bmc''',
Ed Tanous253f11b2024-05-16 09:38:31 -0700173)
174
Ed Tanousc5bcf352024-09-25 16:41:10 -0700175# BMCWEB_REDFISH_SYSTEM_URI_NAME
Ed Tanous253f11b2024-05-16 09:38:31 -0700176option(
177 'redfish-system-uri-name',
178 type: 'string',
179 value: 'system',
180 description: '''The static Redfish System ID representing the host
181 instance. This option will appear in the Redfish tree at
182 /redfish/v1/Systems/<redfish-system-uri-name>.
183 Defaults to \'system\' which resolves to
Ed Tanous50b37022024-06-25 13:00:04 -0700184 /redfish/v1/Systems/system''',
Ed Tanous253f11b2024-05-16 09:38:31 -0700185)
186
Ed Tanousc5bcf352024-09-25 16:41:10 -0700187# BMCWEB_LOGGING_LEVEL
Ed Tanous253f11b2024-05-16 09:38:31 -0700188option(
Ed Tanous0cd5f782022-04-26 16:09:09 -0700189 'bmcweb-logging',
Myung Bae662aa6e2023-01-10 14:20:28 -0600190 type: 'combo',
Ed Tanous92e26be2024-08-21 13:39:14 -0700191 choices: [
192 'disabled',
193 'enabled',
194 'debug',
195 'info',
196 'warning',
197 'error',
198 'critical',
199 ],
Ed Tanous4d1db042024-02-16 13:08:34 -0800200 value: 'error',
Myung Bae662aa6e2023-01-10 14:20:28 -0600201 description: '''Enable output the extended logging level.
202 - disabled: disable bmcweb log traces.
203 - enabled: treated as 'debug'
Ed Tanous50b37022024-06-25 13:00:04 -0700204 - For the other logging level option, see DEVELOPING.md.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700205)
206
Ed Tanousc5bcf352024-09-25 16:41:10 -0700207# BMCWEB_BASIC_AUTH
Ed Tanous0cd5f782022-04-26 16:09:09 -0700208option(
209 'basic-auth',
210 type: 'feature',
211 value: 'enabled',
Ed Tanous50b37022024-06-25 13:00:04 -0700212 description: 'Enable basic authentication',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700213)
214
Ed Tanousc5bcf352024-09-25 16:41:10 -0700215# BMCWEB_SESSION_AUTH
Ed Tanous0cd5f782022-04-26 16:09:09 -0700216option(
217 'session-auth',
218 type: 'feature',
219 value: 'enabled',
Ed Tanous50b37022024-06-25 13:00:04 -0700220 description: 'Enable session authentication',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700221)
222
Ed Tanousc5bcf352024-09-25 16:41:10 -0700223# BMCWEB_XTOKEN_AUTH
Ed Tanous0cd5f782022-04-26 16:09:09 -0700224option(
225 'xtoken-auth',
226 type: 'feature',
227 value: 'enabled',
Ed Tanous50b37022024-06-25 13:00:04 -0700228 description: 'Enable xtoken authentication',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700229)
230
Ed Tanousc5bcf352024-09-25 16:41:10 -0700231# BMCWEB_COOKIE_AUTH
Ed Tanous0cd5f782022-04-26 16:09:09 -0700232option(
233 'cookie-auth',
234 type: 'feature',
235 value: 'enabled',
Ed Tanous50b37022024-06-25 13:00:04 -0700236 description: 'Enable cookie authentication',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700237)
238
Ed Tanousc5bcf352024-09-25 16:41:10 -0700239# BMCWEB_MUTUAL_TLS_AUTH
Ed Tanous0cd5f782022-04-26 16:09:09 -0700240option(
241 'mutual-tls-auth',
242 type: 'feature',
243 value: 'enabled',
244 description: '''Enables authenticating users through TLS client
245 certificates. The insecure-disable-ssl must be disabled for
Ed Tanous50b37022024-06-25 13:00:04 -0700246 this option to take effect.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700247)
248
Ed Tanousc5bcf352024-09-25 16:41:10 -0700249# BMCWEB_MUTUAL_TLS_COMMON_NAME_PARSING_DEFAULT
Ed Tanous0cd5f782022-04-26 16:09:09 -0700250option(
Ed Tanous3ce36882024-06-09 10:58:16 -0700251 'mutual-tls-common-name-parsing-default',
Marco Kawajiri0e373b52023-10-31 13:36:58 -0700252 type: 'combo',
Malik Akbar Hashemi Rafsanjania4943692025-05-27 13:23:44 -0700253 choices: ['CommonName', 'Whole', 'UserPrincipalName'],
254 description: '''Default MTLS parse mode to get username from the
255 client's x509 certificate''',
Marco Kawajiri0e373b52023-10-31 13:36:58 -0700256)
257
Ed Tanousc5bcf352024-09-25 16:41:10 -0700258# BMCWEB_IBM_MANAGEMENT_CONSOLE
Ed Tanous3ce36882024-06-09 10:58:16 -0700259option(
Ed Tanous0cd5f782022-04-26 16:09:09 -0700260 'ibm-management-console',
261 type: 'feature',
262 value: 'disabled',
263 description: '''Enable the IBM management console specific functionality.
Ed Tanous50b37022024-06-25 13:00:04 -0700264 Paths are under /ibm/v1/''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700265)
266
Ed Tanousc5bcf352024-09-25 16:41:10 -0700267# BMCWEB_GOOGLE_API
Ed Tanous0cd5f782022-04-26 16:09:09 -0700268option(
269 'google-api',
270 type: 'feature',
271 value: 'disabled',
272 description: '''Enable the Google specific functionality. Paths are under
Ed Tanous50b37022024-06-25 13:00:04 -0700273 /google/v1/''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700274)
275
Ed Tanousc5bcf352024-09-25 16:41:10 -0700276# BMCWEB_HTTP_BODY_LIMIT
Ed Tanous0cd5f782022-04-26 16:09:09 -0700277option(
278 'http-body-limit',
279 type: 'integer',
280 min: 0,
281 max: 512,
282 value: 30,
Ed Tanous50b37022024-06-25 13:00:04 -0700283 description: 'Specifies the http request body length limit',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700284)
285
Ed Tanousb2539062024-03-12 16:58:35 -0700286# BMCWEB_HTTP_ZSTD
287option(
288 'http-zstd',
289 type: 'feature',
290 value: 'enabled',
291 description: 'Allows compression/decompression using zstd',
292)
293
Ed Tanousc5bcf352024-09-25 16:41:10 -0700294# BMCWEB_REDFISH_NEW_POWERSUBSYSTEM_THERMALSUBSYSTEM
Ed Tanous0cd5f782022-04-26 16:09:09 -0700295option(
296 'redfish-new-powersubsystem-thermalsubsystem',
297 type: 'feature',
Gunnar Mills86159152024-02-06 14:54:39 -0600298 value: 'enabled',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700299 description: '''Enable/disable the new PowerSubsystem, ThermalSubsystem,
300 and all children schemas. This includes displaying all
Ed Tanous50b37022024-06-25 13:00:04 -0700301 sensors in the SensorCollection.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700302)
303
Janet Adkinsf664fd82025-07-23 14:01:43 -0500304# BMCWEB_REDFISH_ALLOW_DEPRECATED_INDICATORLED
305option(
306 'redfish-allow-deprecated-indicatorled',
307 type: 'feature',
308 value: 'disabled',
309 description: '''Enable/disable the deprecated IndicatorLED property. The
310 default condition is disabled. The code to enable this
311 option will be removed by March 2026.''',
312)
313
Janet Adkinseb261e12025-09-15 13:25:45 -0500314# BMCWEB_REDFISH_USE_HARDCODED_SYSTEM_LOCATION_INDICATOR
315option(
316 'redfish-use-hardcoded-system-location-indicator',
317 type: 'feature',
318 value: 'enabled',
319 description: '''Enable/disable the use of hard-coded LED group
320 enclosure_identify_blink and enclosure_identify for getting
321 and setting the LocationIndicatorActive for the Systems
322 response. The default condition will be enabled until
323 October 15, 2025. The code to enable this option will be
324 removed by June 2026.''',
325)
326
Ed Tanousc5bcf352024-09-25 16:41:10 -0700327# BMCWEB_REDFISH_ALLOW_DEPRECATED_POWER_THERMAL
Ed Tanous0cd5f782022-04-26 16:09:09 -0700328option(
329 'redfish-allow-deprecated-power-thermal',
330 type: 'feature',
Gunnar Millsdb3bf6f2025-08-21 11:05:13 -0500331 value: 'disabled',
332 description: '''Enable/disable the old Power / Thermal. This has been
333 replaced by the new PowerSubsystem, ThermalSubsystem, and
334 the redfish-new-powersubsystem-thermalsubsystem option.
335 This option will be removed June 2026.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700336)
337
Ed Tanousc5bcf352024-09-25 16:41:10 -0700338# BMCWEB_REDFISH_OEM_MANAGER_FAN_DATA
Ed Tanous0cd5f782022-04-26 16:09:09 -0700339option(
Gunnar Mills54dce7f2022-08-05 17:01:32 +0000340 'redfish-oem-manager-fan-data',
341 type: 'feature',
342 value: 'enabled',
343 description: '''Enables Redfish OEM fan data on the manager resource.
344 This includes PID and Stepwise controller data. See
Myung Bae1d19d872024-09-10 09:42:32 -0400345 OpenBMCManager schema for more detail.''',
Gunnar Mills54dce7f2022-08-05 17:01:32 +0000346)
347
Ed Tanousc5bcf352024-09-25 16:41:10 -0700348# BMCWEB_REDFISH_UPDATESERVICE_USE_DBUS
Gunnar Mills54dce7f2022-08-05 17:01:32 +0000349option(
Jagpal Singh Gill57855662024-04-17 10:44:27 -0700350 'redfish-updateservice-use-dbus',
351 type: 'feature',
Jagpal Singh Gill64fa9162024-11-12 16:16:47 -0800352 value: 'enabled',
Jagpal Singh Gill57855662024-04-17 10:44:27 -0700353 description: '''Enables xyz.openbmc_project.Software.Update D-Bus interface
354 to propagate UpdateService requests to the corresponding
355 updater daemons instead of moving files to /tmp/images dir.
Ed Tanous50b37022024-06-25 13:00:04 -0700356 ''',
Jagpal Singh Gill57855662024-04-17 10:44:27 -0700357)
358
Ed Tanous6a371402024-12-03 14:01:25 -0800359# BMCWEB_REDFISH_ALLOW_SIMPLE_UPDATE
360option(
361 'redfish-allow-simple-update',
362 type: 'feature',
363 value: 'disabled',
364 description: '''Enables Redfish UpdateService SimpleUpdate Action. Note
365 that at this time this option is non-functional. Redfish
366 recommends using MultiPartUpdate.''',
367)
368
369
Jagpal Singh Gill57855662024-04-17 10:44:27 -0700370option(
Ed Tanous0cd5f782022-04-26 16:09:09 -0700371 'https_port',
372 type: 'integer',
Ed Tanous796ba932020-08-02 04:29:21 +0000373 min: -1,
Ed Tanous0cd5f782022-04-26 16:09:09 -0700374 max: 65535,
375 value: 443,
Ed Tanous796ba932020-08-02 04:29:21 +0000376 description: '''HTTPS default port number. Set to -1 to disable and rely
377 only on additional_ports''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700378)
Manojkiran Edaaf6298d2020-05-27 08:51:32 +0530379
Ed Tanous796ba932020-08-02 04:29:21 +0000380
381# Additional ports
382# This series of options below allows setting up non-trivial deployments of
383# bmcweb, binding specific ports, authentication profiles, and device binds to
384# multiple ports.
385# Setting these options incorrectly can have severe security consequences and
386# should be reserved for platform experts familiar with their particular
387# platforms security requirements.
388
389option(
390 'additional-ports',
391 type: 'array',
392 value: [],
393 description: '''Additional ports to listen to. Allows bmcweb to listen to
394 multiple ports at a given protocol''',
395)
396
397option(
398 'additional-protocol',
399 type: 'array',
400 value: [],
401 description: '''Allows specifying a specific protocol type for a given
402 additional-ports index. Allows setting http, https, or both
403 to each socket index. If not provided for a given
404 additional-ports index, assumes https.''',
405)
406
407option(
408 'additional-bind-to-device',
409 type: 'array',
410 value: [],
411 description: '''Allows specifying an SO_BINDTODEVICE or BindToDevice systemd
412 directive for each additional socket file. If not provided
413 for a given additional-ports index, assumes bind to all
414 devices''',
415)
416
417option(
418 'additional-auth',
419 type: 'array',
420 value: [],
421 description: '''Allows specifying an authentication profile for each socket
422 created with additional-ports. Allows auth or noauth, and
423 defaults to auth if not provided. If noauth is provided,
424 authentication will not be performed for a given socket/port
425 index.''',
426)
427# end additional ports
428
Ed Tanousc5bcf352024-09-25 16:41:10 -0700429# BMCWEB_DNS_RESOLVER
Carson Labrado7fb33562022-04-18 23:26:56 +0000430option(
Ed Tanousf8ca6d72022-06-28 12:12:03 -0700431 'dns-resolver',
432 type: 'combo',
433 choices: ['systemd-dbus', 'asio'],
434 value: 'systemd-dbus',
435 description: '''Sets which DNS resolver backend should be used.
436 systemd-dbus uses the Systemd ResolveHostname on dbus, but requires dbus
437 support. asio relies on boost::asio::tcp::resolver, but cannot resolve
Ed Tanous50b37022024-06-25 13:00:04 -0700438 names when boost threading is disabled.''',
Ed Tanousf8ca6d72022-06-28 12:12:03 -0700439)
440
Ed Tanousc5bcf352024-09-25 16:41:10 -0700441# BMCWEB_REDFISH_AGGREGATION
Ed Tanousf8ca6d72022-06-28 12:12:03 -0700442option(
Carson Labrado7fb33562022-04-18 23:26:56 +0000443 'redfish-aggregation',
444 type: 'feature',
445 value: 'disabled',
Ed Tanous50b37022024-06-25 13:00:04 -0700446 description: 'Allows this BMC to aggregate resources from satellite BMCs',
Carson Labrado7fb33562022-04-18 23:26:56 +0000447)
448
Ed Tanousc5bcf352024-09-25 16:41:10 -0700449# BMCWEB_HYPERVISOR_COMPUTER_SYSTEM
Ed Tanous7f3e84a2022-12-28 16:22:54 -0800450option(
Gunnar Mills68896202024-08-21 11:34:20 -0500451 'hypervisor-computer-system',
452 type: 'feature',
453 value: 'disabled',
454 description: '''This puts a hypervisor computer system resource at
455 /redfish/v1/Systems/hypervisor. This system resource has children
456 resources such as EthernetInterfaces and ComputerSystem.Reset.''',
457)
458
Ed Tanousc5bcf352024-09-25 16:41:10 -0700459# BMCWEB_EXPERIMENTAL_REDFISH_MULTI_COMPUTER_SYSTEM
Gunnar Mills68896202024-08-21 11:34:20 -0500460option(
Ed Tanous7f3e84a2022-12-28 16:22:54 -0800461 'experimental-redfish-multi-computer-system',
462 type: 'feature',
463 value: 'disabled',
464 description: '''This is a temporary option flag for staging the
465 ComputerSystemCollection transition to multi-host. It, as well as the code
Oliver Brewka06827462025-07-13 18:29:31 +0200466 still beneath it will be removed on 1/1/2026. Do not enable in a
Ed Tanous50b37022024-06-25 13:00:04 -0700467 production environment, or where API stability is required.''',
Ed Tanous7f3e84a2022-12-28 16:22:54 -0800468)
469
Ed Tanous39fe3af2025-02-17 11:34:12 -0800470# BMCWEB_HTTP2
Ed Tanousfca2cbe2021-01-28 14:49:59 -0800471option(
Ed Tanous39fe3af2025-02-17 11:34:12 -0800472 'http2',
Ed Tanousfca2cbe2021-01-28 14:49:59 -0800473 type: 'feature',
Ed Tanous39fe3af2025-02-17 11:34:12 -0800474 value: 'enabled',
475 description: 'Enable HTTP/2 protocol support using nghttp2.',
Ed Tanousfca2cbe2021-01-28 14:49:59 -0800476)
477
rohitpaicf9085a2025-02-24 12:33:59 +0530478# BMCWEB_WATCHDOG_TIMEOUT
479option(
480 'watchdog-timeout-seconds',
481 type: 'integer',
482 min: 0,
483 max: 600,
484 value: 120,
485 description: '''Specifies the systemd watchdog timeout interval in seconds.
486 Set to 0 to disable the watchdog.''',
487)
488
Manojkiran Edaaf6298d2020-05-27 08:51:32 +0530489# Insecure options. Every option that starts with a `insecure` flag should
490# not be enabled by default for any platform, unless the author fully comprehends
491# the implications of doing so.In general, enabling these options will cause security
492# problems of varying degrees
493
Ed Tanousc5bcf352024-09-25 16:41:10 -0700494# BMCWEB_INSECURE_DISABLE_CSRF
Ed Tanous0cd5f782022-04-26 16:09:09 -0700495option(
496 'insecure-disable-csrf',
497 type: 'feature',
498 value: 'disabled',
499 description: '''Disable CSRF prevention checks.Should be set to false for
Ed Tanous50b37022024-06-25 13:00:04 -0700500 production systems.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700501)
502
Ed Tanousc5bcf352024-09-25 16:41:10 -0700503# BMCWEB_INSECURE_DISABLE_SSL
Ed Tanous0cd5f782022-04-26 16:09:09 -0700504option(
505 'insecure-disable-ssl',
506 type: 'feature',
507 value: 'disabled',
508 description: '''Disable SSL ports. Should be set to false for production
Ed Tanous50b37022024-06-25 13:00:04 -0700509 systems.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700510)
511
Ed Tanousc5bcf352024-09-25 16:41:10 -0700512# BMCWEB_INSECURE_DISABLE_AUTH
Ed Tanous0cd5f782022-04-26 16:09:09 -0700513option(
514 'insecure-disable-auth',
515 type: 'feature',
516 value: 'disabled',
Nan Zhoua43ea822022-05-27 00:42:44 +0000517 description: '''Disable authentication and authoriztion on all ports.
Ed Tanous50b37022024-06-25 13:00:04 -0700518 Should be set to false for production systems.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700519)
520
Ed Tanousc5bcf352024-09-25 16:41:10 -0700521# BMCWEB_INSECURE_IGNORE_CONTENT_TYPE
Ed Tanous0cd5f782022-04-26 16:09:09 -0700522option(
Ed Tanous1aa0c2b2022-02-08 12:24:30 +0100523 'insecure-ignore-content-type',
524 type: 'feature',
Ed Tanousdb398022023-06-07 16:38:08 -0700525 value: 'disabled',
Ed Tanous1aa0c2b2022-02-08 12:24:30 +0100526 description: '''Allows parsing PUT/POST/PATCH content as JSON regardless
527 of the presence of the content-type header. Enabling this
528 conflicts with the input parsing guidelines, but may be
529 required to support old clients that may not set the
Ed Tanous50b37022024-06-25 13:00:04 -0700530 Content-Type header on payloads.''',
Ed Tanous1aa0c2b2022-02-08 12:24:30 +0100531)
532
Ed Tanousc5bcf352024-09-25 16:41:10 -0700533# BMCWEB_INSECURE_PUSH_STYLE_NOTIFICATION
Ed Tanous1aa0c2b2022-02-08 12:24:30 +0100534option(
Ed Tanous0cd5f782022-04-26 16:09:09 -0700535 'insecure-push-style-notification',
536 type: 'feature',
537 value: 'disabled',
Ed Tanous50b37022024-06-25 13:00:04 -0700538 description: 'Enable HTTP push style eventing feature',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700539)
540
Ed Tanousc5bcf352024-09-25 16:41:10 -0700541# BMCWEB_INSECURE_ENABLE_REDFISH_QUERY
Ed Tanous0cd5f782022-04-26 16:09:09 -0700542option(
543 'insecure-enable-redfish-query',
544 type: 'feature',
545 value: 'disabled',
546 description: '''Enables Redfish expand query parameter. This feature is
547 experimental, and has not been tested against the full
548 limits of user-facing behavior. It is not recommended to
549 enable on production systems at this time. Other query
Ed Tanous50b37022024-06-25 13:00:04 -0700550 parameters such as only are not controlled by this option.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700551)