blob: 3c2d3f78ddeb919bf55bc7102b626d79b2419012 [file] [log] [blame]
Ed Tanous0cd5f782022-04-26 16:09:09 -07001option(
2 'yocto-deps',
3 type: 'feature',
4 value: 'disabled',
5 description: 'Use YOCTO dependencies system'
6)
7
8option(
9 'kvm',
10 type: 'feature',
11 value: 'enabled',
12 description: '''Enable the KVM host video WebSocket. Path is /kvm/0.
13 Video is from the BMCs /dev/videodevice.'''
14)
15
16option(
17 'tests',
18 type: 'feature',
19 value: 'enabled',
20 description: 'Enable Unit tests for bmcweb'
21)
22
23option(
24 'vm-websocket',
25 type: 'feature',
26 value: 'enabled',
27 description: '''Enable the Virtual Media WebSocket. Path is /vm/0/0 to
28 open the websocket. See
29 https://github.com/openbmc/jsnbd/blob/master/README.'''
30)
Ed Tanousefb80622021-02-20 11:04:01 -080031
32# if you use this option and are seeing this comment, please comment here:
33# https://github.com/openbmc/bmcweb/issues/188 and put forward your intentions
34# for this code. At this point, no daemon has been upstreamed that implements
35# this interface, so for the moment this appears to be dead code; In leiu of
36# removing it, it has been disabled to try to give those that use it the
37# opportunity to upstream their backend implementation
Ed Tanous0cd5f782022-04-26 16:09:09 -070038#option(
39# 'vm-nbdproxy',
40# type: 'feature', value: 'disabled',
41# description: 'Enable the Virtual Media WebSocket.'
42#)
43
44option(
45 'rest',
46 type: 'feature',
47 value: 'disabled',
48 description: '''Enable Phosphor REST (D-Bus) APIs. Paths directly map
49 Phosphor D-Bus object paths, for example,
50 /xyz/openbmc_project/logging/entry/enumerate. See
51 https://github.com/openbmc/docs/blob/master/rest-api.md.'''
52)
53
54option(
55 'redfish',
56 type: 'feature',
57 value: 'enabled',
58 description: '''Enable Redfish APIs. Paths are under /redfish/v1/. See
59 https://github.com/openbmc/bmcweb/blob/master/DEVELOPING.md#redfish.'''
60)
61
62option(
63 'host-serial-socket',
64 type: 'feature',
65 value: 'enabled',
66 description: '''Enable host serial console WebSocket. Path is /console0.
67 See https://github.com/openbmc/docs/blob/master/console.md.'''
68)
69
70option(
71 'static-hosting',
72 type: 'feature',
73 value: 'enabled',
74 description: '''Enable serving files from the /usr/share/www directory
75 as paths under /.'''
76)
77
78option(
79 'redfish-bmc-journal',
80 type: 'feature',
Willy Tuf8483672022-05-10 15:08:10 -070081 value: 'enabled',
Ed Tanous0cd5f782022-04-26 16:09:09 -070082 description: '''Enable BMC journal access through Redfish. Paths are under
83 /redfish/v1/Managers/bmc/LogServices/Journal.'''
84)
85
86option(
87 'redfish-cpu-log',
88 type: 'feature',
89 value: 'disabled',
90 description: '''Enable CPU log service transactions through Redfish. Paths
91 are under /redfish/v1/Systems/system/LogServices/Crashdump'.'''
92)
93
94option(
95 'redfish-dump-log',
96 type: 'feature',
97 value: 'disabled',
98 description: '''Enable Dump log service transactions through Redfish. Paths
99 are under /redfish/v1/Systems/system/LogServices/Dump
100 and /redfish/v1/Managers/bmc/LogServices/Dump'''
101)
102
103option(
104 'redfish-dbus-log',
105 type: 'feature',
106 value: 'disabled',
107 description: '''Enable DBUS log service transactions through Redfish. Paths
108 are under
109 /redfish/v1/Systems/system/LogServices/EventLog/Entries'''
110)
111
112option(
113 'redfish-host-logger',
114 type: 'feature',
115 value: 'enabled',
116 description: '''Enable host log service transactions based on
117 phosphor-hostlogger through Redfish. Paths are under
118 /redfish/v1/Systems/system/LogServices/HostLogger'''
119)
120
121option(
122 'redfish-provisioning-feature',
123 type: 'feature',
124 value: 'disabled',
125 description: '''Enable provisioning feature support in redfish. Paths are
126 under /redfish/v1/Systems/system/'''
127)
128
129option(
130 'bmcweb-logging',
Myung Bae662aa6e2023-01-10 14:20:28 -0600131 type: 'combo',
132 choices : [ 'disabled', 'enabled', 'debug', 'info', 'warning', 'error', 'critical' ],
Ed Tanous0cd5f782022-04-26 16:09:09 -0700133 value: 'disabled',
Myung Bae662aa6e2023-01-10 14:20:28 -0600134 description: '''Enable output the extended logging level.
135 - disabled: disable bmcweb log traces.
136 - enabled: treated as 'debug'
137 - For the other logging level option, see DEVELOPING.md.'''
Ed Tanous0cd5f782022-04-26 16:09:09 -0700138)
139
140option(
141 'basic-auth',
142 type: 'feature',
143 value: 'enabled',
144 description: 'Enable basic authentication'
145)
146
147option(
148 'session-auth',
149 type: 'feature',
150 value: 'enabled',
151 description: 'Enable session authentication'
152)
153
154option(
155 'xtoken-auth',
156 type: 'feature',
157 value: 'enabled',
158 description: 'Enable xtoken authentication'
159)
160
161option(
162 'cookie-auth',
163 type: 'feature',
164 value: 'enabled',
165 description: 'Enable cookie authentication'
166)
167
168option(
169 'mutual-tls-auth',
170 type: 'feature',
171 value: 'enabled',
172 description: '''Enables authenticating users through TLS client
173 certificates. The insecure-disable-ssl must be disabled for
174 this option to take effect.'''
175)
176
177option(
178 'ibm-management-console',
179 type: 'feature',
180 value: 'disabled',
181 description: '''Enable the IBM management console specific functionality.
182 Paths are under /ibm/v1/'''
183)
184
185option(
186 'google-api',
187 type: 'feature',
188 value: 'disabled',
189 description: '''Enable the Google specific functionality. Paths are under
190 /google/v1/'''
191)
192
193option(
194 'http-body-limit',
195 type: 'integer',
196 min: 0,
197 max: 512,
198 value: 30,
199 description: 'Specifies the http request body length limit'
200)
201
202option(
203 'redfish-new-powersubsystem-thermalsubsystem',
204 type: 'feature',
205 value: 'disabled',
206 description: '''Enable/disable the new PowerSubsystem, ThermalSubsystem,
207 and all children schemas. This includes displaying all
208 sensors in the SensorCollection. At a later date, this
209 feature will be defaulted to enabled.'''
210)
211
212option(
213 'redfish-allow-deprecated-power-thermal',
214 type: 'feature',
215 value: 'enabled',
216 description: '''Enable/disable the old Power / Thermal. The default
217 condition is allowing the old Power / Thermal.'''
218)
219
220option(
Gunnar Mills54dce7f2022-08-05 17:01:32 +0000221 'redfish-oem-manager-fan-data',
222 type: 'feature',
223 value: 'enabled',
224 description: '''Enables Redfish OEM fan data on the manager resource.
225 This includes PID and Stepwise controller data. See
226 OemManager schema for more detail.'''
227)
228
229option(
Ed Tanous0cd5f782022-04-26 16:09:09 -0700230 'https_port',
231 type: 'integer',
232 min: 1,
233 max: 65535,
234 value: 443,
235 description: 'HTTPS Port number.'
236)
Manojkiran Edaaf6298d2020-05-27 08:51:32 +0530237
Carson Labrado7fb33562022-04-18 23:26:56 +0000238option(
Ed Tanousf8ca6d72022-06-28 12:12:03 -0700239 'dns-resolver',
240 type: 'combo',
241 choices: ['systemd-dbus', 'asio'],
242 value: 'systemd-dbus',
243 description: '''Sets which DNS resolver backend should be used.
244 systemd-dbus uses the Systemd ResolveHostname on dbus, but requires dbus
245 support. asio relies on boost::asio::tcp::resolver, but cannot resolve
246 names when boost threading is disabled.'''
247)
248
249option(
Carson Labrado7fb33562022-04-18 23:26:56 +0000250 'redfish-aggregation',
251 type: 'feature',
252 value: 'disabled',
253 description: 'Allows this BMC to aggregate resources from satellite BMCs'
254)
255
Manojkiran Edaaf6298d2020-05-27 08:51:32 +0530256# Insecure options. Every option that starts with a `insecure` flag should
257# not be enabled by default for any platform, unless the author fully comprehends
258# the implications of doing so.In general, enabling these options will cause security
259# problems of varying degrees
260
Ed Tanous0cd5f782022-04-26 16:09:09 -0700261option(
262 'insecure-disable-csrf',
263 type: 'feature',
264 value: 'disabled',
265 description: '''Disable CSRF prevention checks.Should be set to false for
266 production systems.'''
267)
268
269option(
270 'insecure-disable-ssl',
271 type: 'feature',
272 value: 'disabled',
273 description: '''Disable SSL ports. Should be set to false for production
274 systems.'''
275)
276
277option(
278 'insecure-disable-auth',
279 type: 'feature',
280 value: 'disabled',
Nan Zhoua43ea822022-05-27 00:42:44 +0000281 description: '''Disable authentication and authoriztion on all ports.
282 Should be set to false for production systems.'''
Ed Tanous0cd5f782022-04-26 16:09:09 -0700283)
284
285option(
286 'insecure-disable-xss',
287 type: 'feature',
288 value: 'disabled',
289 description: 'Disable XSS preventions'
290)
291
292option(
293 'insecure-tftp-update',
294 type: 'feature',
295 value: 'disabled',
296 description: '''Enable TFTP based firmware update transactions through
297 Redfish UpdateService. SimpleUpdate.'''
298)
299
300option(
Ed Tanous1aa0c2b2022-02-08 12:24:30 +0100301 'insecure-ignore-content-type',
302 type: 'feature',
303 value: 'enabled',
304 description: '''Allows parsing PUT/POST/PATCH content as JSON regardless
305 of the presence of the content-type header. Enabling this
306 conflicts with the input parsing guidelines, but may be
307 required to support old clients that may not set the
308 Content-Type header on payloads.'''
309)
310
311option(
Ed Tanous0cd5f782022-04-26 16:09:09 -0700312 'insecure-push-style-notification',
313 type: 'feature',
314 value: 'disabled',
315 description: 'Enable HTTP push style eventing feature'
316)
317
318option(
319 'insecure-enable-redfish-query',
320 type: 'feature',
321 value: 'disabled',
322 description: '''Enables Redfish expand query parameter. This feature is
323 experimental, and has not been tested against the full
324 limits of user-facing behavior. It is not recommended to
325 enable on production systems at this time. Other query
326 parameters such as only are not controlled by this option.'''
327)