blob: d5980263c8bff70564531dfc53ee3ee2fb536784 [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 Tanousc5bcf352024-09-25 16:41:10 -070028# BMCWEB_NBDPROXY
Ed Tanousefb80622021-02-20 11:04:01 -080029# if you use this option and are seeing this comment, please comment here:
30# https://github.com/openbmc/bmcweb/issues/188 and put forward your intentions
31# for this code. At this point, no daemon has been upstreamed that implements
32# this interface, so for the moment this appears to be dead code; In leiu of
33# removing it, it has been disabled to try to give those that use it the
34# opportunity to upstream their backend implementation
Ed Tanous0cd5f782022-04-26 16:09:09 -070035#option(
36# 'vm-nbdproxy',
Ed Tanous36c0f2a2024-02-09 13:50:26 -080037# type: 'feature',
38# value: 'disabled',
Ed Tanous0cd5f782022-04-26 16:09:09 -070039# description: 'Enable the Virtual Media WebSocket.'
40#)
41
Ed Tanousc5bcf352024-09-25 16:41:10 -070042# BMCWEB_REST
Ed Tanous0cd5f782022-04-26 16:09:09 -070043option(
44 'rest',
45 type: 'feature',
46 value: 'disabled',
47 description: '''Enable Phosphor REST (D-Bus) APIs. Paths directly map
48 Phosphor D-Bus object paths, for example,
49 /xyz/openbmc_project/logging/entry/enumerate. See
Ed Tanous50b37022024-06-25 13:00:04 -070050 https://github.com/openbmc/docs/blob/master/rest-api.md.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -070051)
52
Ed Tanousc5bcf352024-09-25 16:41:10 -070053# BMCWEB_REDFISH
Ed Tanous0cd5f782022-04-26 16:09:09 -070054option(
55 'redfish',
56 type: 'feature',
57 value: 'enabled',
58 description: '''Enable Redfish APIs. Paths are under /redfish/v1/. See
Ed Tanous50b37022024-06-25 13:00:04 -070059 https://github.com/openbmc/bmcweb/blob/master/DEVELOPING.md#redfish.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -070060)
61
Ed Tanousc5bcf352024-09-25 16:41:10 -070062# BMCWEB_HOST_SERIAL_SOCKET
Ed Tanous0cd5f782022-04-26 16:09:09 -070063option(
64 'host-serial-socket',
65 type: 'feature',
66 value: 'enabled',
67 description: '''Enable host serial console WebSocket. Path is /console0.
Ed Tanous50b37022024-06-25 13:00:04 -070068 See https://github.com/openbmc/docs/blob/master/console.md.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -070069)
70
Ed Tanousc5bcf352024-09-25 16:41:10 -070071# BMCWEB_STATIC_HOSTING
Ed Tanous0cd5f782022-04-26 16:09:09 -070072option(
73 'static-hosting',
74 type: 'feature',
75 value: 'enabled',
76 description: '''Enable serving files from the /usr/share/www directory
Ed Tanous50b37022024-06-25 13:00:04 -070077 as paths under /.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -070078)
79
Ed Tanousc5bcf352024-09-25 16:41:10 -070080# BMCWEB_REDFISH_BMC_JOURNAL
Ed Tanous0cd5f782022-04-26 16:09:09 -070081option(
82 'redfish-bmc-journal',
83 type: 'feature',
Willy Tuf8483672022-05-10 15:08:10 -070084 value: 'enabled',
Ed Tanous0cd5f782022-04-26 16:09:09 -070085 description: '''Enable BMC journal access through Redfish. Paths are under
Ed Tanous50b37022024-06-25 13:00:04 -070086 /redfish/v1/Managers/bmc/LogServices/Journal.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -070087)
88
Ed Tanousc5bcf352024-09-25 16:41:10 -070089# BMCWEB_REDFISH_CPU_LOG
Ed Tanous0cd5f782022-04-26 16:09:09 -070090option(
91 'redfish-cpu-log',
92 type: 'feature',
93 value: 'disabled',
94 description: '''Enable CPU log service transactions through Redfish. Paths
Ed Tanous50b37022024-06-25 13:00:04 -070095 are under /redfish/v1/Systems/system/LogServices/Crashdump'.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -070096)
97
Ed Tanousc5bcf352024-09-25 16:41:10 -070098# BMCWEB_REDFISH_DUMP_LOG
Ed Tanous0cd5f782022-04-26 16:09:09 -070099option(
100 'redfish-dump-log',
101 type: 'feature',
Jae Hyun Yoodded61d2025-11-18 08:21:09 -0800102 value: 'enabled',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700103 description: '''Enable Dump log service transactions through Redfish. Paths
104 are under /redfish/v1/Systems/system/LogServices/Dump
Ed Tanous50b37022024-06-25 13:00:04 -0700105 and /redfish/v1/Managers/bmc/LogServices/Dump''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700106)
107
Ed Tanousc5bcf352024-09-25 16:41:10 -0700108# BMCWEB_REDFISH_DBUS_LOG
Ed Tanous0cd5f782022-04-26 16:09:09 -0700109option(
110 'redfish-dbus-log',
111 type: 'feature',
112 value: 'disabled',
113 description: '''Enable DBUS log service transactions through Redfish. Paths
114 are under
Ed Tanous50b37022024-06-25 13:00:04 -0700115 /redfish/v1/Systems/system/LogServices/EventLog/Entries''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700116)
117
Alexander Hansen6c58a032024-11-21 15:27:04 -0800118# BMCWEB_EXPERIMENTAL_REDFISH_DBUS_LOG_SUBSCRIPTION
119option(
120 'experimental-redfish-dbus-log-subscription',
121 type: 'feature',
122 value: 'disabled',
123 description: '''
124 Allows EventService subscriptions when the redfish-dbus-log option is
125 enabled.
126 This option is currently non-functional, given Redfish requirements for
127 MessageId support in Events.
Gunnar Millsc0d6f152025-11-07 13:46:00 -0600128 Option will be removed begining of Q2-2026.
Alexander Hansen6c58a032024-11-21 15:27:04 -0800129 Should not be enabled on any production systems.
130 ''',
131)
132
Ed Tanousc5bcf352024-09-25 16:41:10 -0700133# BMCWEB_REDFISH_HOST_LOGGER
Ed Tanous0cd5f782022-04-26 16:09:09 -0700134option(
135 'redfish-host-logger',
136 type: 'feature',
137 value: 'enabled',
138 description: '''Enable host log service transactions based on
139 phosphor-hostlogger through Redfish. Paths are under
Ed Tanous50b37022024-06-25 13:00:04 -0700140 /redfish/v1/Systems/system/LogServices/HostLogger''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700141)
142
Oliver Brewka43feb5c2025-09-24 12:52:14 +0200143# BMCWEB_REDFISH_EVENTLOG_LOCATION
144option(
145 'redfish-eventlog-location',
146 type: 'combo',
147 choices: ['systems', 'managers'],
148 value: 'systems',
149 description: '''Set which Redfish resource enables event log service
150 transactions through Redfish. By default, this option
151 is set to systems. In that case paths are under
152 /redfish/v1/Systems/<redfish-system-uri-name>/LogServices/EventLog
153 Change to managers, for paths to be under
154 /redfish/v1/Managers/<redfish-manager-uri-name>/LogServices/EventLog''',
155)
156
Ed Tanousc5bcf352024-09-25 16:41:10 -0700157# BMCWEB_REDFISH_PROVISIONING_FEATURE
Ed Tanous0cd5f782022-04-26 16:09:09 -0700158option(
159 'redfish-provisioning-feature',
160 type: 'feature',
161 value: 'disabled',
162 description: '''Enable provisioning feature support in redfish. Paths are
Ed Tanous50b37022024-06-25 13:00:04 -0700163 under /redfish/v1/Systems/system/''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700164)
165
Ed Tanousc5bcf352024-09-25 16:41:10 -0700166# BMCWEB_REDFISH_MANAGER_URI_NAME
Ed Tanous0cd5f782022-04-26 16:09:09 -0700167option(
Ed Tanous253f11b2024-05-16 09:38:31 -0700168 'redfish-manager-uri-name',
169 type: 'string',
170 value: 'bmc',
171 description: '''The static Redfish Manager ID representing the BMC
172 instance. This option will appear in the Redfish tree at
173 /redfish/v1/Managers/<redfish-manager-uri-name>.
174 Defaults to \'bmc\' which resolves to
Ed Tanous50b37022024-06-25 13:00:04 -0700175 /redfish/v1/Managers/bmc''',
Ed Tanous253f11b2024-05-16 09:38:31 -0700176)
177
Ed Tanousc5bcf352024-09-25 16:41:10 -0700178# BMCWEB_REDFISH_SYSTEM_URI_NAME
Ed Tanous253f11b2024-05-16 09:38:31 -0700179option(
180 'redfish-system-uri-name',
181 type: 'string',
182 value: 'system',
183 description: '''The static Redfish System ID representing the host
184 instance. This option will appear in the Redfish tree at
185 /redfish/v1/Systems/<redfish-system-uri-name>.
186 Defaults to \'system\' which resolves to
Ed Tanous50b37022024-06-25 13:00:04 -0700187 /redfish/v1/Systems/system''',
Ed Tanous253f11b2024-05-16 09:38:31 -0700188)
189
Ed Tanousc5bcf352024-09-25 16:41:10 -0700190# BMCWEB_LOGGING_LEVEL
Ed Tanous253f11b2024-05-16 09:38:31 -0700191option(
Ed Tanous0cd5f782022-04-26 16:09:09 -0700192 'bmcweb-logging',
Myung Bae662aa6e2023-01-10 14:20:28 -0600193 type: 'combo',
Ed Tanous92e26be2024-08-21 13:39:14 -0700194 choices: [
195 'disabled',
196 'enabled',
197 'debug',
198 'info',
199 'warning',
200 'error',
201 'critical',
202 ],
Ed Tanous4d1db042024-02-16 13:08:34 -0800203 value: 'error',
Myung Bae662aa6e2023-01-10 14:20:28 -0600204 description: '''Enable output the extended logging level.
205 - disabled: disable bmcweb log traces.
206 - enabled: treated as 'debug'
Ed Tanous50b37022024-06-25 13:00:04 -0700207 - For the other logging level option, see DEVELOPING.md.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700208)
209
Ed Tanousc5bcf352024-09-25 16:41:10 -0700210# BMCWEB_BASIC_AUTH
Ed Tanous0cd5f782022-04-26 16:09:09 -0700211option(
212 'basic-auth',
213 type: 'feature',
214 value: 'enabled',
Ed Tanous50b37022024-06-25 13:00:04 -0700215 description: 'Enable basic authentication',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700216)
217
Ed Tanousc5bcf352024-09-25 16:41:10 -0700218# BMCWEB_SESSION_AUTH
Ed Tanous0cd5f782022-04-26 16:09:09 -0700219option(
220 'session-auth',
221 type: 'feature',
222 value: 'enabled',
Ed Tanous50b37022024-06-25 13:00:04 -0700223 description: 'Enable session authentication',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700224)
225
Ed Tanousc5bcf352024-09-25 16:41:10 -0700226# BMCWEB_XTOKEN_AUTH
Ed Tanous0cd5f782022-04-26 16:09:09 -0700227option(
228 'xtoken-auth',
229 type: 'feature',
230 value: 'enabled',
Ed Tanous50b37022024-06-25 13:00:04 -0700231 description: 'Enable xtoken authentication',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700232)
233
Ed Tanousc5bcf352024-09-25 16:41:10 -0700234# BMCWEB_COOKIE_AUTH
Ed Tanous0cd5f782022-04-26 16:09:09 -0700235option(
236 'cookie-auth',
237 type: 'feature',
238 value: 'enabled',
Ed Tanous50b37022024-06-25 13:00:04 -0700239 description: 'Enable cookie authentication',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700240)
241
Ed Tanousc5bcf352024-09-25 16:41:10 -0700242# BMCWEB_MUTUAL_TLS_AUTH
Ed Tanous0cd5f782022-04-26 16:09:09 -0700243option(
244 'mutual-tls-auth',
245 type: 'feature',
246 value: 'enabled',
247 description: '''Enables authenticating users through TLS client
248 certificates. The insecure-disable-ssl must be disabled for
Ed Tanous50b37022024-06-25 13:00:04 -0700249 this option to take effect.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700250)
251
Ed Tanousc5bcf352024-09-25 16:41:10 -0700252# BMCWEB_MUTUAL_TLS_COMMON_NAME_PARSING_DEFAULT
Ed Tanous0cd5f782022-04-26 16:09:09 -0700253option(
Ed Tanous3ce36882024-06-09 10:58:16 -0700254 'mutual-tls-common-name-parsing-default',
Marco Kawajiri0e373b52023-10-31 13:36:58 -0700255 type: 'combo',
Malik Akbar Hashemi Rafsanjania4943692025-05-27 13:23:44 -0700256 choices: ['CommonName', 'Whole', 'UserPrincipalName'],
257 description: '''Default MTLS parse mode to get username from the
258 client's x509 certificate''',
Marco Kawajiri0e373b52023-10-31 13:36:58 -0700259)
260
Ed Tanousc5bcf352024-09-25 16:41:10 -0700261# BMCWEB_IBM_MANAGEMENT_CONSOLE
Ed Tanous3ce36882024-06-09 10:58:16 -0700262option(
Ed Tanous0cd5f782022-04-26 16:09:09 -0700263 'ibm-management-console',
264 type: 'feature',
265 value: 'disabled',
266 description: '''Enable the IBM management console specific functionality.
Ed Tanous50b37022024-06-25 13:00:04 -0700267 Paths are under /ibm/v1/''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700268)
269
Ed Tanousc5bcf352024-09-25 16:41:10 -0700270# BMCWEB_GOOGLE_API
Ed Tanous0cd5f782022-04-26 16:09:09 -0700271option(
272 'google-api',
273 type: 'feature',
274 value: 'disabled',
275 description: '''Enable the Google specific functionality. Paths are under
Ed Tanous50b37022024-06-25 13:00:04 -0700276 /google/v1/''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700277)
278
Ed Tanousc5bcf352024-09-25 16:41:10 -0700279# BMCWEB_HTTP_BODY_LIMIT
Ed Tanous0cd5f782022-04-26 16:09:09 -0700280option(
281 'http-body-limit',
282 type: 'integer',
283 min: 0,
284 max: 512,
285 value: 30,
Ed Tanous50b37022024-06-25 13:00:04 -0700286 description: 'Specifies the http request body length limit',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700287)
288
Ed Tanousb2539062024-03-12 16:58:35 -0700289# BMCWEB_HTTP_ZSTD
290option(
291 'http-zstd',
292 type: 'feature',
293 value: 'enabled',
294 description: 'Allows compression/decompression using zstd',
295)
296
Ed Tanousc5bcf352024-09-25 16:41:10 -0700297# BMCWEB_REDFISH_NEW_POWERSUBSYSTEM_THERMALSUBSYSTEM
Ed Tanous0cd5f782022-04-26 16:09:09 -0700298option(
299 'redfish-new-powersubsystem-thermalsubsystem',
300 type: 'feature',
Gunnar Mills86159152024-02-06 14:54:39 -0600301 value: 'enabled',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700302 description: '''Enable/disable the new PowerSubsystem, ThermalSubsystem,
303 and all children schemas. This includes displaying all
Ed Tanous50b37022024-06-25 13:00:04 -0700304 sensors in the SensorCollection.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700305)
306
Janet Adkinsf664fd82025-07-23 14:01:43 -0500307# BMCWEB_REDFISH_ALLOW_DEPRECATED_INDICATORLED
308option(
309 'redfish-allow-deprecated-indicatorled',
310 type: 'feature',
311 value: 'disabled',
312 description: '''Enable/disable the deprecated IndicatorLED property. The
313 default condition is disabled. The code to enable this
314 option will be removed by March 2026.''',
315)
316
Janet Adkinseb261e12025-09-15 13:25:45 -0500317# BMCWEB_REDFISH_USE_HARDCODED_SYSTEM_LOCATION_INDICATOR
318option(
319 'redfish-use-hardcoded-system-location-indicator',
320 type: 'feature',
321 value: 'enabled',
322 description: '''Enable/disable the use of hard-coded LED group
323 enclosure_identify_blink and enclosure_identify for getting
324 and setting the LocationIndicatorActive for the Systems
325 response. The default condition will be enabled until
326 October 15, 2025. The code to enable this option will be
327 removed by June 2026.''',
328)
329
Ed Tanousc5bcf352024-09-25 16:41:10 -0700330# BMCWEB_REDFISH_ALLOW_DEPRECATED_POWER_THERMAL
Ed Tanous0cd5f782022-04-26 16:09:09 -0700331option(
332 'redfish-allow-deprecated-power-thermal',
333 type: 'feature',
Gunnar Millsdb3bf6f2025-08-21 11:05:13 -0500334 value: 'disabled',
335 description: '''Enable/disable the old Power / Thermal. This has been
336 replaced by the new PowerSubsystem, ThermalSubsystem, and
337 the redfish-new-powersubsystem-thermalsubsystem option.
338 This option will be removed June 2026.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700339)
340
Ed Tanousc5bcf352024-09-25 16:41:10 -0700341# BMCWEB_REDFISH_OEM_MANAGER_FAN_DATA
Ed Tanous0cd5f782022-04-26 16:09:09 -0700342option(
Gunnar Mills54dce7f2022-08-05 17:01:32 +0000343 'redfish-oem-manager-fan-data',
344 type: 'feature',
345 value: 'enabled',
346 description: '''Enables Redfish OEM fan data on the manager resource.
347 This includes PID and Stepwise controller data. See
Myung Bae1d19d872024-09-10 09:42:32 -0400348 OpenBMCManager schema for more detail.''',
Gunnar Mills54dce7f2022-08-05 17:01:32 +0000349)
350
Ed Tanousc5bcf352024-09-25 16:41:10 -0700351# BMCWEB_REDFISH_UPDATESERVICE_USE_DBUS
Gunnar Mills54dce7f2022-08-05 17:01:32 +0000352option(
Jagpal Singh Gill57855662024-04-17 10:44:27 -0700353 'redfish-updateservice-use-dbus',
354 type: 'feature',
Jagpal Singh Gill64fa9162024-11-12 16:16:47 -0800355 value: 'enabled',
Jagpal Singh Gill57855662024-04-17 10:44:27 -0700356 description: '''Enables xyz.openbmc_project.Software.Update D-Bus interface
357 to propagate UpdateService requests to the corresponding
358 updater daemons instead of moving files to /tmp/images dir.
Ed Tanous50b37022024-06-25 13:00:04 -0700359 ''',
Jagpal Singh Gill57855662024-04-17 10:44:27 -0700360)
361
Ed Tanous6a371402024-12-03 14:01:25 -0800362# BMCWEB_REDFISH_ALLOW_SIMPLE_UPDATE
363option(
364 'redfish-allow-simple-update',
365 type: 'feature',
366 value: 'disabled',
367 description: '''Enables Redfish UpdateService SimpleUpdate Action. Note
368 that at this time this option is non-functional. Redfish
369 recommends using MultiPartUpdate.''',
370)
371
372
Jagpal Singh Gill57855662024-04-17 10:44:27 -0700373option(
Ed Tanous0cd5f782022-04-26 16:09:09 -0700374 'https_port',
375 type: 'integer',
Ed Tanous796ba932020-08-02 04:29:21 +0000376 min: -1,
Ed Tanous0cd5f782022-04-26 16:09:09 -0700377 max: 65535,
378 value: 443,
Ed Tanous796ba932020-08-02 04:29:21 +0000379 description: '''HTTPS default port number. Set to -1 to disable and rely
380 only on additional_ports''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700381)
Manojkiran Edaaf6298d2020-05-27 08:51:32 +0530382
Ed Tanous796ba932020-08-02 04:29:21 +0000383
384# Additional ports
385# This series of options below allows setting up non-trivial deployments of
386# bmcweb, binding specific ports, authentication profiles, and device binds to
387# multiple ports.
388# Setting these options incorrectly can have severe security consequences and
389# should be reserved for platform experts familiar with their particular
390# platforms security requirements.
391
392option(
393 'additional-ports',
394 type: 'array',
395 value: [],
396 description: '''Additional ports to listen to. Allows bmcweb to listen to
397 multiple ports at a given protocol''',
398)
399
400option(
401 'additional-protocol',
402 type: 'array',
403 value: [],
404 description: '''Allows specifying a specific protocol type for a given
405 additional-ports index. Allows setting http, https, or both
406 to each socket index. If not provided for a given
407 additional-ports index, assumes https.''',
408)
409
410option(
411 'additional-bind-to-device',
412 type: 'array',
413 value: [],
414 description: '''Allows specifying an SO_BINDTODEVICE or BindToDevice systemd
415 directive for each additional socket file. If not provided
416 for a given additional-ports index, assumes bind to all
417 devices''',
418)
419
420option(
421 'additional-auth',
422 type: 'array',
423 value: [],
424 description: '''Allows specifying an authentication profile for each socket
425 created with additional-ports. Allows auth or noauth, and
426 defaults to auth if not provided. If noauth is provided,
427 authentication will not be performed for a given socket/port
428 index.''',
429)
430# end additional ports
431
Ed Tanousc5bcf352024-09-25 16:41:10 -0700432# BMCWEB_DNS_RESOLVER
Carson Labrado7fb33562022-04-18 23:26:56 +0000433option(
Ed Tanousf8ca6d72022-06-28 12:12:03 -0700434 'dns-resolver',
435 type: 'combo',
436 choices: ['systemd-dbus', 'asio'],
437 value: 'systemd-dbus',
438 description: '''Sets which DNS resolver backend should be used.
439 systemd-dbus uses the Systemd ResolveHostname on dbus, but requires dbus
440 support. asio relies on boost::asio::tcp::resolver, but cannot resolve
Ed Tanous50b37022024-06-25 13:00:04 -0700441 names when boost threading is disabled.''',
Ed Tanousf8ca6d72022-06-28 12:12:03 -0700442)
443
Ed Tanousc5bcf352024-09-25 16:41:10 -0700444# BMCWEB_REDFISH_AGGREGATION
Ed Tanousf8ca6d72022-06-28 12:12:03 -0700445option(
Carson Labrado7fb33562022-04-18 23:26:56 +0000446 'redfish-aggregation',
447 type: 'feature',
448 value: 'disabled',
Ed Tanous50b37022024-06-25 13:00:04 -0700449 description: 'Allows this BMC to aggregate resources from satellite BMCs',
Carson Labrado7fb33562022-04-18 23:26:56 +0000450)
451
Ed Tanousc5bcf352024-09-25 16:41:10 -0700452# BMCWEB_HYPERVISOR_COMPUTER_SYSTEM
Ed Tanous7f3e84a2022-12-28 16:22:54 -0800453option(
Gunnar Mills68896202024-08-21 11:34:20 -0500454 'hypervisor-computer-system',
455 type: 'feature',
456 value: 'disabled',
457 description: '''This puts a hypervisor computer system resource at
458 /redfish/v1/Systems/hypervisor. This system resource has children
459 resources such as EthernetInterfaces and ComputerSystem.Reset.''',
460)
461
Ed Tanousc5bcf352024-09-25 16:41:10 -0700462# BMCWEB_EXPERIMENTAL_REDFISH_MULTI_COMPUTER_SYSTEM
Gunnar Mills68896202024-08-21 11:34:20 -0500463option(
Ed Tanous7f3e84a2022-12-28 16:22:54 -0800464 'experimental-redfish-multi-computer-system',
465 type: 'feature',
466 value: 'disabled',
467 description: '''This is a temporary option flag for staging the
468 ComputerSystemCollection transition to multi-host. It, as well as the code
Oliver Brewka06827462025-07-13 18:29:31 +0200469 still beneath it will be removed on 1/1/2026. Do not enable in a
Ed Tanous50b37022024-06-25 13:00:04 -0700470 production environment, or where API stability is required.''',
Ed Tanous7f3e84a2022-12-28 16:22:54 -0800471)
472
Ed Tanousb360d5b2024-07-02 11:49:19 -0700473# BMCWEB_EXPERIMENTAL_BMCWEB_USER
474option(
475 'experimental-bmcweb-user',
476 type: 'feature',
477 value: 'disabled',
478 description: '''Enable to run bmcweb as the bmcweb user. This is
479 experimental. Expect many things to be broken if you enable this
480 option, and this should not be used for production usage. This
481 option will be removed Q1 2026.''',
482)
483
Ed Tanous39fe3af2025-02-17 11:34:12 -0800484# BMCWEB_HTTP2
Ed Tanousfca2cbe2021-01-28 14:49:59 -0800485option(
Ed Tanous39fe3af2025-02-17 11:34:12 -0800486 'http2',
Ed Tanousfca2cbe2021-01-28 14:49:59 -0800487 type: 'feature',
Ed Tanous39fe3af2025-02-17 11:34:12 -0800488 value: 'enabled',
489 description: 'Enable HTTP/2 protocol support using nghttp2.',
Ed Tanousfca2cbe2021-01-28 14:49:59 -0800490)
491
rohitpaicf9085a2025-02-24 12:33:59 +0530492# BMCWEB_WATCHDOG_TIMEOUT
493option(
494 'watchdog-timeout-seconds',
495 type: 'integer',
496 min: 0,
497 max: 600,
498 value: 120,
499 description: '''Specifies the systemd watchdog timeout interval in seconds.
500 Set to 0 to disable the watchdog.''',
501)
502
Manojkiran Edaaf6298d2020-05-27 08:51:32 +0530503# Insecure options. Every option that starts with a `insecure` flag should
504# not be enabled by default for any platform, unless the author fully comprehends
505# the implications of doing so.In general, enabling these options will cause security
506# problems of varying degrees
507
Ed Tanousc5bcf352024-09-25 16:41:10 -0700508# BMCWEB_INSECURE_DISABLE_CSRF
Ed Tanous0cd5f782022-04-26 16:09:09 -0700509option(
510 'insecure-disable-csrf',
511 type: 'feature',
512 value: 'disabled',
513 description: '''Disable CSRF prevention checks.Should be set to false for
Ed Tanous50b37022024-06-25 13:00:04 -0700514 production systems.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700515)
516
Ed Tanousc5bcf352024-09-25 16:41:10 -0700517# BMCWEB_INSECURE_DISABLE_SSL
Ed Tanous0cd5f782022-04-26 16:09:09 -0700518option(
519 'insecure-disable-ssl',
520 type: 'feature',
521 value: 'disabled',
522 description: '''Disable SSL ports. Should be set to false for production
Ed Tanous50b37022024-06-25 13:00:04 -0700523 systems.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700524)
525
Ed Tanousc5bcf352024-09-25 16:41:10 -0700526# BMCWEB_INSECURE_DISABLE_AUTH
Ed Tanous0cd5f782022-04-26 16:09:09 -0700527option(
528 'insecure-disable-auth',
529 type: 'feature',
530 value: 'disabled',
Nan Zhoua43ea822022-05-27 00:42:44 +0000531 description: '''Disable authentication and authoriztion on all ports.
Ed Tanous50b37022024-06-25 13:00:04 -0700532 Should be set to false for production systems.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700533)
534
Ed Tanousc5bcf352024-09-25 16:41:10 -0700535# BMCWEB_INSECURE_IGNORE_CONTENT_TYPE
Ed Tanous0cd5f782022-04-26 16:09:09 -0700536option(
Ed Tanous1aa0c2b2022-02-08 12:24:30 +0100537 'insecure-ignore-content-type',
538 type: 'feature',
Ed Tanousdb398022023-06-07 16:38:08 -0700539 value: 'disabled',
Ed Tanous1aa0c2b2022-02-08 12:24:30 +0100540 description: '''Allows parsing PUT/POST/PATCH content as JSON regardless
541 of the presence of the content-type header. Enabling this
542 conflicts with the input parsing guidelines, but may be
543 required to support old clients that may not set the
Ed Tanous50b37022024-06-25 13:00:04 -0700544 Content-Type header on payloads.''',
Ed Tanous1aa0c2b2022-02-08 12:24:30 +0100545)
546
Ed Tanousc5bcf352024-09-25 16:41:10 -0700547# BMCWEB_INSECURE_PUSH_STYLE_NOTIFICATION
Ed Tanous1aa0c2b2022-02-08 12:24:30 +0100548option(
Ed Tanous0cd5f782022-04-26 16:09:09 -0700549 'insecure-push-style-notification',
550 type: 'feature',
551 value: 'disabled',
Ed Tanous50b37022024-06-25 13:00:04 -0700552 description: 'Enable HTTP push style eventing feature',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700553)
554
Ed Tanousc5bcf352024-09-25 16:41:10 -0700555# BMCWEB_INSECURE_ENABLE_REDFISH_QUERY
Ed Tanous0cd5f782022-04-26 16:09:09 -0700556option(
557 'insecure-enable-redfish-query',
558 type: 'feature',
559 value: 'disabled',
560 description: '''Enables Redfish expand query parameter. This feature is
561 experimental, and has not been tested against the full
562 limits of user-facing behavior. It is not recommended to
563 enable on production systems at this time. Other query
Ed Tanous50b37022024-06-25 13:00:04 -0700564 parameters such as only are not controlled by this option.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700565)