#
a529a6aa |
| 29-May-2024 |
Ed Tanous <ed@tanous.net> |
Make schemas selectable
Which schemas are installed should be selectable in both a meson config, and trivially by forks. This commit gets us closer to that idea.
It does it in several ways, first,
Make schemas selectable
Which schemas are installed should be selectable in both a meson config, and trivially by forks. This commit gets us closer to that idea.
It does it in several ways, first, the code for generating JsonSchemaFile resources has been changed to be generated at runtime, based on files on disk. This is slightly slower, but allows installing schemas from anywhere, and matches the CSDL handling.
Next, the schema folders are separated into two sets csdl -> This includes the complete schema pack from dmtf installed -> this includes only the schemas the bmc includes
Similar folders exist for json-schema and json-schema-installed.
This allows any additional schemas to be a single symlink addition. Note, this also checks in all of the dmtf json schemas, not just the versions we use. This allows us to update the schema pack without needing to break our versions we ship.
Because the static files are now selectable, all files need to be in a folder. This forces the css and image for the redfish built-in gui to be moved.
Tested: /redfish/v1/JsonSchemas returns the correct result /redfish/v1/JsonSchemas/UpdateService returns a JsonSchemaFile instance /redfish/v1/JsonSchemas/UpdateService/UpdateService<version>json returns the JsonSchemaFile contents.
Redfish service validator passes.
Change-Id: Ie96b2e4b623788dc2ec94eb40fcfd80325f0d826 Signed-off-by: Ed Tanous <ed@tanous.net>
show more ...
|