Skip to main content

Overview

The NemoDatastore resource provides a Git-based data storage service (using Gitea) with support for LFS and object storage backends. It serves as the primary data repository for NeMo services. API Group: apps.nvidia.com
API Version: v1alpha1
Kind: NemoDatastore

Spec Fields

image
object
required
Container image configuration.
databaseConfig
object
required
PostgreSQL database configuration.
secrets
object
required
Required Kubernetes secrets for Gitea configuration.
objectStoreConfig
object
Optional object storage configuration (e.g., MinIO, S3) for LFS.
pvc
object
Persistent volume claim for data storage.
expose
object
Service exposure configuration.
replicas
integer
default:"1"
Number of replicas (minimum: 1)
scale
object
Autoscaling configuration
metrics
object
Metrics collection configuration
command
array
Override container command
args
array
Container arguments
env
array
Additional environment variables
resources
object
Resource requirements
nodeSelector
object
Node selector labels
tolerations
array
Pod tolerations
affinity
object
Pod affinity rules
labels
object
Custom labels
annotations
object
Custom annotations
userID
integer
User ID for container security context (default: 1000)
groupID
integer
Group ID for container security context (default: 2000)
runtimeClass
string
Runtime class name

Status Fields

conditions
array
Current state conditions
availableReplicas
integer
Number of available replicas
state
string
Current state (Pending, NotReady, Ready, Failed)

Example

apiVersion: apps.nvidia.com/v1alpha1
kind: NemoDatastore
metadata:
  name: nemodatastore-sample
  namespace: nemo
spec:
  secrets:
    datastoreConfigSecret: "nemo-ms-nemo-datastore"
    datastoreInitSecret: "nemo-ms-nemo-datastore-init"
    datastoreInlineConfigSecret: "nemo-ms-nemo-datastore-inline-config"
    giteaAdminSecret: "gitea-admin-credentials"
    lfsJwtSecret: "nemo-ms-nemo-datastore--lfs-jwt"
  databaseConfig:
    credentials:
      user: ndsuser
      secretName: datastore-pg-existing-secret
      passwordKey: password
    host: datastore-pg-postgresql.nemo.svc.cluster.local
    port: 5432
    databaseName: ndsdb
  pvc:
    name: "pvc-shared-data"
    create: true
    storageClass: ""
    volumeAccessMode: ReadWriteOnce
    size: "10Gi"
  expose:
    service:
      type: ClusterIP
      port: 8000
  image:
    repository: nvcr.io/nvidia/nemo-microservices/datastore
    tag: "25.08"
    pullPolicy: IfNotPresent
    pullSecrets:
      - ngc-secret
  replicas: 1
  resources:
    requests:
      memory: "256Mi"
      cpu: "500m"
    limits:
      memory: "512Mi"
      cpu: "1"

Build docs developers (and LLMs) love