Setup¶
Ensure you have set up the Egeria servers you need to run the UI. A simple setup is described here.
1. Obtain the Egeria React user interface¶
Start by downloading the Egeria React User Interface:
Release 2.11.0
The released user interface is supplied in an archive, containing the source code as a zip
or tar.gz
file, which you need to extract.
git clone
the repository using the instructions under the Code button at Latest code
You now have a folder on your machine with the user interface code extracted.
2. The presentation server environment variable¶
The presentation server is the node application for the user applicaiton. It serves the web pages, proxies therest calls andhandles the login. For a particular tentant thepresentation server needs to know which back end servr 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\"}"
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:
- 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 javascipt 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 artifiacts 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 React 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.