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
Container image configuration. Container image repository
PostgreSQL database configuration. Database hostname (minimum length: 1)
Database name (minimum length: 1)
Database credentials Secret containing password
Key in secret for password
Required Kubernetes secrets for Gitea configuration. Secret containing Gitea admin credentials (keys: GITEA_ADMIN_USERNAME, GITEA_ADMIN_PASSWORD)
Secret containing LFS JWT token (key: jwtSecret)
Secret containing initialization scripts
Secret containing config_environment.sh
datastoreInlineConfigSecret
Secret containing inline configuration
Optional object storage configuration (e.g., MinIO, S3) for LFS. Object store credentials Secret containing object store credentials
Key in secret for password/access key
Enable direct serving from object store
Object store endpoint URL
Bucket name for LFS storage
Enable SSL/TLS for object store connection
Persistent volume claim for data storage. Whether to create the PVC
Service exposure configuration.
Number of replicas (minimum: 1)
Autoscaling configuration
Metrics collection configuration
Override container command
Additional environment variables
User ID for container security context (default: 1000)
Group ID for container security context (default: 2000)
Status Fields
Number of available replicas
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"