A Stack coordinates Apps or Argo CD Applications as one unit, including dependency ordering, health gates, shared parameters, and values passed between tasks.
Certified Stacks are tested vCluster Platform StackTemplates and supporting resources for multi-application integrations. vCluster Platform bundles the Certified resources from this repository. Each Platform release pins its own copy, while this repository contains the source manifests, generated artifacts, examples, tests, and implementation guidance used to build them.
Community Stacks are stacks created by customers, partners, community members and vCluster, which have been approved and merged into this repository. Unlike Certified stacks, they are not bundled with the Platform.
Important
This branch contains Certified Stacks built on the native Stacks API introduced with vCluster Platform 4.12. The earlier Terraform-based reference implementations remain available on the certified-stacks-legacy branch.
The Certified Stacks catalog currently contains these integrations:
| Integration | Deployment models | Components |
|---|---|---|
| NVIDIA Run:ai | Dedicated control plane and central control plane | vCluster, NVIDIA GPU components, and NVIDIA Run:ai |
| NVIDIA Dynamo | One runtime per tenant cluster or control plane cluster | NVIDIA Dynamo operator, NATS, and etcd |
| Saturn Cloud Enterprise | One installation per tenant cluster or control plane cluster | Saturn Cloud Helm operator and the Saturn Cloud Enterprise components it installs |
| NVIDIA NVKE management plane | One installation per tenant cluster, from your own NVKR release | Release verification, cert-manager, nktp, PostgreSQL, SPIRE, Temporal, and the NVKE controller |
For Run:ai, see NVIDIA Run:ai integration guide to choose a deployment model and understand its prerequisites.
If you want to install an existing Certified Stack, use the resources bundled with vCluster Platform instead of applying this repository's development sources. Platform exposes the templates through its catalog and keeps the bundled resources aligned with the installed Platform release.
Copy a bundled StackTemplate when you need to customize it. Give the copy a different name and remove the vcluster.com/certified annotation so its ownership and update behavior remain clear.
- See the README included in a Community stack (if present).
- Create a new Stack Template, then copy-and-paste the stacktemplate.yaml.
- Or apply the Stack's
apps/(Apps or ArgoCDApplicationTemplates), itsstacktemplate.yamland any supporting resources, such as NodeProfiles or a tenant cluster template, to the Platform management API as its README describes. See, for example, the OpenClaw install steps or the NVIDIA GPU Operator install steps.
A native Stack has three main parts:
- An App or ArgoCDApplicationTemplate defines each deployable application.
- A cluster-scoped StackTemplate defines the task graph, parameters, dependencies, health gates, and outputs.
- A project-scoped StackInstance applies the template to a tenant cluster or control plane cluster.
Start with the starter Stack to deploy a two-task example. Before you apply it, set the project namespace, owner, and tenant cluster name. The broader Create a Stack template guide documents the shipped task schema, validation rules, and output handling. Use the StackTemplate and StackInstance API references for individual fields.
Test against a non-production vCluster Platform 4.12 or later installation. Connect kubectl to the Platform management API, then apply the resources in dependency order:
vcluster platform connect management
kubectl apply -f <apps-directory>
kubectl apply -f <stack-template>
kubectl apply -f <stack-instance>Watch the StackInstance and its child resources until every task is healthy:
kubectl get stackinstance <name> -n <project-namespace> \
-o jsonpath='{.status.phase}{"\n"}{range .status.tasks[*]}{.name}{"\t"}{.phase}{"\t"}{.message}{"\n"}{end}'Before proposing a Stack for this catalog, test more than the initial installation:
- Validate required and optional parameters, including invalid input.
- Exercise each supported destination and deployment model.
- Confirm dependencies block and resume as expected when a child is unhealthy.
- Verify task outputs and published outputs, including sensitive values.
- Update parameters and referenced templates, then verify reconciliation.
- Remove a task under both
RetainandPrunepolicies when both behaviors apply. - Delete the StackInstance and document resources that intentionally remain.
- Test failure recovery and provide troubleshooting steps for integration-specific failures.
Do not commit credentials, tokens, private keys, or rendered Secrets. Use placeholders in examples and document how users provide sensitive values.
We welcome Community Stack contributions!
As a reminder, using the native API does not by itself make a Stack Certified. Certification means the integration has been reviewed, tested, and accepted into this catalog for automatic bundling with vCluster Platform. If you have interest in partnering with vCluster for a Certified Stack, please reach out.
Keep each integration in its own top-level directory. A contribution should include:
- A README for every supported Stack or deployment model, covering architecture, prerequisites, parameters, installation, verification, upgrades, removal, and known limitations.
- Every App or ArgoCDApplicationTemplate referenced by the StackTemplate.
- The StackTemplate and at least one example StackInstance or tenant cluster configuration.
- Automated checks for generated files and integration-specific invariants.
- Reproducible generation instructions when committed manifests are rendered from source files.
- Names that cannot collide with other cluster-scoped Apps or StackTemplates in the catalog.
Use the NVIDIA Run:ai implementation as the current full example. Its source/ directory is authoritative; the dedicated-control-plane/ and central-control-plane/ directories are generated and must not be edited directly. See the Run:ai contributor guide for its source-sharing and variant rules.
For Run:ai changes, render and verify the generated manifests from the repository root:
./certified-stacks/run-ai/render.sh
./certified-stacks/run-ai/render.sh --checkThe checks require Bash 4 or later, Python 3 with PyYAML, rg, and Helm. Review all generated changes before opening a pull request.
When you open a pull request, describe the integration and supported deployment models, identify the vCluster Platform version used for testing, and include the results of installation, update, failure-recovery, and removal tests. Call out resources that survive removal or require manual cleanup.
This repository is licensed under the Apache License 2.0.