Skip to content

GUPRI

GUPRI (Global Unique Persistent Resource Identifier) is Roche’s internal identifier backbone. Every artifact produced by the roche-data pipeline — entities, contracts, APIs, policies — receives a globally unique, resolvable URI through GUPRI. This enables unambiguous cross-system references: when Collibra, Snowflake, and an API all reference the same entity, they share the same GUPRI identifier.

PropertyValue
URLTBD (awaiting A02 resolution)
Auth methodTBD (to be clarified with GUPRI team)
NetworkRoche corporate network (VPN required)
Access taskA02
GitHub issue#16
URI prefixurn:gupri:roche
VariableSourceDescription
GUPRI_BASE_URLVault common/gupriBase URL for GUPRI REST API
GUPRI_URI_PREFIXVault common/gupriURI namespace prefix (urn:gupri:roche)
ModuleUsage
rdt-model-gupriRegisters new artifacts, resolves existing identifiers
rdt-model-contractEmbeds GUPRI URIs in data contract metadata
rdt-model-apiReferences GUPRI URIs in OpenAPI spec info.x-gupri-id
rdt-model-registerUses GUPRI URIs for Collibra lineage relationships
rdt-model-sdkEmbeds GUPRI URIs in SDK metadata
rdt-model-eventIncludes GUPRI URIs in lifecycle event payloads
urn:gupri:roche:{entity}:{artifact-type}:v{version}

Examples:

urn:gupri:roche:waste-tracking:entity:v1
urn:gupri:roche:waste-tracking:contract:v1
urn:gupri:roche:waste-tracking:api:v1
urn:gupri:roche:waste-tracking:policy:v1

Script: scripts/access/check-gupri.sh

Required tools: curl

Checks performed:

  1. HTTP connectivity to GUPRI endpoint (if GUPRI_BASE_URL is set)
  2. HTTP status code validation (200/204 = pass, 401/403 = auth needed)

Expected state: skip — A02 not yet resolved.

  • Access: Blocked — awaiting service account provisioning from GUPRI team
  • Workaround: StubGupriClient generates deterministic URIs using the pattern urn:gupri:roche:{entity}:{artifact}:v1
  • Impact: Does not block development — all modules work with stub-generated URIs in --dry-run mode

The rdt-model-gupri module produces models/{entity}/gupri.yaml:

entity_id: waste-tracking
entity_uri: urn:gupri:roche:waste-tracking:entity:v1
contract_uri: urn:gupri:roche:waste-tracking:contract:v1
api_uri: urn:gupri:roche:waste-tracking:api:v1
created_at: "2026-05-01T10:00:00Z"