Namespaces

A namespace defines a realm within the Tetra Data Platform (TDP) where only those who have the appropriate permissions can use the artifacts in that realm.

There are three types of namespaces:

📘

NOTE

To deploy artifacts from either the client or private namespace to multiple organizations, see Add Artifacts to Multiple Organizations

common Namespace

Format: common

The common namespace is used for artifacts that are published by TetraScience and are available to all customers. Members of all organizations have read access to the artifacts in the common namespace. No one outside of TetraScience has write access to these artifacts.

client Namespace

Format: client-orgslug

The client namespace is used for artifacts that are published by TetraScience for a specific customer. When applied to an artifact, the client namespace must be appended with an orgSlug to indicate which organization has access to the artifact (for example, client-tetrascience). Members of the specified organization are the only users that have read access to the artifact. No one outside of TetraScience has write access to these artifacts.

private Namespace

Format: private-orgslug

The private namespace is used for artifacts that are published by TetraScience customers. When applied to an artifact, the private namespace must be appended with an orgSlug to indicate which organization has access to the artifact (for example, private-tetrascience). Members of the specified organization are the only users that have read and write access to these artifacts.

🚧

IMPORTANT

OpenSearch index mapping conflicts can occur when a client or private namespace creates a backwards-incompatible data type change. For example: If doc.myField is a string in the common Intermediate Data Schema (IDS) and an object in the non-common IDS, then it will cause an index mapping conflict, because the two namespace documents are sharing an index. When these mapping conflicts occur, the files aren't searchable through the TDP user interface or API endpoints. As a workaround, you can either create distinct, non-overlapping version numbers for your non-common IDSs or update the names of those IDSs.

Add Artifacts to Multiple Organizations

When you use Self-Service Tetra Data Pipelines (SSPs), you can deploy artifacts from either the client or private namespace to more than one organization.

Deploy Artifacts to Multiple Orgs on Different TDP Instances

To deploy an artifact to multiple organizations across different TDP instances (for example, https://platform.tetrascience.com and https://gxp.tetrascience.com), you must deploy the artifact separately on each instance.

For instructions, see the Hello, World! SSP Example.

📘

NOTE

On each TDP instance, you can still use orgslug prefixes in your SSPs to deploy artifacts to multiple organizations.

Deploy Artifacts to Multiple Orgs on the Same TDP Instance

To deploy an artifact to multiple organizations on the same TDP instance, all references to the artifact's namespace value in your SSP files and ts-cli commands should include the orgslug prefix only.

Orgslug Prefixes

An orgslug prefix is the part of each orgslug that appears before any hyphens (<orgslug prefix>-).

Namespace Format for Orgslug Prefixes: private-<orgslug prefix>

For example, the orgslug prefix for the following organizations is company:

  • company-dev
  • company-test
  • company-prd

To deploy an artifact to each of these organizations (if they're on the same TDP instance) by using an SSP, you would use the following formatting for the pipeline's namespace fields and in your ts-cli commands: private-company

For this example, adding private-company to the namespace fields in the SSP files and ts-cli commands makes the artifact available to all of the organizations within the company orgslug prefix (company-dev, company-test, and company-prd).