Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

README.md

Recipe Data Directory

This directory contains recipe metadata and component configurations for the NVIDIA Cloud Native Stack bundler system.

Quick Reference

Task Documentation
Understand recipe architecture Data Architecture
Create/modify recipes Recipe Development Guide
Create new bundlers Bundler Development Guide
CLI commands CLI Reference

Directory Structure

recipes/
├── registry.yaml                  # Component registry (Helm & Kustomize configs)
├── overlays/                      # Recipe overlays (including base)
│   ├── base.yaml                  # Base recipe (universal defaults, root of inheritance)
│   ├── eks.yaml                   # EKS overlay
│   ├── eks-training.yaml          # EKS + training overlay
│   ├── gb200-eks-training.yaml    # GB200 + EKS + training overlay
│   ├── gb200-eks-ubuntu-training.yaml # Full criteria leaf recipe
│   ├── h100-eks-ubuntu-training-kubeflow.yaml # H100 + EKS + Ubuntu + training + Kubeflow
│   └── h100-ubuntu-inference.yaml # H100 inference overlay
└── components/                    # Component value configurations
    ├── cert-manager/
    ├── nvidia-dra-driver-gpu/
    ├── gpu-operator/
    └── ...

Recipe Naming Convention: Recipe file names follow a specific ordering convention for consistency: {accelerator}-{service}-{os}-{intent}-{platform}.yaml

Examples:

  • h100-eks-training.yaml (accelerator + service + intent)
  • h100-eks-ubuntu-training.yaml (accelerator + service + os + intent)
  • h100-eks-ubuntu-training-kubeflow.yaml (accelerator + service + os + intent + platform)

Overview

The recipe system uses a base-plus-overlay architecture:

  • Base values (overlays/base.yaml) provide default configurations
  • Overlay values (e.g., eks-gb200-training.yaml) provide environment-specific optimizations
  • Inline overrides allow per-recipe customization without creating new files

All files in this directory are embedded into the CLI binary and API server at compile time.

Run Validation Tests

# Run all recipe tests
make test

# Run specific validation
go test -v ./pkg/recipe/... -run TestAllMetadataFilesConformToSchema

# Check for duplicate criteria
go test -v ./pkg/recipe/... -run TestNoDuplicateCriteriaAcrossOverlays

Automated Validation

All recipe metadata and component values are automatically validated. Tests run as part of make test and check:

  • Schema conformance (YAML parses correctly)
  • Criteria validation (valid enum values)
  • Reference validation (valuesFile paths exist, dependencyRefs resolve)
  • Constraint syntax (valid measurement paths and operators)
  • Uniqueness (no duplicate criteria across overlays)
  • Merge consistency (base + overlay merges without data loss)
# Generate bundle from recipe with overrides
aicr bundle -r recipes/overlays/your-recipe.yaml -o ./test-bundles

# Verify merged values
cat test-bundles/gpu-operator/values.yaml | grep -A5 "driver:"

For detailed test documentation, see Automated Validation.

See Also