Skip to content

cullenmcdermott/cloud-native-stack

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

942 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Cloud Native Stack

On Push CI On Tag Release Codecov Go Version Go Report Card License

Cloud Native Stack (CNS) provides validated configuration guidance for deploying GPU-accelerated Kubernetes infrastructure. It captures known-good combinations of software, configuration, and system requirements and makes them consumable as documentation and generated deployment artifacts.

Why We Built This

Running GPU-accelerated Kubernetes clusters reliably is hard. Small differences in kernel versions, drivers, container runtimes, operators, and Kubernetes releases can cause failures that are difficult to diagnose and expensive to reproduce.

Historically, this knowledge has lived in internal validation pipelines, playbooks, and tribal knowledge. Cloud Native Stack exists to externalize that experience. Its goal is to make validated configurations visible, repeatable, and reusable across environments.

What Cloud Native Stack Is (and Is Not)

Cloud Native Stack is a source of validated configuration knowledge for NVIDIA-accelerated Kubernetes environments.

It is:

  • A curated set of tested and validated component combinations
  • A reference for how NVIDIA-accelerated Kubernetes clusters are expected to be configured
  • A foundation for generating reproducible deployment artifacts
  • Designed to integrate with existing provisioning, CI/CD, and GitOps workflows

It is not:

  • A Kubernetes distribution
  • A cluster provisioning or lifecycle management system
  • A managed control plane or hosted service
  • A replacement for cloud provider or OEM platforms

How It Works

Cloud Native Stack separates validated configuration knowledge from how that knowledge is consumed.

  • Human-readable documentation lives under docs/.
  • Version-locked configuration definitions (“recipes”) capture known-good system states.
  • Those definitions can be rendered into concrete artifacts such as Helm values, Kubernetes manifests, or install scripts.- Recipes can be validated against actual system configurations to verify compatibility.

This separation allows the same validated configuration to be applied consistently across different environments and automation systems.

For example, a configuration validated for gb200 on Ubuntu 22.04 with Kubernetes 1.29 can be rendered into Helm values and manifests suitable for use in an existing GitOps pipeline.

Get Started

Some tooling and APIs are under active development; documentation reflects current and near-term capabilities.

Installation

macOS (Homebrew):

brew install mchmarny/cloud-native-stack/cnsctl

Linux/macOS (script):

curl -sfL https://raw.githubusercontent.com/nvidia/cloud-native-stack/refs/heads/main/install | bash -s --

See Installation Guide for manual installation, building from source, and container images.

Quick Start

Get started quickly with CNS:

  1. Review the documentation under docs/ to understand supported platforms and required components.
  2. Identify your target environment:
    • GPU architecture
    • Operating system and kernel
    • Kubernetes distribution and version
    • Workload intent (for example, training or inference)
  3. Apply the validated configuration guidance using your existing tools (Helm, kubectl, CI/CD, or GitOps).
  4. Validate and iterate as platforms and workloads evolve.

Get Started by Use Case

These use cases reflect common ways teams interact with Cloud Native Stack.

Platform and Infrastructure Operators

You are responsible for deploying and operating GPU-accelerated Kubernetes clusters.

  • Installation Guide – Install the cnsctl CLI (automated script, manual, or build from source)
  • CLI Reference – Complete command reference with examples
  • API Reference – Complete API reference with examples
  • Agent Deployment – Deploy the Kubernetes agent to get automated configuration snapshots
Developers and Contributors

You are contributing code, extending functionality, or working on CNS internals.

Integrators and Automation Engineers

You are integrating CNS into CI/CD pipelines, GitOps workflows, or a larger product or service.

Project Structure

  • api/ — OpenAPI specifications for the REST API
  • cmd/ — Entry points for CLI (cnsctl) and API server (cnsd)
  • deployments/ — Kubernetes manifests for agent deployment
  • docs/ — User-facing documentation, guides, and architecture docs
  • examples/ — Example snapshots, recipes, and comparisons
  • infra/ — Infrastructure as code (Terraform) for deployments
  • pkg/ — Core Go packages (collectors, recipe engine, bundlers, serializers)
  • tools/ — Build scripts, E2E testing, and utilities

Documentation & Resources

  • Documentation – Documentation, guides, and examples.
  • Roadmap – Feature priorities and development timeline
  • Overview - Detailed system overview and glossary
  • Security - Security-related resources
  • Releases - Binaries, SBOMs, and other artifacts
  • Issues - Bugs, feature requests, and questions

Contributing

Contributions are welcome. See contributing for development setup, contribution guidelines, and the pull request process.

About

Production-validated tooling and specifications for deploying, validating, and operating optimized AI workloads on GPU-accelerated Kubernetes

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Go 76.6%
  • XML 9.7%
  • Shell 5.0%
  • YAML 3.2%
  • Markdown 1.8%
  • OpenAPI Specification v3 1.7%
  • Other 2.0%