icgc-argo / icgc-argo/program-service

Create Data Center Entity and DB Tables

Open
#412 0 comments 0 reactions 1 assignee View on GitHub

@Azher2Ali is already working on this.

Since Aug 30, 2023.

new-feature
Dominant language
Java
Stars
3
Forks
0
Avg merge
14h 34m
Merged PRs (30d)
2

Description

This ticket is part of the effort to add functionality of a Data Center Registry to the Program Service:
The Program Service scope is being expanded to also act as a Data Center Registry. Data Centers represent the Regional Data Processing Centers (RDPC) that ARGO will support a network of. Each program registered in the program-service must belong to a single Data Center. The Data Centers have various connection details that also need to be stored.

Create a new entity type for Data Center, and update the Database to store this data.

The updated ERD is included at the bottom of this description. For the scope of this ticket, do not update the program entity - we will have follow up tickets to update the Program's relationship to Data Centers.

Required Changes

  • Database table for Data Center and any required migration files
  • Java entity / DAO to read/write from table

Details

Each Data Center entity includes descriptive strings that will be used to display information for the RDPC, plus some required connection information that can direct other services/users to the required URLs to interact with the RDPC:

There are 6 connections that each RDPC needs to publish:

  1. RDPC UI
  2. RDPC Gateway
  3. Analysis Song - Song where the analysis metadata generated by workflows is stored
  4. Analysis Score - Score where the analysis files generated by workflows are stored
  5. Submission Song - Song where programs will submit their file metadata
  6. Submission Score - Score where programs will submit their molecular file data

The following table provides a description of the properties of this new entity:

Attribute Req Imm Data Type Field Description Example
id  PK Y Y uuid Database ID generated for Data Center.  
name Y N string Data Center display nameMust be Unique OICR Toronto RDPC
short_name Y Y string Unique short name/code assigned to the program.Must be Unique OICR-TORONTOOnly capitalsDash permissibleLast two letters should be country code
organization N N string Display text for organization operating the RDPC OICR
email Y N string (email) Public displayed contact email for the Data Center helpdesk@icgc-argo.org
ui_url Y N string (url) URL to RDPC UI  
gateway_url Y N string (url) URL to RDPC Gateway (API)  
analysis_song_code Y N string Repository code used in ES index by maestro for the RDPC's Analysis Song toronto-oicr.song.submission
analysis_song_url Y N string (url) URL to analysis Song API  
analysis_score_url Y N string (url) URL to analysis Score API  
submission_song_code Y Y string Repository code used in ES index by maestro for the RDPC's Analysis Song toronto-oicr.song.submission
submission_song_url Y N string (url) URL to submission Song API  
submission_score_url Y N string (url) URL to submission Score API  
Updated ERD

image

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.