After successfully deploying all services to your cluster, you must perform some post-deployment verification and configuration tasks to make sure the DMS platform is up and running healthily.
The following sections below describe these tasks in detail.
Although the Installer script indicates the deployment completed successfully, as a sanity check, make sure all Overture services have replicas running using this command:
$ docker service ls
All services should display with replicas indicating **1/1**
:
The specific services you must check for are:
Service / Container Name | Description |
---|---|
arranger-ui | Arranger administrative UI |
arranger-server | Arranger backend server |
dms-ui | DMS data portal |
ego-api | Ego API |
ego-db | Ego PostgreSQL database |
ego-ui | Ego administrative UI |
elasticsearch | Elasticsearch |
gateway | DMS gateway / ingress controller |
maestro | Maestro indexing service |
minio-api | Only used if MinIo chosen as object storage service |
score-api | Score API |
song-api | Song API |
song-db | Song PostgreSQL database |
Check that the Ego API is running by going to:
Mode | URI |
---|---|
Local | http://localhost:<port> /ego-api/swagger-ui.html |
Server | https://<myDomain> /ego-api/swagger-ui.html |
Where:
<port>
is the port on which you have deployed the DMS Gateway in local mode<myDomain>
is the registered domain you configured for the DMS Gateway (e.g. dms.test.cancercollaboratory.org
)If running, the Swagger API will be accessible via your browser in graphical format:
Before logging into the Ego UI, you may wish to check again that all your identity providers have the correctd redirect URI configured in their developer console's OAUTH 2.0 settings. This was configured earlier when setting up your secrets, but double-checking is a good practice.
The redirect URI you must authorize can be found in that provider's Ego configuration section in the ~/.dms/config.yaml
file. Look for the preEstablishedRedirectUri
. In the example below, the
preEstablishedRedirectUri
for Google is https://dms.test.cancercollaboratory.org:443/ego-api/oauth/login/google
ego:api:tokenDurationDays: 30jwt:user:durationMs: 10800000app:durationMs: 10800000refreshTokenDurationMS: 43200000hostPort: 9000sso:google:clientId: "abc123"clientSecret: "abc123"preEstablishedRedirectUri: "https://dms.test.cancercollaboratory.org:443/ego-api/oauth/login/google"
NOTE: When entering the domain in LinkedIn for server mode, you must append the port :443
to the end of the domain. The true redirect URI sent by the DMS actually contains :443
suffixed to the domain. While other identity providers ignore or drop this suffix, LinkedIn requires the redirect URI to match exactly, hence :443
must be explicitly entered.
Mode | URI |
---|---|
Local | http://localhost:<port> /ego-ui |
Server | https://<myDomain> /ego-ui |
Where:
<port>
is the port on which you have deployed the DMS Gateway in local mode<myDomain>
is the registered domain you configured for the DMS Gateway (e.g. dms.test.cancercollaboratory.org
)NOTE: Subsequent users logging into Ego UI will NOT be automatically treated as administrators, for security precautions. It is then the responsibility of the first user (first admin) to assign an Admin
role to other users as required.
dms-admin
group has been automatically created and is assigned these permissions: DMS.WRITE
, SONG.WRITE
, SCORE.WRITE
ADMIN
.dms-admin
group. This ensures your user can perform all basic actions required for a DMS administrator.dms
application has been created.dms
application and in the ERROR REDIRECT URI field, enter:Mode | URI |
---|---|
Local | http://localhost:<port> /dms-ui/403 |
Server | https://<myDomain> :443/dms-ui/403 |
Where:
<port>
is the port on which you have deployed the DMS Gateway in local mode<myDomain>
is the registered domain you configured for the DMS Gateway (e.g. dms.test.cancercollaboratory.org
)This ensures that when OAUTH errors occurs, the DMS UI (Data Portal) is routed to the correct error page to display to the end user.
Check that the Song API is running by going to:
Mode | URI |
---|---|
Local | http://localhost:<port> /song-api/swagger-ui.html |
Server | https://<myDomain> /song-api/swagger-ui.html |
Where:
<port>
is the port on which you have deployed the DMS Gateway in local mode<myDomain>
is the registered domain you configured for the DMS Gateway (e.g. dms.test.cancercollaboratory.org
)If running, the Swagger API will be accessible via your browser in graphical format:
If you chose to use MinIo as your object storage service, check that the MinIo browser:
Mode | URI |
---|---|
Local | http://localhost:<port> /minio |
Server | https://<myDomain> /minio |
Where:
<port>
is the port on which you have deployed the DMS Gateway in local mode<myDomain>
is the registered domain you configured for the DMS Gateway (e.g. dms.test.cancercollaboratory.org
)Access Key
and Secret Key
. If you chose to provide your own credentials during configuration, then you should have recorded these earlier. Otherwise, if you chose for credentials to be auto-generated, you can view them by running the dms config get
command or inspecting the ~/.dms/config.yaml
file.Check that the Maestro API is running by going to:
Mode | URI |
---|---|
Local | http://localhost:<port> /maestro/api-docs |
Server | https://<myDomain> /maestro/api-docs |
Where:
<port>
is the port on which you have deployed the DMS Gateway in local mode<myDomain>
is the registered domain you configured for the DMS Gateway (e.g. dms.test.cancercollaboratory.org
)If running, the Swagger API will be accessible via your browser in graphical format:
Check that Elasticsearch index is deployed by using a tool such as Elastic's own Kibana tool or browser plugin (e.g. Elastichead for Chrome or Elasticvue for Firefox) to graphically view the index.
Do the following:
Mode | URI |
---|---|
Local | http://localhost:<port> /elasticsearch |
Server | https://<myDomain> /elasticsearch |
Where:
<port>
is the port on which you have deployed the DMS Gateway in local mode<myDomain>
is the registered domain you configured for the DMS Gateway (e.g. dms.test.cancercollaboratory.org
)Enter username elastic
and the password you provided during configuration.
Browse the indices and check that the default index (default name file_centric
) is created and the base fields are present. For example, from the Chrome Elastichead plugin:
To enable the Data Portal to display indexed data, a project must be created in Arranger that the Portal can reference. The Arranger project will contain configurations and metadata that determine which data fields are displayed in the Portal and how.
Do the following:
Mode | URI |
---|---|
Local | http://localhost:<port> /arranger-ui/ |
Server | https://<myDomain> /arranger-ui/ |
Where:
<port>
is the port on which you have deployed the DMS Gateway in local mode<myDomain>
is the registered domain you configured for the DMS Gateway (e.g. dms.test.cancercollaboratory.org
)file
). These MUST match.file
). These MUST match.file_centric
). These MUST match.aggs-state.json
columns-state.json
extended.json
matchbox-state.json
Demo samples of these files can be downloaded here.
As indicated, values used to create the project in the Arranger UI here MUST match the Project ID
, Project Name
, Elasticsearch Alias Name
that you supplied earlier during the configuration script.
This screenshot shows how the Arranger UI fields map to the inputs in the DMS installation script:
After adding your project to Arranger, check that the Data Portal (DMS UI) is running by going to:
Mode | URI |
---|---|
Local | http://localhost:<port> /dms-ui |
Server | https://<myDomain> |
Where:
<port>
is the port on which you have deployed the DMS Gateway in local mode<myDomain>
is the registered domain you configured for the DMS Gateway (e.g. dms.test.cancercollaboratory.org
)NOTE: This completes the verification of your DMS installation. The final step in preparing your DMS platform is to upload actual data to it for end user consumption. In the Test Data Upload Flow section, we will teach you how to populate the system with data using a simple demo example.