blob: 505686662d512bf0d2046aa79c69f54ab13b090b [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
Harshit Aghera3132dac2025-10-07 13:58:19 +0530190# BMCWEB_REDFISH_FABRIC_URI_NAME
191option(
192 'redfish-fabric-uri-name',
193 type: 'string',
194 value: 'fabric',
195 description: '''The static Redfish Fabric ID representing the host
196 instance. This option will appear in the Redfish tree at
197 /redfish/v1/Fabrics/<redfish-fabric-uri-name>.
198 Defaults to \'fabric\' which resolves to
199 /redfish/v1/Fabrics/fabric''',
200)
201
Ed Tanousc5bcf352024-09-25 16:41:10 -0700202# BMCWEB_LOGGING_LEVEL
Ed Tanous253f11b2024-05-16 09:38:31 -0700203option(
Ed Tanous0cd5f782022-04-26 16:09:09 -0700204 'bmcweb-logging',
Myung Bae662aa6e2023-01-10 14:20:28 -0600205 type: 'combo',
Ed Tanous92e26be2024-08-21 13:39:14 -0700206 choices: [
207 'disabled',
208 'enabled',
209 'debug',
210 'info',
211 'warning',
212 'error',
213 'critical',
214 ],
Ed Tanous4d1db042024-02-16 13:08:34 -0800215 value: 'error',
Myung Bae662aa6e2023-01-10 14:20:28 -0600216 description: '''Enable output the extended logging level.
217 - disabled: disable bmcweb log traces.
218 - enabled: treated as 'debug'
Ed Tanous50b37022024-06-25 13:00:04 -0700219 - For the other logging level option, see DEVELOPING.md.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700220)
221
Ed Tanousc5bcf352024-09-25 16:41:10 -0700222# BMCWEB_BASIC_AUTH
Ed Tanous0cd5f782022-04-26 16:09:09 -0700223option(
224 'basic-auth',
225 type: 'feature',
226 value: 'enabled',
Ed Tanous50b37022024-06-25 13:00:04 -0700227 description: 'Enable basic authentication',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700228)
229
Ed Tanousc5bcf352024-09-25 16:41:10 -0700230# BMCWEB_SESSION_AUTH
Ed Tanous0cd5f782022-04-26 16:09:09 -0700231option(
232 'session-auth',
233 type: 'feature',
234 value: 'enabled',
Ed Tanous50b37022024-06-25 13:00:04 -0700235 description: 'Enable session authentication',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700236)
237
Ed Tanousc5bcf352024-09-25 16:41:10 -0700238# BMCWEB_XTOKEN_AUTH
Ed Tanous0cd5f782022-04-26 16:09:09 -0700239option(
240 'xtoken-auth',
241 type: 'feature',
242 value: 'enabled',
Ed Tanous50b37022024-06-25 13:00:04 -0700243 description: 'Enable xtoken authentication',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700244)
245
Ed Tanousc5bcf352024-09-25 16:41:10 -0700246# BMCWEB_COOKIE_AUTH
Ed Tanous0cd5f782022-04-26 16:09:09 -0700247option(
248 'cookie-auth',
249 type: 'feature',
250 value: 'enabled',
Ed Tanous50b37022024-06-25 13:00:04 -0700251 description: 'Enable cookie authentication',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700252)
253
Ed Tanousc5bcf352024-09-25 16:41:10 -0700254# BMCWEB_MUTUAL_TLS_AUTH
Ed Tanous0cd5f782022-04-26 16:09:09 -0700255option(
256 'mutual-tls-auth',
257 type: 'feature',
258 value: 'enabled',
259 description: '''Enables authenticating users through TLS client
260 certificates. The insecure-disable-ssl must be disabled for
Ed Tanous50b37022024-06-25 13:00:04 -0700261 this option to take effect.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700262)
263
Ed Tanousc5bcf352024-09-25 16:41:10 -0700264# BMCWEB_MUTUAL_TLS_COMMON_NAME_PARSING_DEFAULT
Ed Tanous0cd5f782022-04-26 16:09:09 -0700265option(
Ed Tanous3ce36882024-06-09 10:58:16 -0700266 'mutual-tls-common-name-parsing-default',
Marco Kawajiri0e373b52023-10-31 13:36:58 -0700267 type: 'combo',
Malik Akbar Hashemi Rafsanjania4943692025-05-27 13:23:44 -0700268 choices: ['CommonName', 'Whole', 'UserPrincipalName'],
269 description: '''Default MTLS parse mode to get username from the
270 client's x509 certificate''',
Marco Kawajiri0e373b52023-10-31 13:36:58 -0700271)
272
Ed Tanousc5bcf352024-09-25 16:41:10 -0700273# BMCWEB_IBM_MANAGEMENT_CONSOLE
Ed Tanous3ce36882024-06-09 10:58:16 -0700274option(
Ed Tanous0cd5f782022-04-26 16:09:09 -0700275 'ibm-management-console',
276 type: 'feature',
277 value: 'disabled',
278 description: '''Enable the IBM management console specific functionality.
Ed Tanous50b37022024-06-25 13:00:04 -0700279 Paths are under /ibm/v1/''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700280)
281
Ed Tanousc5bcf352024-09-25 16:41:10 -0700282# BMCWEB_GOOGLE_API
Ed Tanous0cd5f782022-04-26 16:09:09 -0700283option(
284 'google-api',
285 type: 'feature',
286 value: 'disabled',
287 description: '''Enable the Google specific functionality. Paths are under
Ed Tanous50b37022024-06-25 13:00:04 -0700288 /google/v1/''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700289)
290
Ed Tanousc5bcf352024-09-25 16:41:10 -0700291# BMCWEB_HTTP_BODY_LIMIT
Ed Tanous0cd5f782022-04-26 16:09:09 -0700292option(
293 'http-body-limit',
294 type: 'integer',
295 min: 0,
296 max: 512,
297 value: 30,
Ed Tanous50b37022024-06-25 13:00:04 -0700298 description: 'Specifies the http request body length limit',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700299)
300
Ed Tanousb2539062024-03-12 16:58:35 -0700301# BMCWEB_HTTP_ZSTD
302option(
303 'http-zstd',
304 type: 'feature',
305 value: 'enabled',
306 description: 'Allows compression/decompression using zstd',
307)
308
Ed Tanousc5bcf352024-09-25 16:41:10 -0700309# BMCWEB_REDFISH_NEW_POWERSUBSYSTEM_THERMALSUBSYSTEM
Ed Tanous0cd5f782022-04-26 16:09:09 -0700310option(
311 'redfish-new-powersubsystem-thermalsubsystem',
312 type: 'feature',
Gunnar Mills86159152024-02-06 14:54:39 -0600313 value: 'enabled',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700314 description: '''Enable/disable the new PowerSubsystem, ThermalSubsystem,
315 and all children schemas. This includes displaying all
Ed Tanous50b37022024-06-25 13:00:04 -0700316 sensors in the SensorCollection.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700317)
318
Janet Adkinsf664fd82025-07-23 14:01:43 -0500319# BMCWEB_REDFISH_ALLOW_DEPRECATED_INDICATORLED
320option(
321 'redfish-allow-deprecated-indicatorled',
322 type: 'feature',
323 value: 'disabled',
324 description: '''Enable/disable the deprecated IndicatorLED property. The
325 default condition is disabled. The code to enable this
326 option will be removed by March 2026.''',
327)
328
Janet Adkinseb261e12025-09-15 13:25:45 -0500329# BMCWEB_REDFISH_USE_HARDCODED_SYSTEM_LOCATION_INDICATOR
330option(
331 'redfish-use-hardcoded-system-location-indicator',
332 type: 'feature',
333 value: 'enabled',
334 description: '''Enable/disable the use of hard-coded LED group
335 enclosure_identify_blink and enclosure_identify for getting
336 and setting the LocationIndicatorActive for the Systems
Janet Adkinse5405ce2026-01-12 16:10:33 -0600337 response. It, as well as the code still beneath it will
338 be removed on June 2026.''',
Janet Adkinseb261e12025-09-15 13:25:45 -0500339)
340
Ed Tanousc5bcf352024-09-25 16:41:10 -0700341# BMCWEB_REDFISH_ALLOW_DEPRECATED_POWER_THERMAL
Ed Tanous0cd5f782022-04-26 16:09:09 -0700342option(
343 'redfish-allow-deprecated-power-thermal',
344 type: 'feature',
Gunnar Millsdb3bf6f2025-08-21 11:05:13 -0500345 value: 'disabled',
346 description: '''Enable/disable the old Power / Thermal. This has been
347 replaced by the new PowerSubsystem, ThermalSubsystem, and
348 the redfish-new-powersubsystem-thermalsubsystem option.
349 This option will be removed June 2026.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700350)
351
Janet Adkins433c9192025-10-29 16:49:27 -0500352# BMCWEB_REDFISH_ALLOW_ROTATIONAL_FANS
353option(
354 'redfish-allow-rotational-fans',
355 type: 'feature',
356 value: 'enabled',
357 description: '''Enable/disable the reporting of fan_tach sensors as
358 Rotational ReadingType. Redfish 2025.3 clarified the
359 reporting of fan sensors should always be as a Percent
360 ReadingType. When disabled fan_tach sensors will be
361 converted to report in Percent. This option will
362 default to disabled June 2026. The code to enable this
363 option will be removed by June 2027.''',
364)
365
Ed Tanousc5bcf352024-09-25 16:41:10 -0700366# BMCWEB_REDFISH_OEM_MANAGER_FAN_DATA
Ed Tanous0cd5f782022-04-26 16:09:09 -0700367option(
Gunnar Mills54dce7f2022-08-05 17:01:32 +0000368 'redfish-oem-manager-fan-data',
369 type: 'feature',
370 value: 'enabled',
371 description: '''Enables Redfish OEM fan data on the manager resource.
372 This includes PID and Stepwise controller data. See
Myung Bae1d19d872024-09-10 09:42:32 -0400373 OpenBMCManager schema for more detail.''',
Gunnar Mills54dce7f2022-08-05 17:01:32 +0000374)
375
Ed Tanousc5bcf352024-09-25 16:41:10 -0700376# BMCWEB_REDFISH_UPDATESERVICE_USE_DBUS
Gunnar Mills54dce7f2022-08-05 17:01:32 +0000377option(
Jagpal Singh Gill57855662024-04-17 10:44:27 -0700378 'redfish-updateservice-use-dbus',
379 type: 'feature',
Jagpal Singh Gill64fa9162024-11-12 16:16:47 -0800380 value: 'enabled',
Jagpal Singh Gill57855662024-04-17 10:44:27 -0700381 description: '''Enables xyz.openbmc_project.Software.Update D-Bus interface
382 to propagate UpdateService requests to the corresponding
383 updater daemons instead of moving files to /tmp/images dir.
Ed Tanous50b37022024-06-25 13:00:04 -0700384 ''',
Jagpal Singh Gill57855662024-04-17 10:44:27 -0700385)
386
Ed Tanous6a371402024-12-03 14:01:25 -0800387# BMCWEB_REDFISH_ALLOW_SIMPLE_UPDATE
388option(
389 'redfish-allow-simple-update',
390 type: 'feature',
391 value: 'disabled',
392 description: '''Enables Redfish UpdateService SimpleUpdate Action. Note
393 that at this time this option is non-functional. Redfish
394 recommends using MultiPartUpdate.''',
395)
396
397
Jagpal Singh Gill57855662024-04-17 10:44:27 -0700398option(
Ed Tanous0cd5f782022-04-26 16:09:09 -0700399 'https_port',
400 type: 'integer',
Ed Tanous796ba932020-08-02 04:29:21 +0000401 min: -1,
Ed Tanous0cd5f782022-04-26 16:09:09 -0700402 max: 65535,
403 value: 443,
Ed Tanous796ba932020-08-02 04:29:21 +0000404 description: '''HTTPS default port number. Set to -1 to disable and rely
405 only on additional_ports''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700406)
Manojkiran Edaaf6298d2020-05-27 08:51:32 +0530407
Ed Tanous796ba932020-08-02 04:29:21 +0000408
409# Additional ports
410# This series of options below allows setting up non-trivial deployments of
411# bmcweb, binding specific ports, authentication profiles, and device binds to
412# multiple ports.
413# Setting these options incorrectly can have severe security consequences and
414# should be reserved for platform experts familiar with their particular
415# platforms security requirements.
416
417option(
418 'additional-ports',
419 type: 'array',
420 value: [],
421 description: '''Additional ports to listen to. Allows bmcweb to listen to
422 multiple ports at a given protocol''',
423)
424
425option(
426 'additional-protocol',
427 type: 'array',
428 value: [],
429 description: '''Allows specifying a specific protocol type for a given
430 additional-ports index. Allows setting http, https, or both
431 to each socket index. If not provided for a given
432 additional-ports index, assumes https.''',
433)
434
435option(
436 'additional-bind-to-device',
437 type: 'array',
438 value: [],
439 description: '''Allows specifying an SO_BINDTODEVICE or BindToDevice systemd
440 directive for each additional socket file. If not provided
441 for a given additional-ports index, assumes bind to all
442 devices''',
443)
444
445option(
446 'additional-auth',
447 type: 'array',
448 value: [],
449 description: '''Allows specifying an authentication profile for each socket
450 created with additional-ports. Allows auth or noauth, and
451 defaults to auth if not provided. If noauth is provided,
452 authentication will not be performed for a given socket/port
453 index.''',
454)
455# end additional ports
456
Ed Tanousc5bcf352024-09-25 16:41:10 -0700457# BMCWEB_DNS_RESOLVER
Carson Labrado7fb33562022-04-18 23:26:56 +0000458option(
Ed Tanousf8ca6d72022-06-28 12:12:03 -0700459 'dns-resolver',
460 type: 'combo',
461 choices: ['systemd-dbus', 'asio'],
462 value: 'systemd-dbus',
463 description: '''Sets which DNS resolver backend should be used.
464 systemd-dbus uses the Systemd ResolveHostname on dbus, but requires dbus
465 support. asio relies on boost::asio::tcp::resolver, but cannot resolve
Ed Tanous50b37022024-06-25 13:00:04 -0700466 names when boost threading is disabled.''',
Ed Tanousf8ca6d72022-06-28 12:12:03 -0700467)
468
Ed Tanousc5bcf352024-09-25 16:41:10 -0700469# BMCWEB_REDFISH_AGGREGATION
Ed Tanousf8ca6d72022-06-28 12:12:03 -0700470option(
Carson Labrado7fb33562022-04-18 23:26:56 +0000471 'redfish-aggregation',
472 type: 'feature',
473 value: 'disabled',
Ed Tanous50b37022024-06-25 13:00:04 -0700474 description: 'Allows this BMC to aggregate resources from satellite BMCs',
Carson Labrado7fb33562022-04-18 23:26:56 +0000475)
476
Ed Tanousc5bcf352024-09-25 16:41:10 -0700477# BMCWEB_HYPERVISOR_COMPUTER_SYSTEM
Ed Tanous7f3e84a2022-12-28 16:22:54 -0800478option(
Gunnar Mills68896202024-08-21 11:34:20 -0500479 'hypervisor-computer-system',
480 type: 'feature',
481 value: 'disabled',
482 description: '''This puts a hypervisor computer system resource at
483 /redfish/v1/Systems/hypervisor. This system resource has children
484 resources such as EthernetInterfaces and ComputerSystem.Reset.''',
485)
486
Ed Tanousc5bcf352024-09-25 16:41:10 -0700487# BMCWEB_EXPERIMENTAL_REDFISH_MULTI_COMPUTER_SYSTEM
Gunnar Mills68896202024-08-21 11:34:20 -0500488option(
Ed Tanous7f3e84a2022-12-28 16:22:54 -0800489 'experimental-redfish-multi-computer-system',
490 type: 'feature',
491 value: 'disabled',
492 description: '''This is a temporary option flag for staging the
493 ComputerSystemCollection transition to multi-host. It, as well as the code
Oliver Brewka06827462025-07-13 18:29:31 +0200494 still beneath it will be removed on 1/1/2026. Do not enable in a
Ed Tanous50b37022024-06-25 13:00:04 -0700495 production environment, or where API stability is required.''',
Ed Tanous7f3e84a2022-12-28 16:22:54 -0800496)
497
Ed Tanousb360d5b2024-07-02 11:49:19 -0700498# BMCWEB_EXPERIMENTAL_BMCWEB_USER
499option(
500 'experimental-bmcweb-user',
501 type: 'feature',
502 value: 'disabled',
503 description: '''Enable to run bmcweb as the bmcweb user. This is
504 experimental. Expect many things to be broken if you enable this
505 option, and this should not be used for production usage. This
506 option will be removed Q1 2026.''',
507)
508
Ed Tanous39fe3af2025-02-17 11:34:12 -0800509# BMCWEB_HTTP2
Ed Tanousfca2cbe2021-01-28 14:49:59 -0800510option(
Ed Tanous39fe3af2025-02-17 11:34:12 -0800511 'http2',
Ed Tanousfca2cbe2021-01-28 14:49:59 -0800512 type: 'feature',
Ed Tanous39fe3af2025-02-17 11:34:12 -0800513 value: 'enabled',
514 description: 'Enable HTTP/2 protocol support using nghttp2.',
Ed Tanousfca2cbe2021-01-28 14:49:59 -0800515)
516
rohitpaicf9085a2025-02-24 12:33:59 +0530517# BMCWEB_WATCHDOG_TIMEOUT
518option(
519 'watchdog-timeout-seconds',
520 type: 'integer',
521 min: 0,
522 max: 600,
523 value: 120,
524 description: '''Specifies the systemd watchdog timeout interval in seconds.
525 Set to 0 to disable the watchdog.''',
526)
527
Manojkiran Edaaf6298d2020-05-27 08:51:32 +0530528# Insecure options. Every option that starts with a `insecure` flag should
529# not be enabled by default for any platform, unless the author fully comprehends
530# the implications of doing so.In general, enabling these options will cause security
531# problems of varying degrees
532
Ed Tanousc5bcf352024-09-25 16:41:10 -0700533# BMCWEB_INSECURE_DISABLE_CSRF
Ed Tanous0cd5f782022-04-26 16:09:09 -0700534option(
535 'insecure-disable-csrf',
536 type: 'feature',
537 value: 'disabled',
538 description: '''Disable CSRF prevention checks.Should be set to false for
Ed Tanous50b37022024-06-25 13:00:04 -0700539 production systems.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700540)
541
Ed Tanousc5bcf352024-09-25 16:41:10 -0700542# BMCWEB_INSECURE_DISABLE_SSL
Ed Tanous0cd5f782022-04-26 16:09:09 -0700543option(
544 'insecure-disable-ssl',
545 type: 'feature',
546 value: 'disabled',
547 description: '''Disable SSL ports. Should be set to false for production
Ed Tanous50b37022024-06-25 13:00:04 -0700548 systems.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700549)
550
Ed Tanousc5bcf352024-09-25 16:41:10 -0700551# BMCWEB_INSECURE_DISABLE_AUTH
Ed Tanous0cd5f782022-04-26 16:09:09 -0700552option(
553 'insecure-disable-auth',
554 type: 'feature',
555 value: 'disabled',
Nan Zhoua43ea822022-05-27 00:42:44 +0000556 description: '''Disable authentication and authoriztion on all ports.
Ed Tanous50b37022024-06-25 13:00:04 -0700557 Should be set to false for production systems.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700558)
559
Ed Tanousc5bcf352024-09-25 16:41:10 -0700560# BMCWEB_INSECURE_IGNORE_CONTENT_TYPE
Ed Tanous0cd5f782022-04-26 16:09:09 -0700561option(
Ed Tanous1aa0c2b2022-02-08 12:24:30 +0100562 'insecure-ignore-content-type',
563 type: 'feature',
Ed Tanousdb398022023-06-07 16:38:08 -0700564 value: 'disabled',
Ed Tanous1aa0c2b2022-02-08 12:24:30 +0100565 description: '''Allows parsing PUT/POST/PATCH content as JSON regardless
566 of the presence of the content-type header. Enabling this
567 conflicts with the input parsing guidelines, but may be
568 required to support old clients that may not set the
Ed Tanous50b37022024-06-25 13:00:04 -0700569 Content-Type header on payloads.''',
Ed Tanous1aa0c2b2022-02-08 12:24:30 +0100570)
571
Ed Tanousc5bcf352024-09-25 16:41:10 -0700572# BMCWEB_INSECURE_PUSH_STYLE_NOTIFICATION
Ed Tanous1aa0c2b2022-02-08 12:24:30 +0100573option(
Ed Tanous0cd5f782022-04-26 16:09:09 -0700574 'insecure-push-style-notification',
575 type: 'feature',
576 value: 'disabled',
Ed Tanous50b37022024-06-25 13:00:04 -0700577 description: 'Enable HTTP push style eventing feature',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700578)
579
Ed Tanousc5bcf352024-09-25 16:41:10 -0700580# BMCWEB_INSECURE_ENABLE_REDFISH_QUERY
Ed Tanous0cd5f782022-04-26 16:09:09 -0700581option(
582 'insecure-enable-redfish-query',
583 type: 'feature',
584 value: 'disabled',
585 description: '''Enables Redfish expand query parameter. This feature is
586 experimental, and has not been tested against the full
587 limits of user-facing behavior. It is not recommended to
588 enable on production systems at this time. Other query
Ed Tanous50b37022024-06-25 13:00:04 -0700589 parameters such as only are not controlled by this option.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700590)
rajeeranjane5ab2df2025-07-21 15:47:55 +0530591