Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Register
  • Sign in
  • I infra-azure-provisioning
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
    • Locked files
  • Issues 65
    • Issues 65
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 12
    • Merge requests 12
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Artifacts
    • Schedules
    • Test cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Terraform modules
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Open Subsurface Data Universe SoftwareOpen Subsurface Data Universe Software
  • Platform
  • Deployment and Operations
  • infra-azure-provisioning
  • Issues
  • #77
Closed
Open
Issue created Jan 04, 2021 by Daniel Scholl@danielschollOwner

Architecture Change - Central Resources - Add Graph Database

The addition of a Graph Database is required in order to support enhanced Entitlements and a new Entitlements Service based on Graph Database Functionality. This database has been determined to be a Cosmos Database and leverage the Azure Cosmos Graph API

The database for entitlements needs to be a single database for the OSDU stamp and is not part of a Data Partition and is planned to be a part of the Central Resources.


Design

Terraform Resources exist in AzureRM for managing a Gremlin Graph within a Cosmos Account. These resources are different than those used by a SQL Database and Container. Two options exist for the module work.

  1. Enhance the CosmosDB Module to support both SQL and Gremlin Databases.
  2. Create a separate module for each database type that is independent.

There are no known advantages at the moment as to why a single module would be of benefit so the default decision is to use a new module for this Graph API functionality.

Module Requirements

  • The Module if possible should be as similar to Cosmos DB as possible.

Template Requirements

  • Database will be named with the suffix of graph to distinguish from table or db
  • Database will be created as part of the Central Resource Template
  • Database will be locked
  • Database location and replication location will be consistent in naming patterns to Data Partitions
  • Database by default will use the same type of throughput settings as CosmosDB.

Acceptance Criteria

  1. Architecture Diagram Change
  2. Modify or create an infrastructure module responsible for adding Cosmos Graph Database.
  3. Modify Central Resources to add the additional database.
  4. Ensure all Module Unit Tests Pass
  5. Ensure all Template Unit Tests and Integration Tests Pass
  6. Update all required documentation
Edited Jan 14, 2021 by Daniel Scholl
Assignee
Assign to
Time tracking