blob: 9655b58d649f99c55bb41c58064359564f83c88d [file] [log] [blame]
option(
'yocto-deps',
type: 'feature',
value: 'disabled',
description: 'Use YOCTO dependencies system'
)
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 to
open the websocket. See
https://github.com/openbmc/jsnbd/blob/master/README.'''
)
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-event-log',
type: 'feature',
value: 'disabled',
description: '''Enable Event log service transactions through Redfish. Paths
are under /redfish/v1/Systems/system/LogServices/EventLog'''
)
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-external-storer',
type: 'feature',
value: 'enabled',
description: 'Enable external storer'
)
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-host-cper-log',
type: 'feature',
value: 'disabled',
description: '''Enable host CPER log service . Paths are under
/redfish/v1/Systems/system/LogServices/<HOST_CPER_LOGSERVICE_NAME>'''
)
option(
'redfish-ppr',
type: 'feature',
value: 'disabled',
description: '''Enable PPR log service . Paths are under
/redfish/v1/Systems/system/LogServices/PostPackageRepair/'''
)
option(
'redfish-rasmanager-log',
type: 'feature',
value: 'disabled',
description: '''Enable RasManager log service . Paths are under
/redfish/v1/Systems/system/LogServices/RasManager'''
)
option(
'rasmanager-log-path',
type: 'string',
value: '/tmp/ras-manager/output/',
description: '''Path to the RasManager log files. This is used to
populate the RasManager log service.'''
)
option(
'redfish-system-fault-log',
type: 'feature',
value: 'disabled',
description: '''Enable system faultlog service . Paths are under
/redfish/v1/Systems/<str>/LogServices/FaultLog'''
)
option(
'redfish-provisioning-feature',
type: 'feature',
value: 'disabled',
description: '''Enable provisioning feature support in redfish. Paths are
under /redfish/v1/Systems/system/'''
)
option(
'bmcweb-logging',
type: 'feature',
value: 'disabled',
description: 'Enable output the extended debug logs'
)
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(
'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: 'disabled',
description: '''Enable/disable the new PowerSubsystem, ThermalSubsystem,
and all children schemas. This includes displaying all
sensors in the SensorCollection. At a later date, this
feature will be defaulted to enabled.'''
)
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.'''
)
option(
'redfish-post-to-old-updateservice',
type: 'feature',
value: 'disabled',
description: '''Allows POST to /redfish/v1/UpdateService, counter to
the redfish specification. Option provided to allow
potential users to move away from using this endpoint.
Option will be removed Q2 2023.'''
)
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(
'https_port',
type: 'integer',
min: 1,
max: 65535,
value: 443,
description: 'HTTPS Port number.'
)
option(
'redfish-aggregation',
type: 'feature',
value: 'disabled',
description: 'Allows this BMC to aggregate resources from satellite BMCs'
)
option(
'bm-signal-path',
type: 'string',
value: '/run/bm-ready.flag',
description: 'Path to the flag to indicate that BM mode is ready'
)
option(
'redfish-boot-time-log',
type: 'feature',
value: 'disabled',
description: '''Enable boot time log access through Redfish. Paths are under
/redfish/v1/Systems/system/LogServices/BootTime and
/redfish/v1/Managers/bmc/LogServices/BootTime.'''
)
option(
'redfish-boot-time',
type: 'feature',
value: 'disabled',
description: '''Enable boot time data access through Redfish. Paths are under
/redfish/v1/Systems/system/Oem/Google/BootTime and
/redfish/v1/Managers/bmc/Oem/Google/BootTime.'''
)
# 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-disable-xss',
type: 'feature',
value: 'disabled',
description: 'Disable XSS preventions'
)
option(
'insecure-tftp-update',
type: 'feature',
value: 'disabled',
description: '''Enable TFTP based firmware update transactions through
Redfish UpdateService. SimpleUpdate.'''
)
option(
'insecure-ignore-content-type',
type: 'feature',
value: 'enabled',
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.'''
)
option(
'health-populate',
type: 'feature',
value: 'enabled',
description: '''Enables HealthPopulate and generate the Status property for
the resource'''
)
# Platform specific options
option(
'platform6',
type: 'feature',
value: 'disabled',
description: 'Enables section of code only relevant to platform6.'
)
option(
'platform6-chassis0',
type: 'string',
value: 'PLATFORM6_CHASSIS0_NOT_SET',
description: 'Specify a Chassis name for platform6'
)
option(
'platform6-chassis1',
type: 'string',
value: 'PLATFORM6_CHASSIS1_NOT_SET',
description: 'Specify a Chassis name for platform6'
)
option(
'platform6-chassis2',
type: 'string',
value: 'PLATFORM6_CHASSIS2_NOT_SET',
description: 'Specify a Chassis name for platform6'
)
option(
'custom-nvme-enable',
type: 'feature',
value: 'disabled',
description: 'Enables section of code only relevant to customNVMe.'
)
option(
'custom-nvme',
type: 'string',
value: 'CUSTOM_NVME_DEVICE_NOT_SET',
description: 'Specify the custom NVMe name'
)
option(
'custom-nvme-association',
type: 'string',
value: 'CUSTOM_NVME_ASSOCIATION_NOT_SET',
description: 'Specify the custom NVMe association name'
)
option(
'custom-ssd-enable',
type: 'feature',
value: 'disabled',
description: 'Enables section of code only relevant to customSSD.'
)
option(
'custom-ssd-name',
type: 'string',
value: 'CUSTOM_SSD_NAME',
description: 'Specify the custom SSD name'
)
option(
'custom-ssd-controller',
type: 'string',
value: 'CUSTOM_SSD_CONTROLLER',
description: 'Specify the custom SSD controller name'
)
option(
'custom-ssd-odata-type',
type: 'string',
value: 'CUSTOM_SSD_ODATA_TYPE',
description: 'Specify the custom SSD odata.type'
)
# gRPC options
option(
'mtls-grpc',
type: 'feature',
value: 'disabled',
description: 'mTLS gRPC interface in addition to REST.'
)
option(
'mtls-grpc-port',
type: 'integer',
min: 1,
max: 65535,
value: 443,
description: 'mTLS gRPC Port number. Used only if mtls-grpc is enabled.'
)
option(
'insecure-grpc',
type: 'feature',
value: 'disabled',
description: '''insecure gRPC interface in addition to mTLS gRPC. Turn on
mtls-grpc first. Do not use this in production. Don't rely
on this interface in any production code since it will be
deprecated.'''
)
option(
'insecure-grpc-port',
type: 'integer',
min: 1,
max: 65535,
value: 3995,
description: 'insecure gPRC Port number. Used only if insecure-grpc is enabled.'
)
option(
'insecure-disable-grpc-redfish-authz',
type: 'feature',
value: 'disabled',
description: '''Authorize every request as long as it's authenticated. This
is insecure. Do not use this in production.'''
)
option(
'stateful-bmcweb',
type: 'feature',
value: 'enabled',
description: '''Enables ManagedObjectStore and ObjectMapper lite to cache
DBus calls to improve bmcweb performance.'''
)
option(
'amd',
type: 'feature',
value: 'disabled',
description: '''Update the source from Intel to AMD for bmcweb.'''
)
option(
'rde-device',
type: 'feature',
value: 'disabled',
description: 'Enable RDE device-related feature.'
)
# Platform specific options
option(
'platform9',
type: 'feature',
value: 'disabled',
description: 'Enables section of code only relevant to platform9.'
)
option(
'platform9-chassis0',
type: 'string',
value: 'PLATFORM9_CHASSIS0_NOT_SET',
description: 'Specify a Chassis name for platform9'
)
option(
'platform9-chassis1',
type: 'string',
value: 'PLATFORM9_CHASSIS1_NOT_SET',
description: 'Specify a Chassis name for platform9'
)
option(
'platform9-chassis2',
type: 'string',
value: 'PLATFORM9_CHASSIS2_NOT_SET',
description: 'Specify a Chassis name for platform9'
)
option(
'platform9-chassis3',
type: 'string',
value: 'PLATFORM9_CHASSIS3_NOT_SET',
description: 'Specify a Chassis name for platform9'
)
option(
'platform9-chassis4',
type: 'string',
value: 'PLATFORM9_CHASSIS4_NOT_SET',
description: 'Specify a Chassis name for platform9'
)
option(
'platform9-chassis5',
type: 'string',
value: 'PLATFORM9_CHASSIS5_NOT_SET',
description: 'Specify a Chassis name for platform9'
)
option(
'platform22',
type: 'feature',
value: 'disabled',
description: 'Enables section of code only relevant to platform22.'
)
option(
'HOST_CPER_LOGSERVICE_NAME',
type : 'string',
value : 'HostCper',
description : 'Name of LogService for exposing host machine error logs in CPER format'
)
option(
'HOST_CPER_SERVICE',
type : 'string',
value : 'xyz.openbmc_project.HostCper.Manager',
description : 'D-Bus well-known bus name of service that logs host machine errors in CPER format'
)
option(
'HOST_CPER_OBJECT_MANAGER_PATH',
type : 'string',
value : '/xyz/openbmc_project/HostCper',
description : 'D-Bus object representing object manager for the service that logs host machine errors in CPER format.'
)
option(
'HOST_CPER_LOG_PATH',
type : 'string',
value : '/run/bmcweb/redfish/v1/Systems/system/LogServices/',
description : 'Base path of CPER logs.'
)
option(
'plugins-headers',
type: 'feature',
value: 'disabled',
description: 'Install the headers for plugins and do nothing else.'
)
option(
'platform-plugins',
type: 'feature',
value: 'disabled',
description: '''Enable per platform plugin. This makes bmcweb depend on a
static library gbmcweb_platform_plugin'''
)
option(
'google-common-plugins',
type: 'feature',
value: 'disabled',
description: '''Enable Google common plugin. This makes bmcweb depend on a
static library gbmcweb_google_common_plugin'''
)
option(
'google-plugins-internal',
type: 'feature',
value: 'disabled',
description: '''Enable Google internal plugin. This makes bmcweb depend on a
static library gbmcweb_google_plugins_internal'''
)
option(
'google-baremetal',
type: 'feature',
description: 'Enable routes required to support Google baremetal platforms.'
)
option(
'main-chassis-id',
type: 'string',
value: '',
description: 'Override Main Chassis ID'
)
option(
'efficient-expand-memory',
type: 'feature',
value: 'enabled',
description: '''Enable efficient expand for memory resources.'''
)
option(
'efficient-expand-processors',
type: 'feature',
value: 'enabled',
description: '''Enable efficient expand for processor resources.'''
)
option(
'efficient-expand-sensors',
type: 'feature',
value: 'enabled',
description: '''Enable efficient expand for sensor resources.'''
)
option(
'bios-setting-file-path',
type: 'string',
value: '/run/soc_firmware/host/vmtppr.cfg',
description: 'Path to the BIOS setting blob'
)
option(
'bios-setting-file-handle',
type: 'integer',
min: 0,
value: 4,
description: 'Path to file handle of the BIOS setting'
)
option(
'bios-peer-auth-bypass',
type: 'feature',
value: 'disabled',
description: 'Enables bypassing peer authentication of BIOS handler'
)
option(
'multi-thread-get',
type: 'feature',
value: 'disabled',
description: '''Enable multi-threading for GET requests. Only applicable to
gRPC transport. '''
)
option(
'loas3-validation',
type: 'feature',
description: 'Enable 3M Federation Polication for loas3-validation'
)
option(
'redfish-events',
type: 'feature',
value: 'disabled',
description: 'Enable Redfish event subscription feature.'
)
option(
'cper-crashdump-use-faultlog-id',
type: 'feature',
value: 'disabled',
description: '''Let the CPER and Crashdump utilize FaultLogId as their entryId
in the Redfish URI, instead of using the PrimaryId. This adjustment
aims to circumvent an O(n) searching process when the application
requires certain information from the PDC object, such as the creation
timestamp. If the entryId in the request URI is the primary id, BMCWeb
must fetch all PDC objects, thereby executing an O(n) search within the
PDC objects to identify the corresponding PDC object for the log entry.'''
)
option(
'tlbmc',
type: 'feature',
value: 'disabled',
description: 'Enable tlBMC features.'
)
option(
'tlbmc-trace',
type: 'feature',
value: 'disabled',
description: 'Enable tlBMC trace features.'
)
option(
'fast-sanity',
type: 'feature',
value: 'disabled',
description: 'Enable Fast-Sanity features.'
)
option(
'tlbmc-pacemaker',
type: 'feature',
value: 'disabled',
description: 'Enable tlBMC pacemaker to monitor gbmcweb.'
)
option(
'entity-config-location',
type: 'string',
value: '/usr/share/entity-manager/configurations',
description: 'Location to fetch entity configs from.'
)
option(
'tlbmc-allow-sensor-creation-failure',
type: 'feature',
value: 'disabled',
description: '''If tlBMC is disabled, then this flag doesn't do anything.
If enabled, failures to create sensors will not fail tlBMC
Store creation. Otherwise, sensor creation failures are fatal.'''
)
option(
'sysfs-base-path-ut',
type : 'string',
value : '/tmpfs/src/ci_workspace/openbmc-build-scripts/additional',
description : 'File location to the simulated sysfs.'
)
option(
'snapshot-filepath',
type : 'string',
value : '/tmpfs/src/ci_workspace/openbmc-build-scripts/additional/scrubbed_gBMCwebManagedStore_platform11_0_2024_08_22.json',
description : 'File location to the snapshot used for unit tests.'
)
option(
'snapshot-filepath-platform22',
type : 'string',
value : '/tmpfs/src/ci_workspace/openbmc-build-scripts/additional/scrubbed_gBMCwebManagedStore_platform22_0_2024_08_13.json',
description : 'File location to the snapshot used for unit tests.'
)
option(
'snapshot-filepath-platform23',
type : 'string',
value : '/tmpfs/src/ci_workspace/openbmc-build-scripts/additional/scrubbed_gBMCwebManagedStore_platform23_0_2025_06_11.json',
description : 'File location to the snapshot used for unit tests.'
)
option(
'snapshot-filepath-cableFru',
type : 'string',
value : '/tmpfs/src/ci_workspace/openbmc-build-scripts/additional/scrubbed_gBMCwebManagedStore_platform5_3_2024_08_26.json',
description : 'File location to the snapshot used for unit tests.'
)
option(
'snapshot-filepath-platform11-config4',
type : 'string',
value : '/tmpfs/src/ci_workspace/openbmc-build-scripts/additional/scrubbed_gBMCwebManagedStore_platform11_4_2024_09_20.json',
description : 'File location to the snapshot used for unit tests.'
)
option(
'snapshot-filepath-platform5-config7',
type : 'string',
value : '/tmpfs/src/ci_workspace/openbmc-build-scripts/additional/scrubbed_gBMCwebManagedStore_platform5_7_2024_11_26.json',
description : 'File location to the snapshot used for unit tests.'
)
option(
'snapshot-filepath-platform5-config0',
type : 'string',
value : '/tmpfs/src/ci_workspace/openbmc-build-scripts/additional/scrubbed_gBMCwebManagedStore_platform5_0_2025_05_13.json',
description : 'File location to the snapshot used for unit tests.'
)
option('extra-service-flags', type: 'string', description: 'Extra service flags to pass into the authz_server service')
option('bmc-direct-path-intf', type: 'string', value: 'front', description: 'BMC direct path network interface name')
option('bmc-side-path-intf', type: 'string', value: 'ncsi', description: 'BMC side path network interface name')