Data Sources
Data sources are a type of workload assets and represent a location where data is actually stored. They may represent a remote data location, such as NFS, Git, or S3, or a Kubernetes local resource, such as PVC, ConfigMap, HostPath, or Secret.
This configuration simplifies the mapping of the data into the workload’s file system and handles the mounting process during workload creation for reading and writing. These data sources are reusable and can be easily integrated and used by AI practitioners while submitting workloads across various scopes.
Data Sources Table
The data sources table can be found under Workload manager in the NVIDIA Run:ai platform.
The data sources table provides a list of all the data sources defined in the platform and allows you to manage them.
Note
Data & storage - with Data sources and Data volumes - is visible only if your administrator has enabled Data volumes.

The data sources table comprises the following columns:
Data Sources Status
The following table describes the data sources’ condition and whether they were created successfully for the selected scope.
Customizing the Table View
- Filter - Click ADD FILTER, select the column to filter by, and enter the filter values
- Search - Click SEARCH and type the value to search by
- Sort - Click each column header to sort by
- Column selection - Click COLUMNS and select the columns to display in the table
- Download table - Click MORE and then click ‘Download as CSV’. Export to CSV is limited to 20,000 rows.
- Refresh - Click REFRESH to update the table with the latest data
Show/Hide Details
Click a PVC data source in the Data sources table and then click the SHOW DETAILS button at the upper-right side of the action bar. The details pane appears, presenting the following tabs:
Event History
Displays events describing notable actions and changes in the cluster. Use the filter to search through the history for specific events.
Details
Displays static PVC information, including:
- General information - Scope, creation time, owner
- Request settings - Access modes, storage request, volume mode, restrictions
- Storage class details - Name, provisioner type, volume expansion support, default status
Adding a New Data Source
To create a new data source:
- Click +NEW DATA SOURCE
- Select the data source type from the list. Follow the step-by-step guide for each data source type:
NFS
NFS
A Network File System (NFS) is a Kubernetes concept used for sharing storage in the cluster among different pods. Like a PVC, the NFS volume’s content remains preserved, even outside the lifecycle of a single pod. However, unlike PVCs, which abstract storage management, NFS provides a method for network-based file sharing. The NFS volume can be pre-populated with data and can be mounted by multiple pod writers simultaneously. At NVIDIA Run:ai, an NFS-type data source is an abstraction that is mapped directly to a Kubernetes NFS volume. This integration allows multiple workloads under various scopes to mount and present the NFS data source.
- Select the cluster under which to create this data source
- Select a scope
- Enter a name for the data source. The name must be unique.
- Optional: Provide a description of the data source
- Set the data origin
- Enter the NFS server (host name or host IP)
- Enter the NFS path
- Set the data target location
- Container path
- Optional: Restrictions
- Prevent data modification - When enabled, the data will be mounted with read-only permissions
- Click CREATE DATA SOURCE
PVC
PVC
A Persistent Volume Claim (PVC) is a Kubernetes concept used for managing storage in the cluster, which can be provisioned by an administrator or dynamically by Kubernetes using a StorageClass. PVCs allow users to request specific sizes and access modes (read/write once, read-only many).
NVIDIA Run:ai ensures that data remains consistent and accessible across various scopes and workloads, beyond the lifecycle of individual pods, which is efficient while working with large datasets typically associated with AI projects.
- Select the cluster under which to create this data source
- Select a scope
- If the scope you selected is at the cluster or department level, you can choose how volumes are shared across projects within that scope:
- Separate volume for each project (default) - A dedicated volume is created per project. Each project can access only its own allocated storage space.
- Shared volume between all projects - A dedicated volume is created for all projects within the selected scope. This option always creates a new PVC - the Existing PVC option is not available. Recommended for collaboration and shared storage access across projects.
Note: A storage class that supports shared volumes must be configured in your cluster. Contact your administrator, who must enable data sharing for the storage class as described in Enabling Shared Volumes for a Storage Class.
- Enter a name for the data source. The name must be unique.
- Optional: Provide a description of the data source
- Select PVC:
-
Existing PVC
This option is relevant when the purpose is to create a PVC-type data source based on an existing PVC in the cluster
- Select a PVC from the list - (The list is empty if no existing PVCs were created in advance)
-
New PVC - creates a new PVC in the cluster. New PVCs are not added to the Existing PVCs list.
When creating a PVC-type data source and selecting the ‘New PVC’ option, the PVC is immediately created in the cluster (even if no workload has requested this PVC).
-
- Select the storage class
- None - Proceed without defining a storage class
- Custom storage class - Select a storage class from the list of available options. If the selected storage class includes custom configuration fields, those fields are displayed in the form. To add new storage classes and for additional information, see Kubernetes storage classes.
- Select the access mode(s) (multiple modes can be selected)
- Read-write by one node - The volume can be mounted as read-write by a single node.
- Read-only by many nodes - The volume can be mounted as read-only by many nodes.
- Read-write by many nodes - The volume can be mounted as read-write by many nodes.
- Set the claim size and its units
- Select the volume mode
- File system (default) - allows the volume to be mounted as a filesystem, enabling the usage of directories and files.
- Block - exposes the volume as a block storage, which can be formatted or used by applications directly without a filesystem.
- Set the data target location
- container path
- Optional: Prevent data modification - When enabled, the data will be mounted with read-only permission.
- Click CREATE DATA SOURCE
After the data source is created, check its status to monitor its proper creation across the selected scope.
S3 Bucket
S3 Bucket
The S3 bucket data source enables the mapping of a remote S3 bucket into the workload’s file system. Similar to a PVC, this mapping remains accessible across different workload executions, extending beyond the lifecycle of individual pods. However, unlike PVCs, data stored in an S3 bucket resides remotely, which may lead to decreased performance during the execution of heavy machine learning workloads. As part of the NVIDIA Run:ai connection to the S3 bucket, you can create credentials in order to access and map private buckets.
Note
S3 data sources are not supported for custom inference workloads.
- Select the cluster under which to create this data source
- Select a scope
- Enter a name for the data source. The name must be unique.
- Optional: Provide a description of the data source
- Set the data origin
- Set the S3 service URL
- Select the credential
- None - for public buckets
- Credential names - This option is relevant for private buckets based on existing credentials that were created for the scope. To add new credentials to the credentials list, and for additional information, check the Credentials article.
- Enter the bucket name
- Set the data target location
- container path
- Click CREATE DATA SOURCE
After a private data source is created, check its status to monitor its proper creation across the selected scope.
Git
Git
A Git-type data source is an NVIDIA Run:ai integration that enables code to be copied from a Git branch into a dedicated folder in the container. It is mainly used to provide the workload with the latest code repository. As part of the integration with Git, in order to access private repositories, you can add predefined credentials to the data source mapping.
- Select the cluster under which to create this data source
- Select a scope
- Enter a name for the data source. The name must be unique.
- Optional: Provide a description of the data source
- Set the data origin
- Set the repository type - Public or Private
- If you select Private, choose the credential. The credential must be an existing credential that was created for the scope. Supported credential types include Username & password and SSH keys. To add new credentials to the credentials list, and for additional information, check the Credentials article.
- Set the Repository URL
- For username/password credentials, use HTTPS format
- For SSH key credentials, use SSH format
- Set the Revision (branch, tag, or hash). If left empty, the ‘HEAD’ (latest) will be used.
- Set the data target location
- container path
- Click CREATE DATA SOURCE
After a private data source is created, check its status to monitor its proper creation across the selected scope.
Host path
Host path
A Host path volume is a Kubernetes concept that enables mounting a host path file or a directory on the workload’s file system. Like a PVC, the host path volume’s data persists across workloads under various scopes. It also enables data serving from the hosting node.
- Select the cluster under which to create this data source
- Select a scope
- Enter a name for the data source. The name must be unique.
- Optional: Provide a description of the data source
- Set the data origin
- host path
- Set the data target location
- container path
- Optional: Prevent data modification - When enabled, the data will be mounted with read-only permissions.
- Click CREATE DATA SOURCE
ConfigMap
ConfigMap
A ConfigMap data source is an NVIDIA Run:ai abstraction for the Kubernetes ConfigMap concept. The ConfigMap is used mainly for storage that can be mounted on the workload container for non-confidential data. It is usually represented in key-value pairs (e.g., environment variables, command-line arguments etc.). It allows you to decouple environment-specific system configurations from your container images, so that your applications are easily portable. ConfigMaps must be created on the cluster prior to being used within the NVIDIA Run:ai system.\
- Select the cluster under which to create this data source
- Select a scope
- Enter a name for the data source. The name must be unique.
- Optional: Provide a description of the data source
- Set the data origin
- Select the ConfigMap name (The list is empty if no existing ConfigMaps were created in advance).
- Set the data target location
- container path
- Click CREATE DATA SOURCE
Secret
Secret
A secret-type data source enables the mapping of a credential into the workload’s file system. Credentials are a workload asset that simplify the complexities of Kubernetes Secrets. The credentials mask sensitive access information, such as passwords, tokens, and access keys, which are necessary for gaining access to various resources.
- Select the cluster under which to create this data source
- Select a scope
- Enter a name for the data source. The name must be unique.
- Optional: Provide a description of the data source
- Set the data origin
-
Select the credential
To add new credentials, and for additional information, check the Credentials article.
-
- Set the data target location
- container path
- Click CREATE DATA SOURCE
After the data source is created, check its status to monitor its proper creation across the selected scope.
Copying a Data Source
To copy an existing data source:
- Select the data source you want to copy
- Click MAKE A COPY
- Enter a name for the data source. The name must be unique.
- Update the data source and click CREATE DATA SOURCE
Renaming a Data Source
To rename an existing data source:
- Select the data source you want to rename
- Click Rename and edit the name/description
Deleting a Data Source
To delete a data source:
- Select the data source you want to delete
- Click DELETE
- Confirm you want to delete the data source
Note
It is not possible to delete a data source being used by an existing workload or template.
Creating PVCs in Advance
Add PVCs in advance to be used when creating a PVC-type data source via the NVIDIA Run:ai UI.
The actions taken by the admin are based on the scope (cluster, department or project) that the admin wants for data source of type PVC. Follow the steps below for each required scope:
Note
These steps require administrator permissions.
Cluster Scope
- Locate the PVC in the NVIDIA Run:ai namespace (
runai) - Provide NVIDIA Run:ai with visibility and authorization to share the PVC to your selected scope by implementing the following label:
run.ai/cluster-wide: "true"
The PVC is now displayed for that scope in the list of existing PVCs.
Note
This step is also relevant for creating the data source of type PVC via API
Department Scope
- Locate the PVC in the NVIDIA Run:ai namespace (
runai) - To authorize NVIDIA Run:ai to use the PVC, label it:
run.ai/department: "id"
The PVC is now displayed for that scope in the list of existing PVCs.
Project Scope
Locate the PVC in the project’s namespace.
The PVC is now displayed for that scope in the list of existing PVCs.
Enabling Shared Volumes for a Storage Class
The Shared volume between all projects option is available only for storage classes that have data sharing enabled. Data sharing is not enabled automatically. An administrator must use the Storage class configuration API to enable it explicitly for each storage class that should support shared volumes, by setting permissions.allowDataSharing to true.
Note
This procedure requires administrator permissions.
Replace the following placeholders in the commands below:
<COMPANY-URL>- The link to the NVIDIA Run:ai user interface<TOKEN>- A valid API access token<ID>- Theidof the existing storage class configuration<CLUSTER-UUID>- The UUID of the cluster<STORAGE-CLASS-NAME>- The name of the Kubernetes storage class
-
Check whether a storage class configuration exists for the storage class, and whether
allowDataSharingis enabled: -
If a configuration exists for the storage class but
allowDataSharingisfalse, copy itsidand update it: -
If no configuration exists for the storage class, create one:
Repeat these steps for each storage class that should support shared volumes.
Creating ConfigMaps in Advance
Add ConfigMaps in advance to be used when creating a ConfigMap-type data source via the NVIDIA Run:ai UI.
Cluster Scope
- Locate the ConfigMap in the NVIDIA Run:ai namespace (
runai) - To authorize NVIDIA Run:ai to use the ConfigMap, label it:
run.ai/cluster-wide: "true" - The ConfigMap must have a label of
run.ai/resource: <resource-name>
The ConfigMap is now displayed for that scope in the list of existing ConfigMaps.
Department Scope
- Locate the ConfigMap in the NVIDIA Run:ai namespace (
runai) - To authorize NVIDIA Run:ai to use the ConfigMap, label it:
run.ai/department: "<department-id>" - The ConfigMap must have a label of
run.ai/resource: <resource-name>
The ConfigMap is now displayed for that scope in the list of existing ConfigMaps.
Project Scope
- Locate the ConfigMap in the project’s namespace
- The ConfigMap must have a label of
run.ai/resource: <resource-name>
The ConfigMap is now displayed for that scope in the list of existing ConfigMaps.
Using CLI
To view the available actions on data sources, see the data source CLI v2 reference.
Using API
To view the available actions, go to the Data sources API reference.