blob: b80a666e0f4e05a1feb6e5f93da0bc22f6d02d18 [file] [log] [blame]
Ed Tanous0cd5f782022-04-26 16:09:09 -07001option(
Ed Tanous0cd5f782022-04-26 16:09:09 -07002 'kvm',
3 type: 'feature',
4 value: 'enabled',
5 description: '''Enable the KVM host video WebSocket. Path is /kvm/0.
Ed Tanous50b37022024-06-25 13:00:04 -07006 Video is from the BMCs /dev/videodevice.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -07007)
8
9option(
10 'tests',
11 type: 'feature',
12 value: 'enabled',
Ed Tanous50b37022024-06-25 13:00:04 -070013 description: 'Enable Unit tests for bmcweb',
Ed Tanous0cd5f782022-04-26 16:09:09 -070014)
15
16option(
17 'vm-websocket',
18 type: 'feature',
19 value: 'enabled',
Ed Tanous36c0f2a2024-02-09 13:50:26 -080020 description: '''Enable the Virtual Media WebSocket. Path is /vm/0/0 and /nbd/<id> to
Ed Tanous0cd5f782022-04-26 16:09:09 -070021 open the websocket. See
Ed Tanous50b37022024-06-25 13:00:04 -070022 https://github.com/openbmc/jsnbd/blob/master/README.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -070023)
Ed Tanousefb80622021-02-20 11:04:01 -080024
25# if you use this option and are seeing this comment, please comment here:
26# https://github.com/openbmc/bmcweb/issues/188 and put forward your intentions
27# for this code. At this point, no daemon has been upstreamed that implements
28# this interface, so for the moment this appears to be dead code; In leiu of
29# removing it, it has been disabled to try to give those that use it the
30# opportunity to upstream their backend implementation
Ed Tanous0cd5f782022-04-26 16:09:09 -070031#option(
32# 'vm-nbdproxy',
Ed Tanous36c0f2a2024-02-09 13:50:26 -080033# type: 'feature',
34# value: 'disabled',
Ed Tanous0cd5f782022-04-26 16:09:09 -070035# description: 'Enable the Virtual Media WebSocket.'
36#)
37
38option(
39 'rest',
40 type: 'feature',
41 value: 'disabled',
42 description: '''Enable Phosphor REST (D-Bus) APIs. Paths directly map
43 Phosphor D-Bus object paths, for example,
44 /xyz/openbmc_project/logging/entry/enumerate. See
Ed Tanous50b37022024-06-25 13:00:04 -070045 https://github.com/openbmc/docs/blob/master/rest-api.md.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -070046)
47
48option(
49 'redfish',
50 type: 'feature',
51 value: 'enabled',
52 description: '''Enable Redfish APIs. Paths are under /redfish/v1/. See
Ed Tanous50b37022024-06-25 13:00:04 -070053 https://github.com/openbmc/bmcweb/blob/master/DEVELOPING.md#redfish.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -070054)
55
56option(
57 'host-serial-socket',
58 type: 'feature',
59 value: 'enabled',
60 description: '''Enable host serial console WebSocket. Path is /console0.
Ed Tanous50b37022024-06-25 13:00:04 -070061 See https://github.com/openbmc/docs/blob/master/console.md.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -070062)
63
64option(
65 'static-hosting',
66 type: 'feature',
67 value: 'enabled',
68 description: '''Enable serving files from the /usr/share/www directory
Ed Tanous50b37022024-06-25 13:00:04 -070069 as paths under /.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -070070)
71
72option(
73 'redfish-bmc-journal',
74 type: 'feature',
Willy Tuf8483672022-05-10 15:08:10 -070075 value: 'enabled',
Ed Tanous0cd5f782022-04-26 16:09:09 -070076 description: '''Enable BMC journal access through Redfish. Paths are under
Ed Tanous50b37022024-06-25 13:00:04 -070077 /redfish/v1/Managers/bmc/LogServices/Journal.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -070078)
79
80option(
81 'redfish-cpu-log',
82 type: 'feature',
83 value: 'disabled',
84 description: '''Enable CPU log service transactions through Redfish. Paths
Ed Tanous50b37022024-06-25 13:00:04 -070085 are under /redfish/v1/Systems/system/LogServices/Crashdump'.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -070086)
87
88option(
89 'redfish-dump-log',
90 type: 'feature',
91 value: 'disabled',
92 description: '''Enable Dump log service transactions through Redfish. Paths
93 are under /redfish/v1/Systems/system/LogServices/Dump
Ed Tanous50b37022024-06-25 13:00:04 -070094 and /redfish/v1/Managers/bmc/LogServices/Dump''',
Ed Tanous0cd5f782022-04-26 16:09:09 -070095)
96
97option(
98 'redfish-dbus-log',
99 type: 'feature',
100 value: 'disabled',
101 description: '''Enable DBUS log service transactions through Redfish. Paths
102 are under
Ed Tanous50b37022024-06-25 13:00:04 -0700103 /redfish/v1/Systems/system/LogServices/EventLog/Entries''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700104)
105
106option(
107 'redfish-host-logger',
108 type: 'feature',
109 value: 'enabled',
110 description: '''Enable host log service transactions based on
111 phosphor-hostlogger through Redfish. Paths are under
Ed Tanous50b37022024-06-25 13:00:04 -0700112 /redfish/v1/Systems/system/LogServices/HostLogger''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700113)
114
115option(
116 'redfish-provisioning-feature',
117 type: 'feature',
118 value: 'disabled',
119 description: '''Enable provisioning feature support in redfish. Paths are
Ed Tanous50b37022024-06-25 13:00:04 -0700120 under /redfish/v1/Systems/system/''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700121)
122
123option(
Ed Tanous253f11b2024-05-16 09:38:31 -0700124 'redfish-manager-uri-name',
125 type: 'string',
126 value: 'bmc',
127 description: '''The static Redfish Manager ID representing the BMC
128 instance. This option will appear in the Redfish tree at
129 /redfish/v1/Managers/<redfish-manager-uri-name>.
130 Defaults to \'bmc\' which resolves to
Ed Tanous50b37022024-06-25 13:00:04 -0700131 /redfish/v1/Managers/bmc''',
Ed Tanous253f11b2024-05-16 09:38:31 -0700132)
133
134option(
135 'redfish-system-uri-name',
136 type: 'string',
137 value: 'system',
138 description: '''The static Redfish System ID representing the host
139 instance. This option will appear in the Redfish tree at
140 /redfish/v1/Systems/<redfish-system-uri-name>.
141 Defaults to \'system\' which resolves to
Ed Tanous50b37022024-06-25 13:00:04 -0700142 /redfish/v1/Systems/system''',
Ed Tanous253f11b2024-05-16 09:38:31 -0700143)
144
145option(
Ed Tanous0cd5f782022-04-26 16:09:09 -0700146 'bmcweb-logging',
Myung Bae662aa6e2023-01-10 14:20:28 -0600147 type: 'combo',
Ed Tanous92e26be2024-08-21 13:39:14 -0700148 choices: [
149 'disabled',
150 'enabled',
151 'debug',
152 'info',
153 'warning',
154 'error',
155 'critical',
156 ],
Ed Tanous4d1db042024-02-16 13:08:34 -0800157 value: 'error',
Myung Bae662aa6e2023-01-10 14:20:28 -0600158 description: '''Enable output the extended logging level.
159 - disabled: disable bmcweb log traces.
160 - enabled: treated as 'debug'
Ed Tanous50b37022024-06-25 13:00:04 -0700161 - For the other logging level option, see DEVELOPING.md.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700162)
163
164option(
165 'basic-auth',
166 type: 'feature',
167 value: 'enabled',
Ed Tanous50b37022024-06-25 13:00:04 -0700168 description: 'Enable basic authentication',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700169)
170
171option(
172 'session-auth',
173 type: 'feature',
174 value: 'enabled',
Ed Tanous50b37022024-06-25 13:00:04 -0700175 description: 'Enable session authentication',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700176)
177
178option(
179 'xtoken-auth',
180 type: 'feature',
181 value: 'enabled',
Ed Tanous50b37022024-06-25 13:00:04 -0700182 description: 'Enable xtoken authentication',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700183)
184
185option(
186 'cookie-auth',
187 type: 'feature',
188 value: 'enabled',
Ed Tanous50b37022024-06-25 13:00:04 -0700189 description: 'Enable cookie authentication',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700190)
191
192option(
193 'mutual-tls-auth',
194 type: 'feature',
195 value: 'enabled',
196 description: '''Enables authenticating users through TLS client
197 certificates. The insecure-disable-ssl must be disabled for
Ed Tanous50b37022024-06-25 13:00:04 -0700198 this option to take effect.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700199)
200
201option(
Ed Tanous3ce36882024-06-09 10:58:16 -0700202 'mutual-tls-common-name-parsing-default',
Marco Kawajiri0e373b52023-10-31 13:36:58 -0700203 type: 'combo',
Ed Tanous3ce36882024-06-09 10:58:16 -0700204 choices: ['CommonName', 'Whole', 'UserPrincipalName', 'Meta'],
205 description: '''
206 Parses the Subject CN in the format used by
Marco Kawajiri0e373b52023-10-31 13:36:58 -0700207 Meta Inc (see mutual_tls_meta.cpp for details)
Ed Tanous50b37022024-06-25 13:00:04 -0700208 ''',
Marco Kawajiri0e373b52023-10-31 13:36:58 -0700209)
210
211option(
Ed Tanous3ce36882024-06-09 10:58:16 -0700212 'meta-tls-common-name-parsing',
213 type: 'feature',
214 description: '''
215 Allows parsing the Subject CN TLS certificate in the format used by
216 Meta Inc (see mutual_tls_meta.cpp for details)
217 ''',
218)
219
220option(
Ed Tanous0cd5f782022-04-26 16:09:09 -0700221 'ibm-management-console',
222 type: 'feature',
223 value: 'disabled',
224 description: '''Enable the IBM management console specific functionality.
Ed Tanous50b37022024-06-25 13:00:04 -0700225 Paths are under /ibm/v1/''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700226)
227
228option(
229 'google-api',
230 type: 'feature',
231 value: 'disabled',
232 description: '''Enable the Google specific functionality. Paths are under
Ed Tanous50b37022024-06-25 13:00:04 -0700233 /google/v1/''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700234)
235
236option(
237 'http-body-limit',
238 type: 'integer',
239 min: 0,
240 max: 512,
241 value: 30,
Ed Tanous50b37022024-06-25 13:00:04 -0700242 description: 'Specifies the http request body length limit',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700243)
244
245option(
246 'redfish-new-powersubsystem-thermalsubsystem',
247 type: 'feature',
Gunnar Mills86159152024-02-06 14:54:39 -0600248 value: 'enabled',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700249 description: '''Enable/disable the new PowerSubsystem, ThermalSubsystem,
250 and all children schemas. This includes displaying all
Ed Tanous50b37022024-06-25 13:00:04 -0700251 sensors in the SensorCollection.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700252)
253
254option(
255 'redfish-allow-deprecated-power-thermal',
256 type: 'feature',
257 value: 'enabled',
258 description: '''Enable/disable the old Power / Thermal. The default
Gunnar Mills86159152024-02-06 14:54:39 -0600259 condition is allowing the old Power / Thermal. This
Ed Tanous50b37022024-06-25 13:00:04 -0700260 will be disabled by default June 2024. ''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700261)
262
263option(
Gunnar Mills54dce7f2022-08-05 17:01:32 +0000264 'redfish-oem-manager-fan-data',
265 type: 'feature',
266 value: 'enabled',
267 description: '''Enables Redfish OEM fan data on the manager resource.
268 This includes PID and Stepwise controller data. See
Myung Bae1d19d872024-09-10 09:42:32 -0400269 OpenBMCManager schema for more detail.''',
Gunnar Mills54dce7f2022-08-05 17:01:32 +0000270)
271
272option(
Jagpal Singh Gill57855662024-04-17 10:44:27 -0700273 'redfish-updateservice-use-dbus',
274 type: 'feature',
275 value: 'disabled',
276 description: '''Enables xyz.openbmc_project.Software.Update D-Bus interface
277 to propagate UpdateService requests to the corresponding
278 updater daemons instead of moving files to /tmp/images dir.
279 This option is temporary, should not be enabled on any
280 production systems. The code will be moved to the normal
281 code update flow and the option will be removed at the end
282 of Q3 2024.
Ed Tanous50b37022024-06-25 13:00:04 -0700283 ''',
Jagpal Singh Gill57855662024-04-17 10:44:27 -0700284)
285
286option(
Ed Tanous0cd5f782022-04-26 16:09:09 -0700287 'https_port',
288 type: 'integer',
289 min: 1,
290 max: 65535,
291 value: 443,
Ed Tanous50b37022024-06-25 13:00:04 -0700292 description: 'HTTPS Port number.',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700293)
Manojkiran Edaaf6298d2020-05-27 08:51:32 +0530294
Carson Labrado7fb33562022-04-18 23:26:56 +0000295option(
Ed Tanousf8ca6d72022-06-28 12:12:03 -0700296 'dns-resolver',
297 type: 'combo',
298 choices: ['systemd-dbus', 'asio'],
299 value: 'systemd-dbus',
300 description: '''Sets which DNS resolver backend should be used.
301 systemd-dbus uses the Systemd ResolveHostname on dbus, but requires dbus
302 support. asio relies on boost::asio::tcp::resolver, but cannot resolve
Ed Tanous50b37022024-06-25 13:00:04 -0700303 names when boost threading is disabled.''',
Ed Tanousf8ca6d72022-06-28 12:12:03 -0700304)
305
306option(
Carson Labrado7fb33562022-04-18 23:26:56 +0000307 'redfish-aggregation',
308 type: 'feature',
309 value: 'disabled',
Ed Tanous50b37022024-06-25 13:00:04 -0700310 description: 'Allows this BMC to aggregate resources from satellite BMCs',
Carson Labrado7fb33562022-04-18 23:26:56 +0000311)
312
Ed Tanous7f3e84a2022-12-28 16:22:54 -0800313option(
Gunnar Mills68896202024-08-21 11:34:20 -0500314 'hypervisor-computer-system',
315 type: 'feature',
316 value: 'disabled',
317 description: '''This puts a hypervisor computer system resource at
318 /redfish/v1/Systems/hypervisor. This system resource has children
319 resources such as EthernetInterfaces and ComputerSystem.Reset.''',
320)
321
322option(
Ed Tanous7f3e84a2022-12-28 16:22:54 -0800323 'experimental-redfish-multi-computer-system',
324 type: 'feature',
325 value: 'disabled',
326 description: '''This is a temporary option flag for staging the
327 ComputerSystemCollection transition to multi-host. It, as well as the code
Patrick Williams17505c62024-02-20 07:09:17 -0600328 still beneath it will be removed on 9/1/2024. Do not enable in a
Ed Tanous50b37022024-06-25 13:00:04 -0700329 production environment, or where API stability is required.''',
Ed Tanous7f3e84a2022-12-28 16:22:54 -0800330)
331
Ed Tanousfca2cbe2021-01-28 14:49:59 -0800332option(
333 'experimental-http2',
334 type: 'feature',
335 value: 'disabled',
336 description: '''Enable HTTP/2 protocol support using nghttp2. Do not rely
337 on this option for any production systems. It may have
Ed Tanous50b37022024-06-25 13:00:04 -0700338 behavior changes or be removed at any time.''',
Ed Tanousfca2cbe2021-01-28 14:49:59 -0800339)
340
Manojkiran Edaaf6298d2020-05-27 08:51:32 +0530341# Insecure options. Every option that starts with a `insecure` flag should
342# not be enabled by default for any platform, unless the author fully comprehends
343# the implications of doing so.In general, enabling these options will cause security
344# problems of varying degrees
345
Ed Tanous0cd5f782022-04-26 16:09:09 -0700346option(
347 'insecure-disable-csrf',
348 type: 'feature',
349 value: 'disabled',
350 description: '''Disable CSRF prevention checks.Should be set to false for
Ed Tanous50b37022024-06-25 13:00:04 -0700351 production systems.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700352)
353
354option(
355 'insecure-disable-ssl',
356 type: 'feature',
357 value: 'disabled',
358 description: '''Disable SSL ports. Should be set to false for production
Ed Tanous50b37022024-06-25 13:00:04 -0700359 systems.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700360)
361
362option(
363 'insecure-disable-auth',
364 type: 'feature',
365 value: 'disabled',
Nan Zhoua43ea822022-05-27 00:42:44 +0000366 description: '''Disable authentication and authoriztion on all ports.
Ed Tanous50b37022024-06-25 13:00:04 -0700367 Should be set to false for production systems.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700368)
369
370option(
Ed Tanous1aa0c2b2022-02-08 12:24:30 +0100371 'insecure-ignore-content-type',
372 type: 'feature',
Ed Tanousdb398022023-06-07 16:38:08 -0700373 value: 'disabled',
Ed Tanous1aa0c2b2022-02-08 12:24:30 +0100374 description: '''Allows parsing PUT/POST/PATCH content as JSON regardless
375 of the presence of the content-type header. Enabling this
376 conflicts with the input parsing guidelines, but may be
377 required to support old clients that may not set the
Ed Tanous50b37022024-06-25 13:00:04 -0700378 Content-Type header on payloads.''',
Ed Tanous1aa0c2b2022-02-08 12:24:30 +0100379)
380
381option(
Ed Tanous0cd5f782022-04-26 16:09:09 -0700382 'insecure-push-style-notification',
383 type: 'feature',
384 value: 'disabled',
Ed Tanous50b37022024-06-25 13:00:04 -0700385 description: 'Enable HTTP push style eventing feature',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700386)
387
388option(
389 'insecure-enable-redfish-query',
390 type: 'feature',
391 value: 'disabled',
392 description: '''Enables Redfish expand query parameter. This feature is
393 experimental, and has not been tested against the full
394 limits of user-facing behavior. It is not recommended to
395 enable on production systems at this time. Other query
Ed Tanous50b37022024-06-25 13:00:04 -0700396 parameters such as only are not controlled by this option.''',
Ed Tanous0cd5f782022-04-26 16:09:09 -0700397)