Skip to content

Setup

If you are following the checklist you should have completed the following checked tasks before proceeding.

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 a tar.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\"}"
We can see this is set as we expect
$ echo $EGERIA_PRESENTATIONSERVER_SERVER_aaa
{"remoteServerName":"cocoView1","remoteURL":"https://localhost:9443"}
To get an initial environment up-and-running just download the truststore.p12 file from: https://github.com/odpi/egeria/raw/master/truststore.p12.

Transport-level security

The truststore.p12 file provides a local truststore for Java. This allows the self-signed certificate embedded within the server chassis (by default) to be trusted.

Without this trust, interactions with the server chassis (such as the REST calls that are made through Java to handle interaction between the chassis 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:

  1. Navigate to the cra-client folder and run npm install
  2. Navigate to the cra-server folder and run npm install

To run the presentation server in production mode, the javascript and resources need to be minified.

  1. Navigate into cra-client, then run npm run build. The cra-client folder now should contain a build folder containing the artifacts to run in production.

  2. Run npm run prod in the cra-server folder.

  1. Navigate into cra-server and run npm start.
  2. 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/master/keystore.p12 and https://github.com/odpi/egeria/blob/master/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.