Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

README.md

Holodeck Example Configurations

This directory provides example environment configuration files for Holodeck. Use these as starting points for your own environments.

Available Examples

1. Basic AWS Environment (Kubeadm)

File: examples/aws_kubeadm.yaml

A minimal AWS environment using the kubeadm installer for Kubernetes.

holodeck create -f examples/aws_kubeadm.yaml

2. Basic AWS Environment (Kind)

File: examples/aws_kind.yaml

A minimal AWS environment using the kind installer for Kubernetes.

holodeck create -f examples/aws_kind.yaml

3. Generic v1alpha1 Environment

File: examples/v1alpha1_environment.yaml

A generic example showing the full v1alpha1 environment spec, including provider, instance, and Kubernetes options.

holodeck create -f examples/v1alpha1_environment.yaml

4. Custom Kubeadm Config

File: examples/kubeadm-config.yaml

A sample kubeadm configuration file for advanced Kubernetes cluster setup. Use with the kubeadm installer.

5. Kind Cluster Config

File: examples/kind.yaml

A sample kind cluster configuration for use with the kind installer.


Multinode Cluster Examples

6. Simple Cluster (1 CP + 2 Workers)

File: examples/aws_cluster_simple.yaml

A basic multinode Kubernetes cluster with 1 control plane and 2 GPU worker nodes.

holodeck create -f examples/aws_cluster_simple.yaml --provision

7. HA Cluster (3 CP + Workers)

File: examples/aws_cluster_ha.yaml

A high-availability cluster with 3 control plane nodes for production workloads.

holodeck create -f examples/aws_cluster_ha.yaml --provision

8. Minimal Cluster (No GPU)

File: examples/aws_cluster_minimal.yaml

A minimal cluster configuration for testing without GPU instances.

holodeck create -f examples/aws_cluster_minimal.yaml --provision

See the Multinode Clusters Guide for detailed configuration options.


Source Configuration Examples

9. OS Auto-Detection

File: examples/aws_simple_os.yaml

Use the os field for automatic AMI resolution instead of specifying AMI IDs directly.

holodeck create -f examples/aws_simple_os.yaml

10. All Components Pinned

File: examples/all_pinned.yaml

Pin every component (driver, runtime, toolkit, Kubernetes) to exact versions for reproducible environments.

11. NVIDIA Driver from Git

File: examples/driver_git_source.yaml

Build the NVIDIA driver from source using open-gpu-kernel-modules. Useful for testing unreleased fixes or custom patches.

12. NVIDIA Driver from Runfile

File: examples/driver_runfile.yaml

Install the NVIDIA driver using the official .run installer.

13-15. CTK Source Examples

Files:

See the CTK Installation Sources Guide for detailed configuration options.

16-17. Container Runtime Source Examples

Files:

See the Container Runtime Sources Guide for all runtime options.

18. Custom Templates

File: examples/custom_templates.yaml

Run user-provided scripts at specific provisioning phases. This example shows inline scripts at pre-install, post-kubernetes, and post-install phases.

holodeck create -f examples/custom_templates.yaml

See the Custom Templates Guide for all source types (inline, file, URL) and configuration options.

19. ARM64 GPU Environment

File: examples/aws_arm64.yaml

An ARM64 GPU environment using g5g instances. Architecture is automatically inferred from the instance type — no need to set architecture: arm64 explicitly.

holodeck create -f examples/aws_arm64.yaml

Updated AWS Examples

The example configurations now show that ingressIpRanges is optional:

File: examples/aws_kubeadm.yaml

spec:
  provider: aws
  instance:
    type: g4dn.xlarge
    region: us-west-2
    # ingressIpRanges is now optional - your IP is detected automatically
    image:
      architecture: amd64

File: examples/aws_kind.yaml

spec:
  provider: aws
  instance:
    type: g4dn.xlarge
    region: eu-north-1
    # ingressIpRanges is now optional - your IP is detected automatically
    image:
      architecture: amd64

Benefits of Automated IP Detection

  • Simplified Configuration: No need to manually find and specify your public IP
  • Dynamic IP Support: Works with changing IP addresses (DHCP, mobile networks)
  • Reduced Errors: Eliminates "CIDR block malformed" errors
  • Better Security: Ensures only your current public IP has access

How to Use These Examples

  1. Copy the desired YAML file to your working directory (optional).

  2. Edit the file as needed (e.g., update region, instance type, image ID).

  3. Create the environment:

    holodeck create -f <your-config>.yaml
  4. Use holodeck list, holodeck status <instance-id>, and holodeck delete <instance-id> to manage your environment.


For more details on configuration options, see the Command Reference and Quick Start Guide.