Stable
This component is complete and can be used. The interfaces will be supported until the function is removed from the project via the deprecation process. There will be ongoing extensions to this function, but it will be done to ensure backward compatibility as far as possible. If there is a need to break backward compatibility, this will be discussed and reviewed in the community, with a documented timeline.
OMAG Server Platform Chassis¶
The Platform Chassis provides the base runtime framework, such as the web server and the REST API endpoint support for the Open Metadata and Governance (OMAG) Server Platform. Calls to the platform chassis are then routed to the appropriate OMAG subsystem.
Today, Egeria has one platform chassis implementation called platform-chassis-spring that uses Spring Boot. Its main()
method is located in a Java class called OMAGServerPlatform
.
Alternate build option¶
Egeria's default build will include the full-platform profile, that includes all available services in the running OMAG Server Platform.
There is a build option called -PadminChassisOnly
that will not include any registered services nor connector implementations.
Selective registered services can then be activated via the loader.path spring-boot functionality .
The -PadminChassisOnly
is used for creating a cut down OMAG Server Platform for a specific deployment.
Application properties¶
Since the OMAG Server Platform is a Spring Boot application, it can be customized using the application.properties file found in the platform's working directory and using environment variables. Details of the application properties supported by the platform chassis are describe in Configuring the OMAG Server Platform
Adding a new registered service implementation to the OMAG Server Platform¶
When the OMAGServerPlatform class is called, Spring Boot does a component scan for all Spring services that are in Java packages stemming from org.odpi.openmetadata.*
and that are visible to this module.
To make a new Java package visible to OMAGServerPlatform, add its spring package to the build.gradle file for platform-chassis-spring. It will be picked up in the component scan.
For example, this is the snippet of the build.gradle file that adds the Asset Owner OMAS services to the OMAG Server Platform.
runtimeOnly project(':open-metadata-implementation:access-services:asset-owner:asset-owner-spring')
Spring Boot Actuator¶
Spring Boot Actuator is used to expose operational information about the running application such as health, metrics, info, dump. It uses HTTP endpoints or JMX beans to enable us to interact with it.
A “discovery page” is added with links to all the endpoints. The “discovery page” is available on /actuator by default. Once this dependency is on the class-path /info and /health endpoints are available out of the box.
In order to expose all endpoints over HTTP, use the following property:
management.endpoints.web.exposure.include=*
The exclude
property lists the IDs of the endpoints that should not be exposed. For example, to expose everything over HTTP except the env and beans endpoints, use the following properties:
management.endpoints.web.exposure.include=*
management.endpoints.web.exposure.exclude=env,beans
The exclude
property takes precedence over the include property.
Raise an issue or comment below