Setup¶
If you are following the checklist you should have completed the following checked tasks before proceeding.
- Plan your Egeria topology - including how many platforms, how many servers, cohort and connectors
- Plan your UI which UI capabilities you require.
- Start one (or more) OMAG Server Platforms
- Configure the OMAG Server Platform if required (the Kubernetes image may have already configured an OMAG Server Platform)
- Configure and start a Metadata Access Server if required (the Kubernetes image may have configured a Metadata Access Server)
- Configure and start a View Server for each of the UI capabilities you require. The name of the UI capability is the same as the name of the view service.
- Configure and run the Presentation Server
- Validate that the presentation server is running as expected. Using the following guides:
This page describes the steps required to configure and run the presentation server.
1. Download the Egeria Ecosystem (React) user interface code¶
Start by downloading the Egeria Ecosystem User Interface into a folder on your machine.
Either
- Download the Latest Release.
The released user interface is supplied in an archive, containing the source code as a
zip
file and atar.gz
file, which you need to extract. git clone
the repository using the instructions under the Code button at Latest code
You now should have a folder on your machine with the Egeria Ecosystem User Interface code extracted.
2. Set the presentation server environment variable¶
The presentation server is the node application for the user interface. It serves the web pages, proxies the rest calls and handles the login. For a particular tenant the presentation server needs to know which back end server to send requests to. This information is supplied in an environment variable(s).
The environment variable is:
EGERIA_PRESENTATIONSERVER_SERVER_\<localServerName>={"remoteServerName":"\<remoteServerName>","remoteURL":"\<remoteURL>"}
where
<localServerName>
should be replaced with the local server name. This segment is the start segment of the url that the browser sends.
<remoteServerName>
should be replaced with the remote server name. This is the name of the view service that has been configured in the view server.
<remoteURL>
should be replaced with the remote server URL. This is the URL of the view service.
Since this environment variable is typically handled by the shell and includes a json fragment, when setting it you need to be sure to 'escape' quotation characters, so you would type:
EGERIA_PRESENTATIONSERVER_SERVER_aaa="{\"remoteServerName\":\"cocoView1\",\"remoteURL\":\"https://localhost:9443\"}"
$ echo $EGERIA_PRESENTATIONSERVER_SERVER_aaa
{"remoteServerName":"cocoView1","remoteURL":"https://localhost:9443"}
truststore.p12
file from: https://github.com/odpi/egeria/raw/main/truststore.p12.
Transport-level security
The truststore.p12 file provides a local truststore for Java. This allows the self-signed certificate configured for the OMAG Server Platform to be trusted.
Without this trust, interactions with the platform (such as the REST calls that are made
through Java to handle interaction between the platform and the connector) will result in an
SSLHandshakeException
.
While this truststore.p12
file allows SSL-encrypted communication, the fact that
it relies on a self-signed certificate means that there is no independent source of trust
in the interactions (which would typically be achieved through an independent Certificate
Authority).
Additional details on TLS for Egeria can be found in the Egeria documentation.
3. Running the presentation server¶
To run on a different machine, copy over the cra-client and cra-server/build folders, maintaining their relative locations to the target machine.
Once you have the code where you want to run it:
- Navigate to the
cra-client
folder and runnpm install
- Navigate to the
cra-server
folder and runnpm install
To run the presentation server in production mode, the javascript and resources need to be minified.
- Navigate into
cra-client
, then runnpm run build
. The cra-client folder now should contain abuild
folder containing the artifacts to run in production. - Run
npm run prod
in thecra-server folder
.
- Navigate into
cra-server
and runnpm start
. - After a couple of minutes while it builds, for tenant aaa, you should be able to login.
4. Demo login¶
If you have used the sample environment variables and are using the Egeria Dojo setup, then you can login as follows.
In your web browser go to https://localhost:9443/aaa/
Replace host/port accordingly
- In this example
aaa
is the tenant name we used above when defining the environment variable - The trailing / is currently required to allow the login page to load
For ecosystem tools use user 'garygeeke' and password 'admin'. For glossary author use user 'faithbroker' and password 'admin'.
5. SSL configuration¶
By default the Egeria Ecosystem UI uses a truststore.p12 and keystore.p12 files for ssl. The p12 files are copies of files https://github.com/odpi/egeria/blob/main/keystore.p12 and https://github.com/odpi/egeria/blob/main/truststore.p12, which are the definitive sources of these files. The keystore and truststore files allow Egeria to run simply in a demo/development; this is not appropriate for production, which should be appropriately secured.