| option( |
| 'kvm', |
| type: 'feature', |
| value: 'enabled', |
| description: '''Enable the KVM host video WebSocket. Path is /kvm/0. |
| Video is from the BMCs /dev/videodevice.''', |
| ) |
| |
| option( |
| 'tests', |
| type: 'feature', |
| value: 'enabled', |
| description: 'Enable Unit tests for bmcweb', |
| ) |
| |
| option( |
| 'vm-websocket', |
| type: 'feature', |
| value: 'enabled', |
| description: '''Enable the Virtual Media WebSocket. Path is /vm/0/0 and /nbd/<id> to |
| open the websocket. See |
| https://github.com/openbmc/jsnbd/blob/master/README.''', |
| ) |
| |
| # if you use this option and are seeing this comment, please comment here: |
| # https://github.com/openbmc/bmcweb/issues/188 and put forward your intentions |
| # for this code. At this point, no daemon has been upstreamed that implements |
| # this interface, so for the moment this appears to be dead code; In leiu of |
| # removing it, it has been disabled to try to give those that use it the |
| # opportunity to upstream their backend implementation |
| #option( |
| # 'vm-nbdproxy', |
| # type: 'feature', |
| # value: 'disabled', |
| # description: 'Enable the Virtual Media WebSocket.' |
| #) |
| |
| option( |
| 'rest', |
| type: 'feature', |
| value: 'disabled', |
| description: '''Enable Phosphor REST (D-Bus) APIs. Paths directly map |
| Phosphor D-Bus object paths, for example, |
| /xyz/openbmc_project/logging/entry/enumerate. See |
| https://github.com/openbmc/docs/blob/master/rest-api.md.''', |
| ) |
| |
| option( |
| 'redfish', |
| type: 'feature', |
| value: 'enabled', |
| description: '''Enable Redfish APIs. Paths are under /redfish/v1/. See |
| https://github.com/openbmc/bmcweb/blob/master/DEVELOPING.md#redfish.''', |
| ) |
| |
| option( |
| 'host-serial-socket', |
| type: 'feature', |
| value: 'enabled', |
| description: '''Enable host serial console WebSocket. Path is /console0. |
| See https://github.com/openbmc/docs/blob/master/console.md.''', |
| ) |
| |
| option( |
| 'static-hosting', |
| type: 'feature', |
| value: 'enabled', |
| description: '''Enable serving files from the /usr/share/www directory |
| as paths under /.''', |
| ) |
| |
| option( |
| 'redfish-bmc-journal', |
| type: 'feature', |
| value: 'enabled', |
| description: '''Enable BMC journal access through Redfish. Paths are under |
| /redfish/v1/Managers/bmc/LogServices/Journal.''', |
| ) |
| |
| option( |
| 'redfish-cpu-log', |
| type: 'feature', |
| value: 'disabled', |
| description: '''Enable CPU log service transactions through Redfish. Paths |
| are under /redfish/v1/Systems/system/LogServices/Crashdump'.''', |
| ) |
| |
| option( |
| 'redfish-dump-log', |
| type: 'feature', |
| value: 'disabled', |
| description: '''Enable Dump log service transactions through Redfish. Paths |
| are under /redfish/v1/Systems/system/LogServices/Dump |
| and /redfish/v1/Managers/bmc/LogServices/Dump''', |
| ) |
| |
| option( |
| 'redfish-dbus-log', |
| type: 'feature', |
| value: 'disabled', |
| description: '''Enable DBUS log service transactions through Redfish. Paths |
| are under |
| /redfish/v1/Systems/system/LogServices/EventLog/Entries''', |
| ) |
| |
| option( |
| 'redfish-host-logger', |
| type: 'feature', |
| value: 'enabled', |
| description: '''Enable host log service transactions based on |
| phosphor-hostlogger through Redfish. Paths are under |
| /redfish/v1/Systems/system/LogServices/HostLogger''', |
| ) |
| |
| option( |
| 'redfish-provisioning-feature', |
| type: 'feature', |
| value: 'disabled', |
| description: '''Enable provisioning feature support in redfish. Paths are |
| under /redfish/v1/Systems/system/''', |
| ) |
| |
| option( |
| 'redfish-manager-uri-name', |
| type: 'string', |
| value: 'bmc', |
| description: '''The static Redfish Manager ID representing the BMC |
| instance. This option will appear in the Redfish tree at |
| /redfish/v1/Managers/<redfish-manager-uri-name>. |
| Defaults to \'bmc\' which resolves to |
| /redfish/v1/Managers/bmc''', |
| ) |
| |
| option( |
| 'redfish-system-uri-name', |
| type: 'string', |
| value: 'system', |
| description: '''The static Redfish System ID representing the host |
| instance. This option will appear in the Redfish tree at |
| /redfish/v1/Systems/<redfish-system-uri-name>. |
| Defaults to \'system\' which resolves to |
| /redfish/v1/Systems/system''', |
| ) |
| |
| option( |
| 'bmcweb-logging', |
| type: 'combo', |
| choices: ['disabled', 'enabled', 'debug', 'info', 'warning', 'error', 'critical'], |
| value: 'error', |
| description: '''Enable output the extended logging level. |
| - disabled: disable bmcweb log traces. |
| - enabled: treated as 'debug' |
| - For the other logging level option, see DEVELOPING.md.''', |
| ) |
| |
| option( |
| 'basic-auth', |
| type: 'feature', |
| value: 'enabled', |
| description: 'Enable basic authentication', |
| ) |
| |
| option( |
| 'session-auth', |
| type: 'feature', |
| value: 'enabled', |
| description: 'Enable session authentication', |
| ) |
| |
| option( |
| 'xtoken-auth', |
| type: 'feature', |
| value: 'enabled', |
| description: 'Enable xtoken authentication', |
| ) |
| |
| option( |
| 'cookie-auth', |
| type: 'feature', |
| value: 'enabled', |
| description: 'Enable cookie authentication', |
| ) |
| |
| option( |
| 'mutual-tls-auth', |
| type: 'feature', |
| value: 'enabled', |
| description: '''Enables authenticating users through TLS client |
| certificates. The insecure-disable-ssl must be disabled for |
| this option to take effect.''', |
| ) |
| |
| option( |
| 'mutual-tls-common-name-parsing-default', |
| type: 'combo', |
| choices: ['CommonName', 'Whole', 'UserPrincipalName', 'Meta'], |
| description: ''' |
| Parses the Subject CN in the format used by |
| Meta Inc (see mutual_tls_meta.cpp for details) |
| ''', |
| ) |
| |
| option( |
| 'meta-tls-common-name-parsing', |
| type: 'feature', |
| description: ''' |
| Allows parsing the Subject CN TLS certificate in the format used by |
| Meta Inc (see mutual_tls_meta.cpp for details) |
| ''', |
| ) |
| |
| option( |
| 'ibm-management-console', |
| type: 'feature', |
| value: 'disabled', |
| description: '''Enable the IBM management console specific functionality. |
| Paths are under /ibm/v1/''', |
| ) |
| |
| option( |
| 'google-api', |
| type: 'feature', |
| value: 'disabled', |
| description: '''Enable the Google specific functionality. Paths are under |
| /google/v1/''', |
| ) |
| |
| option( |
| 'http-body-limit', |
| type: 'integer', |
| min: 0, |
| max: 512, |
| value: 30, |
| description: 'Specifies the http request body length limit', |
| ) |
| |
| option( |
| 'redfish-new-powersubsystem-thermalsubsystem', |
| type: 'feature', |
| value: 'enabled', |
| description: '''Enable/disable the new PowerSubsystem, ThermalSubsystem, |
| and all children schemas. This includes displaying all |
| sensors in the SensorCollection.''', |
| ) |
| |
| option( |
| 'redfish-allow-deprecated-power-thermal', |
| type: 'feature', |
| value: 'enabled', |
| description: '''Enable/disable the old Power / Thermal. The default |
| condition is allowing the old Power / Thermal. This |
| will be disabled by default June 2024. ''', |
| ) |
| |
| option( |
| 'redfish-oem-manager-fan-data', |
| type: 'feature', |
| value: 'enabled', |
| description: '''Enables Redfish OEM fan data on the manager resource. |
| This includes PID and Stepwise controller data. See |
| OemManager schema for more detail.''', |
| ) |
| |
| option( |
| 'redfish-updateservice-use-dbus', |
| type: 'feature', |
| value: 'disabled', |
| description: '''Enables xyz.openbmc_project.Software.Update D-Bus interface |
| to propagate UpdateService requests to the corresponding |
| updater daemons instead of moving files to /tmp/images dir. |
| This option is temporary, should not be enabled on any |
| production systems. The code will be moved to the normal |
| code update flow and the option will be removed at the end |
| of Q3 2024. |
| ''', |
| ) |
| |
| option( |
| 'https_port', |
| type: 'integer', |
| min: 1, |
| max: 65535, |
| value: 443, |
| description: 'HTTPS Port number.', |
| ) |
| |
| option( |
| 'dns-resolver', |
| type: 'combo', |
| choices: ['systemd-dbus', 'asio'], |
| value: 'systemd-dbus', |
| description: '''Sets which DNS resolver backend should be used. |
| systemd-dbus uses the Systemd ResolveHostname on dbus, but requires dbus |
| support. asio relies on boost::asio::tcp::resolver, but cannot resolve |
| names when boost threading is disabled.''', |
| ) |
| |
| option( |
| 'redfish-aggregation', |
| type: 'feature', |
| value: 'disabled', |
| description: 'Allows this BMC to aggregate resources from satellite BMCs', |
| ) |
| |
| option( |
| 'hypervisor-computer-system', |
| type: 'feature', |
| value: 'disabled', |
| description: '''This puts a hypervisor computer system resource at |
| /redfish/v1/Systems/hypervisor. This system resource has children |
| resources such as EthernetInterfaces and ComputerSystem.Reset.''', |
| ) |
| |
| option( |
| 'experimental-redfish-multi-computer-system', |
| type: 'feature', |
| value: 'disabled', |
| description: '''This is a temporary option flag for staging the |
| ComputerSystemCollection transition to multi-host. It, as well as the code |
| still beneath it will be removed on 9/1/2024. Do not enable in a |
| production environment, or where API stability is required.''', |
| ) |
| |
| option( |
| 'experimental-http2', |
| type: 'feature', |
| value: 'disabled', |
| description: '''Enable HTTP/2 protocol support using nghttp2. Do not rely |
| on this option for any production systems. It may have |
| behavior changes or be removed at any time.''', |
| ) |
| |
| # Insecure options. Every option that starts with a `insecure` flag should |
| # not be enabled by default for any platform, unless the author fully comprehends |
| # the implications of doing so.In general, enabling these options will cause security |
| # problems of varying degrees |
| |
| option( |
| 'insecure-disable-csrf', |
| type: 'feature', |
| value: 'disabled', |
| description: '''Disable CSRF prevention checks.Should be set to false for |
| production systems.''', |
| ) |
| |
| option( |
| 'insecure-disable-ssl', |
| type: 'feature', |
| value: 'disabled', |
| description: '''Disable SSL ports. Should be set to false for production |
| systems.''', |
| ) |
| |
| option( |
| 'insecure-disable-auth', |
| type: 'feature', |
| value: 'disabled', |
| description: '''Disable authentication and authoriztion on all ports. |
| Should be set to false for production systems.''', |
| ) |
| |
| option( |
| 'insecure-ignore-content-type', |
| type: 'feature', |
| value: 'disabled', |
| description: '''Allows parsing PUT/POST/PATCH content as JSON regardless |
| of the presence of the content-type header. Enabling this |
| conflicts with the input parsing guidelines, but may be |
| required to support old clients that may not set the |
| Content-Type header on payloads.''', |
| ) |
| |
| option( |
| 'insecure-push-style-notification', |
| type: 'feature', |
| value: 'disabled', |
| description: 'Enable HTTP push style eventing feature', |
| ) |
| |
| option( |
| 'insecure-enable-redfish-query', |
| type: 'feature', |
| value: 'disabled', |
| description: '''Enables Redfish expand query parameter. This feature is |
| experimental, and has not been tested against the full |
| limits of user-facing behavior. It is not recommended to |
| enable on production systems at this time. Other query |
| parameters such as only are not controlled by this option.''', |
| ) |