cluster-toolkit
llms.txt370 starsChanged 13 days agoApache-2.0View on GitHub
Auto-generated by tools/catalog-gen. DO NOT EDIT MANUALLY. Regenerate with: go run ./tools/catalog-gen. Complete single-file schema of all blueprints in examples/ and community/examples/ and all embedded modules in modules/ and community/modules/.
In this repository5 other files it gives its agents.
- AGENTS.mdAGENTS.md
- llms.txtllms.txt
- cluster-blueprint-assistantSkill
- gke-kueue-debuggingSkill
- xpk-to-clustertoolkitSkill
The file
Files
# Google Cloud Cluster Toolkit (gcluster) — Full Blueprint & Module Reference (llms-full.txt)
> Auto-generated by `tools/catalog-gen`. DO NOT EDIT MANUALLY. Regenerate with: `go run ./tools/catalog-gen`.
> Complete single-file schema of all blueprints in `examples/` and `community/examples/` and all embedded modules in `modules/` and `community/modules/`.
## Essential Rules
1. **Install or build `./gcluster`:**
- Pre-built bundle (includes `./gcluster` and `examples/`): `mkdir -p cluster-toolkit && curl -L https://github.com/GoogleCloudPlatform/cluster-toolkit/releases/latest/download/gcluster_bundle_linux_amd64.tgz | tar -xz -C cluster-toolkit && cd cluster-toolkit`
- Source checkout: `git clone https://github.com/GoogleCloudPlatform/cluster-toolkit.git && cd cluster-toolkit && make`
2. **CLI Inspection (`./gcluster explain`):** `./gcluster explain`, `./gcluster explain <specs...>` (e.g. `./gcluster explain slurm a3u lustre`), or `./gcluster explain <blueprint_or_module_path>`.
3. **Customize via `deployment.yaml` (`-d`):** Pass overrides (`project_id`, `deployment_name`, `region`, `zone`, node counts, reservations) via `./gcluster deploy -d <deployment.yaml> <blueprint.yaml>`. Validate/expand without deploying via `./gcluster expand <blueprint.yaml> -d <deployment.yaml> -o expanded.yaml`. Never edit generated `.tf` files.
4. **Reservation Syntax in `deployment.yaml`:**
- **GKE (`reservation_affinity` in `examples/gke-a3-highgpu/gke-a3-highgpu.yaml`, `examples/gke-a3-megagpu/gke-a3-megagpu.yaml`, `examples/gke-a3-ultragpu/gke-a3-ultragpu.yaml`, `examples/gke-a4/gke-a4.yaml`, `examples/gke-g4/gke-g4.yaml`, `examples/gke-h4d/gke-h4d.yaml`, `examples/gke-tpu-7x/gke-tpu-7x-advanced.yaml`, `examples/gke-tpu-7x/gke-tpu-7x.yaml`, `examples/gke-tpu-v5p/gke-tpu-v5p.yaml`, `examples/gke-tpu-v6e/gke-tpu-v6e-advanced.yaml`, `examples/gke-tpu-v6e/gke-tpu-v6e.yaml`):** `reservation_affinity: {consume_reservation_type: SPECIFIC_RESERVATION, specific_reservations: [{name: <RESERVATION_NAME>}]}`
- **GKE blueprints using `reservation` (`examples/gke-a4x-max-bm/gke-a4x-max-bm.yaml`, `examples/gke-a4x/gke-a4x.yaml`, `examples/gke-g4-confidential/gke-g4-confidential.yaml`, `examples/gke-tpu-v4/gke-tpu-v4.yaml`, `examples/gke-tpu-v5e/gke-tpu-v5e.yaml`):** `reservation: <RESERVATION_NAME>`
- **Slurm / VM reservation variables (`<VAR>: <RESERVATION_NAME>`):** `a3_reservation_name` (`examples/machine-learning/a3-highgpu-8g/a3high-slurm-blueprint.yaml`), `a3mega_reservation_name` (`examples/machine-learning/a3-megagpu-8g/a3mega-slurm-blueprint.yaml`, `examples/machine-learning/a3-megagpu-8g/a3mega-slurm-gcsfuse-lssd-blueprint.yaml`), `a3u_reservation_name` (`examples/machine-learning/a3-ultragpu-8g/a3ultra-slurm-blueprint.yaml`, `examples/machine-learning/a3-ultragpu-8g/a3ultra-vm.yaml`), `a4h_reservation_name` (`examples/machine-learning/a4-highgpu-8g/a4high-slurm-blueprint.yaml`, `examples/machine-learning/a4-highgpu-8g/a4high-vm.yaml`), `a4x_max_reservation_name` (`examples/machine-learning/a4x-maxgpu-4g-metal/a4xmax-bm-slurm-blueprint.yaml`), `a4x_reservation_name` (`examples/machine-learning/a4x-highgpu-4g/a4xhigh-slurm-blueprint.yaml`), `compute_reservation_name` (`examples/ml-slurm-g4-vgpu.yaml`, `examples/ml-slurm-g4.yaml`), `h4d_reservation_name` (`examples/hpc-slurm-h4d/hpc-slurm-h4d.yaml`), `reservation_name` (`examples/h4d-vm.yaml`, `examples/machine-learning/a4x-highgpu-4g/a4x-vm.yaml`), `tpu_reservation_name` (`examples/machine-learning/tpu-v5e-v5p-v6e/tpu-slurm-blueprint.yaml`, `examples/machine-learning/tpu7x-standard-4t/tpu7x-slurm-blueprint.yaml`)
## 1. Blueprints Reference
### community/examples/AMD/hpc-amd-slurm.yaml (`hpc-amd-slurm-v6` | scheduler: `slurm` | machines: `c2d-standard-16, c2d-standard-4, c2d-standard-112`)
- **Description:** This example provisions a Slurm cluster using AMD VM machine types. It automates the initial setup of Spack, including a script that can be used to install the AMD Optimizing C/C++ Compiler (AOCC) and compile OpenMPI with AOCC. It is...
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com file.googleapis.com iam.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> community/examples/AMD/hpc-amd-slurm.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `compute_machine_type=c2d-standard-112`, `compute_node_count_dynamic_max=50`, `controller_machine_type=c2d-standard-4`, `deployment_name=amd-v6`, `login_machine_type=c2d-standard-16`, `lowcost_machine_type=c2d-standard-4`, `lowcost_node_count_dynamic_max=10`, `region=us-east4`, `spack_builder_machine_type=c2d-standard-16`, `zone=us-east4-c`
- **Modules (`id: source [use]`):** `network: modules/network/vpc`, `homefs: modules/file-system/filestore [network]`, `swfs: modules/file-system/filestore [network]`, `spack-setup: community/modules/scripts/spack-setup`, `spack-execute: community/modules/scripts/spack-execute [spack-setup]`, `spack-startup: modules/scripts/startup-script`, `slurm_startup: modules/scripts/startup-script`, `spack_builder: modules/compute/vm-instance [network, swfs, spack-startup]`, `low_cost_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network]`, `low_cost_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [low_cost_nodeset]`, `compute_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network]`, `compute_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [compute_nodeset]`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v6-login [network]`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [network, homefs, swfs, low_cost_partition, compute_partition, slurm_login]`
### community/examples/alphaevolve/alpha-evolve-experiment.yaml (`alpha-evolve-platform` | scheduler: `none` | machines: `n2-standard-4` | deployment: `community/examples/alphaevolve/alpha-evolve-deployment.yaml`)
- **Description:** Deploys the Google Cloud infrastructure and per-experiment software environments required to run scalable AlphaEvolve evolutionary code optimization experiments on Cloud Batch and Vertex AI Colab Enterprise.
- **APIs & Deploy:** `gcloud services enable cloudbuild.googleapis.com cloudresourcemanager.googleapis.com compute.googleapis.com iam.googleapis.com storage.googleapis.com` | `./gcluster deploy -d community/examples/alphaevolve/alpha-evolve-deployment.yaml community/examples/alphaevolve/alpha-evolve-experiment.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `accelerator_count=1`, `accelerator_type=nvidia-tesla-t4`, `base_evaluator_image=python:3.12-slim-bookworm`, `boot_disk_image=projects/debian-cloud/global/images/family/debian-12`, `cloud_build_dir=solutions/alphaevolve`, `cloud_build_path=$(ghpc_stage("./build/cloud-build.yaml.tfpl"))`, `cloud_build_service_account=$("${vars.infra_deployment_name}-build-sa@${vars.project_id}.iam.gserviceaccount.com")`, `concurrency=4`, `controller_service_account=$("${vars.infra_deployment_name}-ctrl-sa@${vars.project_id}.iam.gserviceaccount.com")`, `delete_succeeded_jobs=true`, `deployment_name=$("${vars.exp_deployment_name}-${vars.user_experiment_name}")`, `evaluation_machine_type=n2-standard-4`, `evaluation_mode=batch`, `evaluation_provisioning_model=STANDARD`, `example_dir=user_examples/adaptive_sort_cpp`, `existing_bucket_name=alpha-evolve-existing-bucket`, `exp_deployment_name=ae-exp`, `idle_timeout=5`, `infra_artifact_repo=$("${vars.infra_deployment_name}-repo")`, `infra_deployment_name=alpha-evolve-infra`, `is_example_dir_local=false`, `max_duration=6`, `max_duration_seconds=3600`, `max_programs_evaluated=20`, `max_programs_generated=100`, `model=gemini-3.8-flash`, `mount_path=/mnt/disks/share`, `num_samplers=4`, `poll_interval=4`, `programs_dir=program_candidates`, `region=us-central1`, `repo_ref=main`, `repo_url=https://github.com/GoogleCloudPlatform/hpc-solutions.git`, `user_experiment_name=experiment-1`
- **Modules (`id: source [use]`):** `validate-experiment: git::https://github.com/GoogleCloudPlatform/hpc-solutions.git//solutions/alphaevolve/infrastructure/modules/validate-experiment`, `artifact-repository: git::https://github.com/GoogleCloudPlatform/terraform-google-artifact-registry.git`, `evaluator-sa: modules/project/service-account`, `evaluator-bucket-iam: git::https://github.com/terraform-google-modules/terraform-google-iam.git//modules/storage_buckets_iam`, `evaluator-pubsub-iam: git::https://github.com/terraform-google-modules/terraform-google-iam.git//modules/pubsub_topics_iam`, `evaluator-sa-user-iam: git::https://github.com/terraform-google-modules/terraform-google-iam.git//modules/service_accounts_iam`, `cloud-build: community/modules/container/cloud-build`, `project-info: community/modules/project/pre-existing-project`, `experiment-subscription: git::https://github.com/terraform-google-modules/terraform-google-pubsub.git`, `subscription-iam: git::https://github.com/terraform-google-modules/terraform-google-iam.git//modules/pubsub_subscriptions_iam`, `stage-experiment-source: community/modules/file-system/gcs-sync`, `experiment-metadata: community/modules/project/project-metadata`, `experiment-env-file: community/modules/file-system/gcs-objects`, `show-instructions: git::https://github.com/GoogleCloudPlatform/hpc-solutions.git//solutions/alphaevolve/infrastructure/modules/show-instructions`
### community/examples/alphaevolve/alpha-evolve-infra.yaml (`alpha-evolve-platform` | scheduler: `none` | machines: `n2-standard-4` | deployment: `community/examples/alphaevolve/alpha-evolve-deployment.yaml`)
- **Description:** Deploys the Google Cloud infrastructure and per-experiment software environments required to run scalable AlphaEvolve evolutionary code optimization experiments on Cloud Batch and Vertex AI Colab Enterprise.
- **APIs & Deploy:** `gcloud services enable aiplatform.googleapis.com discoveryengine.googleapis.com iam.googleapis.com serviceusage.googleapis.com storage.googleapis.com` | `./gcluster deploy -d community/examples/alphaevolve/alpha-evolve-deployment.yaml community/examples/alphaevolve/alpha-evolve-infra.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id`, `runtime_user_email` | **defaults:** `assistant=default_assistant`, `base_url=discoveryengine.googleapis.com`, `colab_machine_type=n2-standard-4`, `colab_mount_path=/data`, `collection=default_collection`, `deployment_name=$(vars.infra_deployment_name)`, `engine=$("${vars.infra_deployment_name}-experiment-engine")`, `existing_bucket_name=alpha-evolve-existing-bucket`, `infra_artifact_repo=$("${vars.infra_deployment_name}-repo")`, `infra_deployment_name=alpha-evolve-infra`, `location=global`, `mount_path=/mnt/disks/share`, `pubsub_topic=$("${vars.infra_deployment_name}-batch-notifications")`, `region=us-central1`, `repo_ref=main`, `repo_url=https://github.com/GoogleCloudPlatform/hpc-solutions.git`
- **Modules (`id: source [use]`):** `apis: community/modules/project/service-enablement`, `create-batch-identity: community/modules/project/service-agent`, `artifact-repository: git::https://github.com/GoogleCloudPlatform/terraform-google-artifact-registry.git`, `cloud-build-sa: modules/project/service-account`, `controller-sa: modules/project/service-account`, `bucket-iam: git::https://github.com/terraform-google-modules/terraform-google-iam.git//modules/storage_buckets_iam`, `pubsubs: git::https://github.com/terraform-google-modules/terraform-google-pubsub.git`, `pubsub-iam: git::https://github.com/terraform-google-modules/terraform-google-iam.git//modules/pubsub_topics_iam`, `discovery-engine: community/modules/ai/discovery-engine`, `infra-env-file: community/modules/file-system/gcs-objects`, `stage-infra-files: community/modules/file-system/gcs-sync`, `compute-colab: community/modules/compute/colab`
### community/examples/apptainer-artifact-registry-openfoam.yaml (`apptainer-artifact-registry-openfoam` | scheduler: `none` | machines: `e2-standard-4`)
- **Description:** This blueprint demonstrates staging and running an Apptainer SIF image through the apptainer-runtime and apptainer-app modules, backed by an artifact-registry repository configured as a REMOTE_REPOSITORY pull-through cache mirroring...
- **APIs & Deploy:** `gcloud services enable artifactregistry.googleapis.com cloudbuild.googleapis.com compute.googleapis.com iam.googleapis.com secretmanager.googleapis.com serviceusage.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> community/examples/apptainer-artifact-registry-openfoam.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `deployment_name=apptainer-ar-openfoam`, `openfoam_app_id=openfoam`, `openfoam_display_name=OpenFOAM`, `openfoam_entrypoint=bash`, `openfoam_entrypoint_args=[-c, $("source /usr/lib/openfoam/openfoam${vars.openfoam_image_tag}/etc/bashrc && exec \"$@\""), openfoam]`, `openfoam_image_tag=2406`, `openfoam_smoke_test_runners=[{content: $("#!/bin/bash\nset -euo...`, `openfoam_upstream_image=opencfd/openfoam-default`, `prereq_runners=[{content: #!/bin/bash set -euo pipefail dnf install -y epel-release dnf install -y environment-modules...`, `region=us-central1`, `shared_root=/shared`, `vm_machine_type=e2-standard-4`, `zone=us-central1-a`
- **Modules (`id: source [use]`):** `enable_apis: community/modules/project/service-enablement`, `network: modules/network/vpc`, `hpc_service_account: modules/project/service-account`, `appsfs: community/modules/file-system/nfs-server [network]`, `openfoam_registry: community/modules/container/artifact-registry`, `apptainer-runtime: community/modules/container/apptainer-runtime [appsfs]`, `shared-app: community/modules/container/apptainer-app [appsfs]`, `app-startup: modules/scripts/startup-script`, `vm: modules/compute/vm-instance [network, appsfs, app-startup, hpc_service_account]`, `wait: community/modules/scripts/wait-for-startup`
### community/examples/client-google-cloud-storage.yaml (`cloud-storage-example` | scheduler: `none` | machines: `n2d-standard-2`)
- **Description:** This example demonstrates several different ways to use Google Cloud Storage (GCS) buckets in the Cluster Toolkit. There are two buckets referenced in the example:
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> community/examples/client-google-cloud-storage.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `client_machine_type=n2d-standard-2`, `deployment_name=gcs-01`, `existing_bucket_name=replace-with-name-of-existing-bucket`, `region=us-central1`, `zone=us-central1-a`
- **Modules (`id: source [use]`):** `network1: modules/network/vpc`, `new-bucket: modules/file-system/cloud-storage-bucket`, `existing-bucket: modules/file-system/pre-existing-network-storage`, `workstation: modules/compute/vm-instance [network1, new-bucket, existing-bucket]`, `wait: community/modules/scripts/wait-for-startup`
### community/examples/cloud-build/cloud-build-remote.yaml (`cloud-build-demo` | scheduler: `none` | machines: `-`)
- **Description:** Demonstrates how to use the artifact-registry and cloud-build community modules to create a Docker repository in Artifact Registry and build a container image (AlphaFold 3) directly from a remote GitHub repository using Cloud Build.
- **APIs & Deploy:** `gcloud services enable artifactregistry.googleapis.com cloudbuild.googleapis.com secretmanager.googleapis.com` | `./gcluster deploy -d <deployment.yaml> community/examples/cloud-build/cloud-build-remote.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `af3_version=v3.0.4`, `deployment_name=af3-msa`, `region=us-central1`
- **Modules (`id: source [use]`):** `artifact-repository: community/modules/container/artifact-registry`, `build-af3: community/modules/container/cloud-build`
### community/examples/eda/eda-all-on-cloud.yaml (`eda-all-on-cloud` | scheduler: `slurm` | machines: `h4d-highmem-192-lssd`)
- **Description:** Creates a basic auto-scaling Slurm cluster intended for EDA use cases. The blueprint also creates two new VPC networks, a network called eda-net which connects VMs, Slurm and storage and a RDMA network called eda-rdma-net between the...
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com dns.googleapis.com iam.googleapis.com netapp.googleapis.com servicenetworking.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> community/examples/eda/eda-all-on-cloud.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `deployment_name=eda-all-on-cloud`, `h4d_node_count_dynamic_max=0`, `h4d_node_count_static=1`, `homefs_capacity_gib=1024`, `libraryfs_capacity_gib=1024`, `login_machine_type=n2-standard-4`, `netapp_pool_capacity_gib=4096`, `pool_service_level=EXTREME`, `rdma_net_range=192.168.128.0/18`, `region=us-central1`, `scratchfs_capacity_gib=1024`, `toolsfs_capacity_gib=1024`, `zone=us-central1-a`
- **Modules (`id: source [use]`):** `eda-net: modules/network/vpc`, `eda-rdma-net: modules/network/vpc`, `private_service_access: modules/network/private-service-access [eda-net]`, `gcnv_dns_zone: modules/network/dns-managed-zone`, `netapp_pool: modules/file-system/netapp-storage-pool [eda-net, private_service_access]`, `toolsfs: modules/file-system/netapp-volume [netapp_pool]`, `libraryfs: modules/file-system/netapp-volume [netapp_pool]`, `homefs: modules/file-system/netapp-volume [netapp_pool]`, `scratchfs: modules/file-system/netapp-volume [netapp_pool]`, `h4d_startup: modules/scripts/startup-script`, `h4d_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [h4d_startup, eda-net, homefs, toolsfs, libraryfs, scratchfs]`, `h4d_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [h4d_nodeset]`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v6-login [eda-net]`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [eda-net, h4d_partition, slurm_login, homefs, toolsfs, libraryfs, scratchfs]`
### community/examples/eda/eda-hybrid-cloud.yaml (`eda-hybrid-cloud` | scheduler: `slurm` | machines: `h4d-highmem-192-lssd`)
- **Description:** Creates a basic auto-scaling Slurm cluster intended for EDA use cases. The blueprint also connects to one existing user network which connects VMs, Slurm and storage and creates a RDMA network called eda-rdma-net for low latency...
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com dns.googleapis.com iam.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> community/examples/eda/eda-hybrid-cloud.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `homefs_server_ips`, `libraryfs_server_ips`, `project_id`, `scratchfs_server_ips`, `toolsfs_server_ips` | **defaults:** `deployment_name=eda-hybrid-cloud`, `gcnv_dns_name=gcnv.internal`, `h4d_node_count_dynamic_max=0`, `h4d_node_count_static=1`, `login_machine_type=n2-standard-4`, `network=default`, `rdma_net_range=192.168.128.0/18`, `region=us-central1`, `zone=us-central1-a`
- **Modules (`id: source [use]`):** `eda-net: modules/network/pre-existing-vpc`, `firewall-rule-frontend: modules/network/firewall-rules [eda-net]`, `eda-rdma-net: modules/network/vpc`, `gcnv_dns_zone: modules/network/dns-managed-zone`, `toolsfs: modules/file-system/pre-existing-network-storage`, `libraryfs: modules/file-system/pre-existing-network-storage`, `homefs: modules/file-system/pre-existing-network-storage`, `scratchfs: modules/file-system/pre-existing-network-storage`, `h4d_startup: modules/scripts/startup-script`, `h4d_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [h4d_startup, eda-net, homefs, toolsfs, libraryfs, scratchfs]`, `h4d_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [h4d_nodeset]`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v6-login [eda-net]`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [eda-net, h4d_partition, slurm_login, homefs, toolsfs, libraryfs, scratchfs]`
### community/examples/flux-framework/flux-cluster.yaml (`flux-fw-cluster` | scheduler: `flux` | machines: `n2d-standard-8`)
- **Description:** The flux-cluster.yaml blueprint describes a flux-framework cluster where flux is deployed as the native resource manager.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com file.googleapis.com` | `./gcluster deploy -d <deployment.yaml> community/examples/flux-framework/flux-cluster.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `deployment_name=flux-fw-cluster`, `manager_machine_type=n2d-standard-8`, `region=us-central1`, `zone=us-central1-a`
- **Modules (`id: source [use]`):** `flux-net: modules/network/vpc`, `homefs: modules/file-system/filestore [flux-net]`, `fluxfw-gcp: github.com/GoogleCloudPlatform/scientific-computing-examples//fluxfw-gcp/tf?ref=cb36377`
### community/examples/fsi-montecarlo-on-batch.yaml (`fsi-montecarlo-on-batch` | scheduler: `batch` | machines: `n1-standard-4`)
- **Description:** This blueprint will take you through a tutorial on an FSI Value at Risk calculation using Cloud tools:
- **APIs & Deploy:** `gcloud services enable bigquery.googleapis.com notebooks.googleapis.com pubsub.googleapis.com serviceusage.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> community/examples/fsi-montecarlo-on-batch.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `deployment_name=fsimontecarlo`, `notebook_machine_type=n1-standard-4`, `region=us-central1`, `zone=us-central1-a`
- **Modules (`id: source [use]`):** `enable_apis: community/modules/project/service-enablement`, `fsi_bucket: modules/file-system/cloud-storage-bucket`, `pubsub_topic: community/modules/pubsub/topic`, `bq-dataset: community/modules/database/bigquery-dataset`, `bq-table: community/modules/database/bigquery-table [bq-dataset]`, `fsi_notebook: community/modules/compute/notebook [fsi_bucket]`, `fsi_tutorial_files: community/modules/files/fsi-montecarlo-on-batch [bq-dataset, bq-table, fsi_bucket, pubsub_topic]`, `bq_subscription: community/modules/pubsub/bigquery-sub [bq-table, pubsub_topic]`
### community/examples/fsi/ibm-symphony-on-gce/symphony.yaml (`ibm-symphony` | scheduler: `none` | machines: `c2-standard-30, c2-standard-4`)
- **Description:** This project provides a blueprint for deploying an IBM Spectrum Symphony cluster on Google Cloud Platform using the Google Cloud Cluster Toolkit. The blueprint automates infrastructure provisioning, custom base image creation via...
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com logging.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> community/examples/fsi/ibm-symphony-on-gce/symphony.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id`, `service_account_email` | **defaults:** `admin_password_secret=$("${vars.deployment_name}-admin-password")`, `base_image={family: rocky-linux-9-optimized-gcp, project: rocky-linux-cloud}`, `deployment_name=symphony1`, `disk_size_gb=200`, `metadata={VmDnsSetting: GlobalOnly}`, `new_image={family: $(vars.deployment_name), project: $(vars.project_id)}`, `pubsub_subscription=hf-gce-vm-events-sub`, `pubsub_topic=hf-gce-vm-events`, `region=us-central1`, `sink_name=hf-gce-vm-events-sink`, `sym_entitlement=sym_adv_entitlement.dat`, `sym_fixpack=sym-7.3.2.0_x86_64_build601711.tar.gz`, `sym_installer=sym-7.3.2.0_x86_64.bin`, `sym_source_bucket=<YOUR_GCS_BUCKET_NAME>`, `symphony_install_dir=/opt/ibm/spectrumcomputing`, `zone=us-central1-a`
- **Modules (`id: source [use]`):** `verify_admin_password_secret: community/modules/scripts/gcloud`, `network: modules/network/vpc`, `destination_pubsub: git::https://github.com/terraform-google-modules/terraform-google-log-export.git//modules/pubsub?ref=v11.1.0`, `sink: git::https://github.com/terraform-google-modules/terraform-google-log-export.git?ref=v11.1.0`, `pubsub: git::https://github.com/terraform-google-modules/terraform-google-pubsub.git?ref=v8.8.0`, `sa_roles: git::https://github.com/terraform-google-modules/terraform-google-iam.git//modules/member_iam?ref=v8.3.0`, `script: modules/scripts/startup-script`, `sym-compute-script: modules/scripts/startup-script`, `custom-image: modules/packer/custom-image [network, script]`, `sym-mig-c2-30: git::https://github.com/terraform-google-modules/terraform-google-vm.git//modules/instance_template?ref=v15.3.0 [sym-compute-script]`, `sym-mig-c2-4: git::https://github.com/terraform-google-modules/terraform-google-vm.git//modules/instance_template?ref=v15.3.0 [sym-compute-script]`, `sym-mig-4: community/modules/compute/mig`, `sym-mig-30: community/modules/compute/mig`, `sym-master-script: modules/scripts/startup-script`, `sym-master-vm: modules/compute/vm-instance [sym-master-script, network]`, `sym-compute-vm: modules/compute/vm-instance [sym-compute-script, network]`
### community/examples/fsi/ibm-symphony-on-gke/symphony.yaml (`ibm-symphony-gke` | scheduler: `gke` | machines: `c2-standard-16, c2-standard-4`)
- **Description:** This project provides a blueprint for deploying an IBM Spectrum Symphony cluster on Google Cloud Platform using the Google Cloud Cluster Toolkit and Google Kubernetes Engine (GKE). The blueprint automates infrastructure provisioning...
- **APIs & Deploy:** `gcloud services enable artifactregistry.googleapis.com cloudbuild.googleapis.com compute.googleapis.com container.googleapis.com iam.googleapis.com logging.googleapis.com secretmanager.googleapis.com serviceusage.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> community/examples/fsi/ibm-symphony-on-gke/symphony.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `admin_password_secret=$("${vars.deployment_name}-admin-password")`, `authorized_cidr=0.0.0.0/0`, `base_image={family: rocky-linux-9-optimized-gcp, project: rocky-linux-cloud}`, `deployment_name=symphony-gke`, `disk_size_gb=200`, `gke_max_node_count=100`, `gke_min_node_count=3`, `gke_node_machine_type=c2-standard-16`, `metadata={VmDnsSetting: GlobalOnly}`, `new_image={family: $(vars.deployment_name), project: $(vars.project_id)}`, `region=us-central1`, `sym_entitlement=sym_adv_entitlement.dat`, `sym_fixpack=sym-7.3.2.0_x86_64_build601711.tar.gz`, `sym_installer=sym-7.3.2.0_x86_64.bin`, `sym_source_bucket=<YOUR_GCS_BUCKET_NAME>`, `symphony_install_dir=/opt/ibm/spectrumcomputing`, `zone=us-central1-c`
- **Modules (`id: source [use]`):** `verify_admin_password_secret: community/modules/scripts/gcloud`, `enable_apis: community/modules/project/service-enablement`, `network: modules/network/vpc`, `sym_master_sa: modules/project/service-account`, `registry: community/modules/container/artifact-registry`, `packer-script: modules/scripts/startup-script`, `custom-image: modules/packer/custom-image [network, packer-script]`, `gke_node_pool_sa: modules/project/service-account`, `gke_cluster: modules/scheduler/gke-cluster [network, gke_node_pool_sa]`, `gke_compute_pool: modules/compute/gke-node-pool [gke_cluster, gke_node_pool_sa]`, `symphony_operator_install: modules/management/kubectl-apply [gke_cluster]`, `sym-master-script: modules/scripts/startup-script`, `sym-master-vm: modules/compute/vm-instance [sym-master-script, network, sym_master_sa]`
### community/examples/gcloud-example.yaml (`gcloud-example` | scheduler: `none` | machines: `-`)
- **Description:** This blueprint demonstrates how to use the gcloud community module to run arbitrary gcloud commands during deployment and destroy. It shows an example of creating and deleting a network, subnet, and VM instance.
- **APIs & Deploy:** none | `./gcluster deploy -d <deployment.yaml> community/examples/gcloud-example.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `deployment_name=gcloud-test`, `region=us-central1`, `zone=us-central1-a`
- **Modules (`id: source [use]`):** `gcloud_commands: community/modules/scripts/gcloud`
### community/examples/hpc-build-slurm-image.yaml (`hpc-build-slurm-image` | scheduler: `slurm` | machines: `n2d-standard-2`)
- **Description:** This blueprint demonstrates how to use Cluster Toolkit to build a Slurm image on top of an existing image, hpc-rocky-linux-9 in the case of this example.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com iam.googleapis.com logging.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> community/examples/hpc-build-slurm-image.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `build_from_git_ref=6.13.2`, `build_from_image_family=hpc-rocky-linux-9`, `build_from_image_project=cloud-hpc-image-public`, `built_image_family=my-custom-slurm`, `built_instance_image={family: $(vars.built_image_family), project: $(vars.project_id)}`, `compute_machine_type=n2d-standard-2`, `controller_machine_type=n2d-standard-4`, `deployment_name=build-slurm-1`, `image_build_machine_type=n2d-standard-16`, `region=us-central1`, `zone=us-central1-a`
- **Modules (`id: source [use]`):** `network: modules/network/vpc`, `slurm-build-script: modules/scripts/startup-script`, `slurm-custom-image: modules/packer/custom-image [network, slurm-build-script]`, `debug_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network]`, `debug_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [debug_nodeset]`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [network, debug_partition]`
### community/examples/hpc-slinky/hpc-slinky.yaml (`hpc-slinky` | scheduler: `slurm-on-gke (slinky)` | machines: `n2d-standard-8, h3-standard-88`)
- **Description:** The SchedMD Slinky Project deploys Slurm on Kubernetes. Slinky is particularly useful for: 1. Those with a prefer a Slurm workload management paradigm, but a cloud-native operational experience 2. Those who want the flexibility of...
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com container.googleapis.com iam.googleapis.com` | `./gcluster deploy -d <deployment.yaml> community/examples/hpc-slinky/hpc-slinky.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `authorized_cidr`, `project_id` | **defaults:** `base_pool_machine_type=n2d-standard-8`, `base_pool_size=2`, `compute_nodeset_replicas=2`, `compute_pool_machine_type=h3-standard-88`, `compute_pool_size=2`, `debug_nodeset_replicas=2`, `deployment_name=slinky-01`, `exporter_pod_monitoring_path=$(ghpc_stage("./exporter-pod-monitoring.yaml"))`, `gcp_public_cidrs_access_enabled=false`, `login_rootSshAuthorizedKeys=[]`, `region=us-central1`, `zones=[us-central1-a]`
- **Modules (`id: source [use]`):** `network: modules/network/vpc`, `node_pool_service_account: modules/project/service-account`, `workload_service_account: modules/project/service-account`, `gke_cluster: modules/scheduler/gke-cluster [network, workload_service_account]`, `base_pool: modules/compute/gke-node-pool [gke_cluster, node_pool_service_account]`, `compute_pool: modules/compute/gke-node-pool [gke_cluster, node_pool_service_account]`, `slinky: community/modules/scheduler/slinky [gke_cluster, base_pool]`, `slurm_exporter_monitoring: modules/management/kubectl-apply [gke_cluster]`
### community/examples/hpc-slurm-google-cloud-dedicated/eda/eda-gcd-cluster.yaml (`eda-gcd-cluster` | scheduler: `slurm` | machines: `c3-standard-8, c3-standard-176`)
- **Description:** This directory provides a Cluster Toolkit (gcluster) blueprint (eda-gcd-cluster.yaml) and end-to-end Electronic Design Automation (EDA) workload examples for Google Cloud Dedicated (GCD) environments (*.apis-<location>.goog):
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com iam.googleapis.com logging.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> community/examples/hpc-slurm-google-cloud-dedicated/eda/eda-gcd-cluster.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id`, `service_account_email` | **defaults:** `authorized_ssh_ranges=[]`, `build_slurm_from_git_ref=6.12.3`, `built_instance_image={family: slurm-rocky9-eda, project: $(vars.project_id)}`, `compute_machine_type=c3-standard-176`, `deployment_name=eda-gcd-cluster`, `image_build_machine_type=c3-standard-4`, `nfs_disk_size_gb=2048`, `nfs_machine_type=c3-standard-8`, `nfs_provisioned_iops=10000`, `nfs_provisioned_throughput=400`, `node_count_dynamic_max=16`, `node_count_static=0`, `region=us-central1`, `source_image_family=rocky-linux-9-optimized-gcp`, `source_image_project=rocky-linux-cloud`, `universe_domain=googleapis.com`, `zone=us-central1-a`
- **Modules (`id: source [use]`):** `network: modules/network/vpc`, `slurm_build_script: modules/scripts/startup-script`, `custom_slurm_image: modules/packer/custom-image [network, slurm_build_script]`, `homefs: community/modules/file-system/nfs-server [network]`, `ssh_config: modules/scripts/startup-script`, `login_startup: modules/scripts/startup-script`, `c3_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network, ssh_config]`, `c3_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [c3_nodeset]`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v6-login [network, login_startup]`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [network, c3_partition, homefs, slurm_login]`
### community/examples/hpc-slurm-google-cloud-dedicated/hpc-slurm-google-cloud-dedicated.yaml (`hpc-c3-slurm-google-cloud-dedicated` | scheduler: `slurm` | machines: `c3-standard-4, c3-standard-176`)
- **Description:** Creates a Slurm cluster on C3 machine types for Google Cloud Dedicated (GCD) and sovereign cloud environments using Packer to pre-build a custom Slurm image based on Rocky Linux 8, configured with NFS home directories, SAuth...
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com iam.googleapis.com logging.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> community/examples/hpc-slurm-google-cloud-dedicated/hpc-slurm-google-cloud-dedicated.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `build_slurm_from_git_ref=6.13.2`, `built_instance_image={family: slurm-rocky9, project: $(vars.project_id)}`, `compute_machine_type=c3-standard-176`, `compute_node_count_dynamic_max=0`, `compute_node_count_static=2`, `deployment_name=hpc-slurm`, `homefs_disk_size=100`, `image_build_machine_type=c3-standard-4`, `region=us-central1`, `service_account_email=default`, `source_image_family=rocky-linux-9-optimized-gcp`, `source_image_project=rocky-linux-cloud`, `universe_domain=googleapis.com`, `zone=us-central1-a`
- **Modules (`id: source [use]`):** `network: modules/network/pre-existing-vpc`, `slurm-build-script: modules/scripts/startup-script`, `custom-slurm-image: modules/packer/custom-image [network, slurm-build-script]`, `homefs: community/modules/file-system/nfs-server [network]`, `ssh_config: modules/scripts/startup-script`, `c3_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network, ssh_config]`, `c3_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [c3_nodeset]`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v6-login [network, ssh_config]`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [network, c3_partition, homefs, slurm_login]`
### community/examples/hpc-slurm-google-cloud-dedicated/hybrid-slurm-cluster/burst-cluster.yaml (`burst-cluster` | scheduler: `slurm` | machines: `c3-standard-176`)
- **Description:** This directory contains the blueprints, playbooks, test scripts, and architecture for demonstrating Multi-Cluster Slurm with Elastic Cloud Bursting between two autonomous projects in Google Cloud Dedicated (GCD) environments (e.g...
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com iam.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> community/examples/hpc-slurm-google-cloud-dedicated/hybrid-slurm-cluster/burst-cluster.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `nfs_server_ip`, `project_id`, `service_account_email` | **defaults:** `authorized_ssh_ranges=[]`, `built_instance_image={family: slurm-rocky9, project: $(vars.project_id)}`, `compute_machine_type=c3-standard-176`, `compute_node_count_dynamic_max=16`, `compute_node_count_static=0`, `deployment_name=burst-cluster`, `image_build_machine_type=c3-standard-4`, `primary_controller_ip=""`, `region=us-central1`, `universe_domain=googleapis.com`, `zone=us-central1-a`
- **Modules (`id: source [use]`):** `network: modules/network/vpc`, `homefs: modules/file-system/pre-existing-network-storage`, `appsfs: modules/file-system/pre-existing-network-storage`, `ssh_config: modules/scripts/startup-script`, `burst_b_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network, ssh_config]`, `burst_b_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [burst_b_nodeset]`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v6-login [network, ssh_config]`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [network, burst_b_partition, homefs, appsfs, slurm_login]`
### community/examples/hpc-slurm-google-cloud-dedicated/hybrid-slurm-cluster/primary-cluster.yaml (`primary-cluster` | scheduler: `slurm` | machines: `c3-standard-4, c3-standard-176`)
- **Description:** This directory contains the blueprints, playbooks, test scripts, and architecture for demonstrating Multi-Cluster Slurm with Elastic Cloud Bursting between two autonomous projects in Google Cloud Dedicated (GCD) environments (e.g...
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com iam.googleapis.com logging.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> community/examples/hpc-slurm-google-cloud-dedicated/hybrid-slurm-cluster/primary-cluster.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id`, `service_account_email` | **defaults:** `authorized_ssh_ranges=[]`, `build_slurm_from_git_ref=6.12.1`, `built_instance_image={family: slurm-rocky9, project: $(vars.project_id)}`, `compute_machine_type=c3-standard-176`, `compute_node_count_dynamic_max=16`, `compute_node_count_static=1`, `deployment_name=primary-cluster`, `homefs_disk_size=100`, `image_build_machine_type=c3-standard-4`, `region=us-central1`, `source_image_family=rocky-linux-9-optimized-gcp`, `source_image_project=rocky-linux-cloud`, `universe_domain=googleapis.com`, `zone=us-central1-a`
- **Modules (`id: source [use]`):** `network: modules/network/vpc`, `slurm-build-script: modules/scripts/startup-script`, `custom-slurm-image: modules/packer/custom-image [network, slurm-build-script]`, `homefs: community/modules/file-system/nfs-server [network]`, `ssh_config: modules/scripts/startup-script`, `compute_a_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network, ssh_config]`, `compute_a_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [compute_a_nodeset]`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v6-login [network, ssh_config]`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [network, compute_a_partition, homefs, slurm_login]`
### community/examples/hpc-slurm-gromacs.yaml (`hpc-slurm-gromacs` | scheduler: `slurm` | machines: `-`)
- **Description:** Spack is an HPC software package manager. This example creates a small Slurm cluster with software installed using the spack-setup and spack-execute modules. The controller will install and configure spack, and install gromacs using...
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com file.googleapis.com iam.googleapis.com servicenetworking.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> community/examples/hpc-slurm-gromacs.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `compute_node_count_dynamic_max=20`, `deployment_name=hpc-slurm-gromacs`, `region=us-central1`, `zone=us-central1-c`
- **Modules (`id: source [use]`):** `network: modules/network/vpc`, `private_service_access: modules/network/private-service-access [network]`, `appsfs: modules/file-system/filestore [network, private_service_access]`, `homefs: modules/file-system/filestore [network, private_service_access]`, `spack-setup: community/modules/scripts/spack-setup`, `spack-execute: community/modules/scripts/spack-execute [spack-setup]`, `script: modules/scripts/startup-script`, `compute_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network]`, `compute_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [compute_nodeset]`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v6-login [network]`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [network, compute_partition, slurm_login, homefs, appsfs]`
### community/examples/hpc-slurm-ha-lb.yaml (`hpcslurmlb` | scheduler: `slurm` | machines: `n1-standard-2`)
- **Description:** Creates a highly available (HA) Slurm cluster fronted by an internal regional Application Load Balancer (community/modules/network/int-app-lb) for the Slurm REST API (slurmrestd), alongside a Cloud SQL accounting database and shared...
- **APIs & Deploy:** `gcloud services enable bigqueryconnection.googleapis.com compute.googleapis.com file.googleapis.com iam.googleapis.com servicenetworking.googleapis.com sqladmin.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> community/examples/hpc-slurm-ha-lb.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `compute_machine_type=n1-standard-2`, `compute_node_count_dynamic_max=4`, `compute_node_count_static=0`, `controller_fs_size_gb=1024`, `controller_machine_type=n1-standard-2`, `deployment_name=hpcslurmlb`, `enable_slurm_auth=true`, `homefs_size_gb=1024`, `login_machine_type=n1-standard-2`, `login_num_instances=1`, `region=us-central1`, `zone=us-central1-a`
- **Modules (`id: source [use]`):** `controller_sa: modules/project/service-account`, `login_sa: modules/project/service-account`, `compute_sa: modules/project/service-account`, `network: modules/network/vpc`, `home_fs: modules/file-system/filestore`, `login_nodes: community/modules/scheduler/schedmd-slurm-gcp-v6-login`, `compute_nodes: community/modules/compute/schedmd-slurm-gcp-v6-nodeset`, `debug_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [compute_nodes]`, `controller_fs: modules/file-system/filestore`, `slurm_db: community/modules/database/slurm-cloudsql-federation`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [debug_partition]`, `slurm_api_lb: community/modules/network/int-app-lb [network]`
### community/examples/hpc-slurm-ha.yaml (`hpcslurmha` | scheduler: `slurm` | machines: `n1-standard-2`)
- **Description:** Creates a highly available (HA) Slurm cluster. This setup includes a primary controller and a backup controller to ensure control plane resilience. If the primary controller instance fails, the Slurm services can be failed over to the...
- **APIs & Deploy:** `gcloud services enable bigqueryconnection.googleapis.com compute.googleapis.com file.googleapis.com iam.googleapis.com servicenetworking.googleapis.com sqladmin.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> community/examples/hpc-slurm-ha.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `compute_machine_type=n1-standard-2`, `compute_node_count_dynamic_max=4`, `compute_node_count_static=0`, `controller_fs_size_gb=1024`, `controller_machine_type=n1-standard-2`, `deployment_name=hpcslurmha`, `homefs_size_gb=1024`, `login_machine_type=n1-standard-2`, `login_num_instances=1`, `region=us-central1`, `zone=us-central1-a`
- **Modules (`id: source [use]`):** `controller_sa: modules/project/service-account`, `login_sa: modules/project/service-account`, `compute_sa: modules/project/service-account`, `network: modules/network/vpc`, `home_fs: modules/file-system/filestore`, `debug_nodes: community/modules/scheduler/schedmd-slurm-gcp-v6-login`, `compute_nodes: community/modules/compute/schedmd-slurm-gcp-v6-nodeset`, `debug_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [compute_nodes]`, `controller_fs: modules/file-system/filestore`, `slurm_db: community/modules/database/slurm-cloudsql-federation`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [debug_partition]`
### community/examples/hpc-slurm-kms.yaml (`hpc-slurm-kms` | scheduler: `slurm` | machines: `n2-standard-2, h3-standard-88`)
- **Description:** Creates a Slurm cluster with Customer-Managed Encryption Keys (CMEK) enabled for controller, login, and compute nodesets, as well as the Slurm configuration GCS bucket.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com file.googleapis.com iam.googleapis.com servicenetworking.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> community/examples/hpc-slurm-kms.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `compute_node_count_dynamic_max=20`, `debug_machine_type=n2-standard-2`, `debug_node_count_dynamic_max=4`, `deployment_name=hpc-slurm-kms`, `h3_node_count_dynamic_max=20`, `kms_key=projects/my-project/locations/us-central1/keyRings/my-keyring/cryptoKeys/my-key`, `kms_service_account=my-sa@my-project.iam.gserviceaccount.com`, `login_machine_type=n2-standard-4`, `region=us-central1`, `zone=us-central1-a`
- **Modules (`id: source [use]`):** `network: modules/network/vpc`, `private_service_access: modules/network/private-service-access [network]`, `homefs: modules/file-system/filestore [network, private_service_access]`, `debug_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network]`, `debug_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [debug_nodeset]`, `compute_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network]`, `compute_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [compute_nodeset]`, `h3_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network]`, `h3_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [h3_nodeset]`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v6-login [network]`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [network, debug_partition, compute_partition, h3_partition, homefs, slurm_login]`
### community/examples/hpc-slurm-local-ssd.yaml (`hpc-slurm-local-ssd-v6` | scheduler: `slurm` | machines: `c2-standard-4`)
- **Description:** This blueprint demonstrates the use of Slurm and Filestore, with compute nodes that have local ssd drives deployed.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com file.googleapis.com iam.googleapis.com servicenetworking.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> community/examples/hpc-slurm-local-ssd.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `compute_machine_type=c2-standard-4`, `compute_node_count_dynamic_max=5`, `compute_node_count_static=0`, `controller_machine_type=n1-standard-4`, `deployment_name=hpc-localssd`, `login_machine_type=n1-standard-4`, `region=us-central1`, `zone=us-central1-a`
- **Modules (`id: source [use]`):** `network: modules/network/vpc`, `private_service_access: modules/network/private-service-access [network]`, `homefs: modules/file-system/filestore [network, private_service_access]`, `startup: modules/scripts/startup-script`, `nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network, startup]`, `partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [nodeset]`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v6-login [network]`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [network, homefs, partition, slurm_login]`
### community/examples/hpc-slurm-ramble-gromacs.yaml (`hpc-slurm-ramble-gromacs` | scheduler: `slurm` | machines: `-`)
- **Description:** Ramble is an experimentation framework which can drive the installation of software with Spack and create, execute, and analyze experiments using the installed software.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com iam.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> community/examples/hpc-slurm-ramble-gromacs.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `compute_node_count_dynamic_max=20`, `deployment_name=hpc-slurm-ramble-gromacs`, `login_machine_type=n2-standard-4`, `region=us-central1`, `system_user_name=spack-ramble`, `zone=us-central1-c`
- **Modules (`id: source [use]`):** `network: modules/network/vpc`, `spack-install: community/modules/scripts/spack-setup`, `spack-execute: community/modules/scripts/spack-execute [spack-install]`, `ramble-setup: community/modules/scripts/ramble-setup`, `ramble-execute: community/modules/scripts/ramble-execute [spack-install, ramble-setup]`, `login-startup: modules/scripts/startup-script`, `access-startup: modules/scripts/startup-script`, `compute_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network]`, `compute_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [compute_nodeset]`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v6-login [network]`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [network, compute_partition, slurm_login]`
### community/examples/hpc-slurm-sharedvpc.yaml (`hpc-slurm-legacy-sharedvpc` | scheduler: `slurm` | machines: `n2-standard-2`)
- **Description:** This blueprint demonstrates the use of the Slurm and Filestore modules in the service project of an existing Shared VPC. Before attempting to deploy the blueprint, one must first complete initial setup for provisioning Filestore in a...
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com file.googleapis.com iam.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> community/examples/hpc-slurm-sharedvpc.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `compute_node_count_dynamic_max=20`, `debug_machine_type=n2-standard-2`, `debug_node_count_dynamic_max=4`, `deployment_name=hpc-small-shared-vpc`, `host_project_id=your-host-project`, `login_machine_type=n2-standard-4`, `region=us-central1`, `zone=us-central1-c`
- **Modules (`id: source [use]`):** `network1: modules/network/pre-existing-vpc`, `homefs: modules/file-system/filestore [network1]`, `debug_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network1]`, `debug_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [debug_nodeset]`, `compute_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network1]`, `compute_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [compute_nodeset]`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v6-login [network1]`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [network1, debug_partition, compute_partition, slurm_login, homefs]`
### community/examples/hpc-slurm-ubuntu2204.yaml (`hpc-slurm-ubuntu2204-v6` | scheduler: `slurm` | machines: `n2-standard-2`)
- **Description:** Similar to the hpc-slurm.yaml example, but using Ubuntu 22.04 instead of CentOS 7. Other operating systems are supported by SchedMD for the Slurm on GCP project and images are listed here. Only the examples listed on this page have been...
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com file.googleapis.com iam.googleapis.com servicenetworking.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> community/examples/hpc-slurm-ubuntu2204.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `compute_node_count_dynamic_max=20`, `debug_machine_type=n2-standard-2`, `debug_node_count_dynamic_max=4`, `deployment_name=slurm-gcp-v6`, `login_machine_type=n2-standard-4`, `region=us-west4`, `slurm_image={family: aci-gpu-u2204-slurm-2511-cuda-130-nvidia-580-amd64, project: advanced-compute-images}`, `zone=us-west4-c`
- **Modules (`id: source [use]`):** `network: modules/network/vpc`, `private_service_access: modules/network/private-service-access [network]`, `homefs: modules/file-system/filestore [network, private_service_access]`, `debug_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network]`, `debug_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [debug_nodeset]`, `compute_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network]`, `compute_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [compute_nodeset]`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [network, slurm_login, debug_partition, compute_partition, homefs]`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v6-login [network]`
### community/examples/hpc-slurm6-apptainer.yaml (`hpc-slurm6-apptainer` | scheduler: `slurm` | machines: `-`)
- **Description:** This blueprint creates a custom Apptainer enabled image and builds an auto-scaling Slurm cluster using that image. You can deploy containerized workloads on that cluster as described here.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com iam.googleapis.com logging.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> community/examples/hpc-slurm6-apptainer.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `compute_node_count_dynamic_max=20`, `custom_image={family: apptainer-enabled, project: $(vars.project_id)}`, `deployment_name=slurm6-apptainer`, `disk_size=64`, `region=us-central1`, `zone=us-central1-c`
- **Modules (`id: source [use]`):** `network: modules/network/vpc`, `scripts_for_image: modules/scripts/startup-script`, `apptainer-enabled-image: modules/packer/custom-image [network, scripts_for_image]`, `compute_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network]`, `compute_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [compute_nodeset]`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v6-login [network]`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [network, compute_partition, slurm_login]`
### community/examples/hpc-slurm6-hybrid.yaml (`hpc-slurm6-hybrid` | scheduler: `slurm` | machines: `-`)
- **Description:** This blueprint extends an on-premise Slurm cluster with cloud nodes. It builds a compute image matching the on-premise Slurm installation and generates the configuration the on-premise controller needs to burst into GCP. See the hybrid...
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com iam.googleapis.com logging.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> community/examples/hpc-slurm6-hybrid.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `cluster_name=your-cluster-name`, `compute_node_count_dynamic_max=20`, `controller_ip_range=192.168.1.0/24`, `custom_image={family: hybrid, project: $(vars.project_id)}`, `deployment_name=slurm6-hybrid`, `disk_size=64`, `key_export_dir=/slurm/key_distribution`, `latest_base_image=slurm-gcp-6-11-hpc-rocky-linux-8`, `on_prem_install_dir=your_slurm_installation_directory`, `onprem_ctld_addr=your_slurmctld_IPaddress`, `onprem_ctld_host=your_slurmctld_name`, `output_dir=$("/share/${vars.deployment_name}-files")`, `region=us-central1`, `slurm_gid=620`, `slurm_uid=620`, `slurm_version=25.11.6`, `slurmd_port=6818`, `zone=us-central1-c`
- **Modules (`id: source [use]`):** `network: modules/network/vpc`, `scripts_for_image: modules/scripts/startup-script`, `custom-image: modules/packer/custom-image [network, scripts_for_image]`, `compute_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network]`, `compute_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [compute_nodeset]`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [network, compute_partition]`
### community/examples/hpc-slurm6-tpu-maxtext.yaml (`slurm6-tpu-v4` | scheduler: `slurm` | machines: `-`)
- **Description:** Creates an auto-scaling Slurm cluster with TPU nodes.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com iam.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> community/examples/hpc-slurm6-tpu-maxtext.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `compute_node_count_dynamic_max=20`, `controller_machine_type=n2-standard-16`, `deployment_name=slurm6-tpu-v4`, `login_machine_type=n2-standard-16`, `region=us-central2`, `tpu_node_count_dynamic_max=1`, `zone=us-central2-b`
- **Modules (`id: source [use]`):** `network: modules/network/vpc`, `script: modules/scripts/startup-script`, `tpu_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset-tpu [network]`, `tpu_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [tpu_nodeset]`, `compute_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network]`, `compute_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [compute_nodeset]`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v6-login [network]`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [tpu_partition, compute_partition, slurm_login, network]`
### community/examples/hpc-slurm6-tpu.yaml (`slurm6-tpu` | scheduler: `slurm` | machines: `-`)
- **Description:** Creates an auto-scaling Slurm cluster with TPU nodes.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com iam.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> community/examples/hpc-slurm6-tpu.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `deployment_name=slurm6-tpu`, `login_machine_type=n2-standard-4`, `region=us-central1`, `tpu_node_count_dynamic_max=1`, `zone=us-central1-a`
- **Modules (`id: source [use]`):** `network: modules/network/vpc`, `tpu_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset-tpu [network]`, `tpu_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [tpu_nodeset]`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v6-login [network]`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [tpu_partition, slurm_login, network]`
### community/examples/htc-htcondor.yaml (`htc-htcondor` | scheduler: `htcondor` | machines: `-`)
- **Description:** This blueprint provisions an auto-scaling HTCondor pool based upon the HPC VM Image.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com iam.googleapis.com logging.googleapis.com secretmanager.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> community/examples/htc-htcondor.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `access_point_spool_disk_size_gb=200`, `deployment_name=htcondor-pool`, `disk_size_gb=100`, `enable_shielded_vm=true`, `new_image={family: htcondor-10x, project: $(vars.project_id)}`, `region=us-central1`, `zone=us-central1-a`, `zones=[$(vars.zone), us-central1-b]`
- **Modules (`id: source [use]`):** `network1: modules/network/vpc`, `htcondor_install: community/modules/scripts/htcondor-install`, `htcondor_install_script: modules/scripts/startup-script [htcondor_install]`, `custom-image: modules/packer/custom-image [network1, htcondor_install_script]`, `htcondor_service_accounts: community/modules/scheduler/htcondor-service-accounts`, `htcondor_setup: community/modules/scheduler/htcondor-setup [network1, htcondor_service_accounts]`, `htcondor_secrets: community/modules/scheduler/htcondor-pool-secrets [htcondor_service_accounts]`, `htcondor_cm: community/modules/scheduler/htcondor-central-manager [network1, htcondor_secrets, htcondor_service_accounts, htcondor_setup]`, `htcondor_execute_point: community/modules/compute/htcondor-execute-point [network1, htcondor_secrets, htcondor_service_accounts, htcondor_setup, htcondor_cm]`, `htcondor_execute_point_spot: community/modules/compute/htcondor-execute-point [network1, htcondor_secrets, htcondor_service_accounts, htcondor_setup, htcondor_cm]`, `htcondor_access: community/modules/scheduler/htcondor-access-point [network1, htcondor_secrets, htcondor_service_accounts, htcondor_setup, htcondor_cm, htcondor_execute_point, htcondor_execute_point_spot]`
### community/examples/htc-slurm.yaml (`htc-slurm-v6` | scheduler: `slurm` | machines: `c2-standard-30, n2-standard-2, n2-standard-4`)
- **Description:** This blueprint provisions a cluster using the Slurm scheduler in a configuration tuned for the execution of many short-duration, loosely-coupled (non-MPI) jobs.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com file.googleapis.com iam.googleapis.com servicenetworking.googleapis.com stackdriver.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> community/examples/htc-slurm.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `c2s30_node_count_dynamic_max=200`, `c2s60_node_count_dynamic_max=200`, `controller_machine_type=c2-standard-8`, `deployment_name=htc-slurm-v6`, `enable_public_ips=true`, `login_machine_type=n2-standard-4`, `n2s2_node_count_dynamic_max=10`, `n2s4_node_count_dynamic_max=10`, `region=us-west4`, `staged_configs=$(ghpc_stage("../modules/scheduler/schedmd-slurm-gcp-v6-controller/etc"))`, `zone=us-west4-c`
- **Modules (`id: source [use]`):** `network: modules/network/vpc`, `private_service_access: modules/network/private-service-access [network]`, `homefs: modules/file-system/filestore [network, private_service_access]`, `compute_nodeset_c2s60: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network]`, `compute_nodeset_c2s30: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network]`, `compute_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [compute_nodeset_c2s60, compute_nodeset_c2s30]`, `low_cost_nodeset_n2s2: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network]`, `low_cost_nodeset_n2s4: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network]`, `low_cost_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [low_cost_nodeset_n2s2, low_cost_nodeset_n2s4]`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v6-login [network]`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [network, homefs, low_cost_partition, compute_partition, slurm_login]`, `hpc_dashboard: modules/monitoring/dashboard`
### community/examples/kms-key-per-service.yaml (`kms-key-per-service` | scheduler: `slurm` | machines: `n2-standard-2`)
- **Description:** The same CMEK Slurm cluster as kms-key.yaml, but with one key per class of resource instead of one shared key, each granted only to the service agent that uses it: the Compute Engine agent can decrypt the disks and nothing else, the...
- **APIs & Deploy:** `gcloud services enable cloudkms.googleapis.com compute.googleapis.com file.googleapis.com iam.googleapis.com servicenetworking.googleapis.com serviceusage.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> community/examples/kms-key-per-service.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `compute_node_count_dynamic_max=20`, `debug_machine_type=n2-standard-2`, `debug_node_count_dynamic_max=4`, `deployment_name=kms-per-service`, `enable_slurm_auth=true`, `filestore_key_name=my-filestore-key`, `filestore_key_project=$(vars.project_id)`, `filestore_key_ring=my-filestore-keyring`, `homefs_size_gb=1024`, `login_machine_type=n2-standard-4`, `region=us-central1`, `scratch_disk_size_gb=375`, `zone=us-central1-a`
- **Modules (`id: source [use]`):** `enable_apis: community/modules/project/service-enablement`, `network: modules/network/vpc`, `private_service_access: modules/network/private-service-access [network]`, `hpc_service_account: modules/project/service-account`, `disk_key: community/modules/security/kms-key`, `disk_key_iam: community/modules/security/kms-key-iam [disk_key]`, `bucket_key: community/modules/security/kms-key`, `bucket_key_iam: community/modules/security/kms-key-iam [bucket_key]`, `filestore_key: community/modules/security/pre-existing-kms-key`, `filestore_key_iam: community/modules/security/kms-key-iam [filestore_key]`, `homefs: modules/file-system/filestore [network, private_service_access, filestore_key_iam]`, `debug_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network, disk_key_iam]`, `debug_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [debug_nodeset]`, `compute_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network, disk_key_iam]`, `compute_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [compute_nodeset]`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v6-login [network, disk_key_iam]`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [network, debug_partition, compute_partition, homefs, slurm_login, disk_key_iam]`
### community/examples/kms-key.yaml (`kms-key` | scheduler: `slurm` | machines: `n2-standard-2`)
- **Description:** An end-to-end CMEK Slurm cluster. The kms-key module creates one Cloud KMS key ring and symmetric CryptoKey, kms-key-iam grants the service agents that encrypt with it, and every encrypted resource picks the key up through use...
- **APIs & Deploy:** `gcloud services enable cloudkms.googleapis.com compute.googleapis.com file.googleapis.com iam.googleapis.com servicenetworking.googleapis.com serviceusage.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> community/examples/kms-key.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `compute_node_count_dynamic_max=20`, `debug_machine_type=n2-standard-2`, `debug_node_count_dynamic_max=4`, `deployment_name=kms-key-example`, `enable_slurm_auth=true`, `homefs_size_gb=1024`, `key_project_id=$(vars.project_id)`, `login_machine_type=n2-standard-4`, `region=us-central1`, `scratch_disk_size_gb=375`, `zone=us-central1-a`
- **Modules (`id: source [use]`):** `enable_apis: community/modules/project/service-enablement`, `network: modules/network/vpc`, `private_service_access: modules/network/private-service-access [network]`, `kms_key: community/modules/security/kms-key`, `kms_key_iam: community/modules/security/kms-key-iam [kms_key]`, `homefs: modules/file-system/filestore [network, private_service_access, kms_key_iam]`, `debug_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network, kms_key_iam]`, `debug_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [debug_nodeset]`, `compute_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network, kms_key_iam]`, `compute_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [compute_nodeset]`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v6-login [network, kms_key_iam]`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [network, debug_partition, compute_partition, homefs, slurm_login, kms_key_iam]`
### community/examples/slurm-gke/slurm-gke.yaml (`slurm-gke` | scheduler: `slurm-on-gke (slinky)` | machines: `n2d-standard-4, c2-standard-16, n2-standard-2`)
- **Description:** Deploys a hybrid Slurm cluster with a GCE-based controller, login node, and debug partition alongside a GKE-backed compute partition managed by the Slinky Slurm operator. The blueprint also creates a VPC, a Filestore instance mounted at...
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com container.googleapis.com file.googleapis.com iam.googleapis.com servicenetworking.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> community/examples/slurm-gke/slurm-gke.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `authorized_cidr`, `project_id`, `region`, `zone` | **defaults:** `base_pool_initial_node_count=1`, `base_pool_machine_type=n2d-standard-4`, `compute_pool_machine_type=c2-standard-16`, `debug_machine_type=n2-standard-2`, `debug_node_count_dynamic_max=4`, `deployment_name=slurmgke`, `gke_nodeset_replicas=2`, `login_machine_type=n2-standard-4`, `slinky_image=ghcr.io/slinkyproject/slurmd-pyxis:24.11-ubuntu24.04`, `slurm_namespace=slurm`
- **Modules (`id: source [use]`):** `network: modules/network/vpc`, `private_service_access: modules/network/private-service-access [network]`, `homefs: modules/file-system/filestore [network, private_service_access]`, `gke_service_account: modules/project/service-account`, `gke_cluster: modules/scheduler/gke-cluster [network, gke_service_account]`, `gke_base_pool: modules/compute/gke-node-pool [gke_cluster, gke_service_account]`, `gke_compute_pool: modules/compute/gke-node-pool [gke_cluster, gke_service_account]`, `gke_ns_manifest: modules/management/kubectl-apply [gke_cluster]`, `slinky: community/modules/scheduler/slinky [gke_cluster, gke_base_pool]`, `gke_compute_nodeset: community/modules/compute/gke-nodeset [gke_compute_pool, slinky, homefs, slurm_controller, network]`, `gke_compute_partition: community/modules/compute/gke-partition [slurm_controller, gke_compute_nodeset]`, `debug_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network]`, `debug_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [debug_nodeset]`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v6-login [network]`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [network, slurm_login, debug_partition, homefs]`
### community/examples/slurm-high-throughput/hpc-slurm-multiregion-scale.yaml (`hpc-slurm-multiregion-scale` | scheduler: `slurm` | machines: `n2d-standard-64`)
- **Description:** Creates a massive-scale, multi-region Slurm cluster provisioning up to 1,500 dynamic compute nodes (96,000 to 192,000 vCPUs) aggregated under a unified partition across 3 Google Cloud regions and 10 zones.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com file.googleapis.com iam.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> community/examples/slurm-high-throughput/hpc-slurm-multiregion-scale.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `central_zones=[us-central1-a, us-central1-b, us-central1-c, us-central1-f]`, `compute_machine_type=n2d-standard-64`, `compute_node_count_static=0`, `controller_machine_type=n2-standard-16`, `deployment_name=hpc-slurm-multiregion-scale`, `east_zones=[us-east4-a, us-east4-b, us-east4-c]`, `enable_placement=false`, `enable_slurm_auth=true`, `enable_spot_vm=true`, `homefs_size_gb=1024`, `login_machine_type=n2-standard-4`, `node_count_dynamic_max_per_region=500`, `region=us-central1`, `staged_configs=$(ghpc_stage("../../modules/scheduler/schedmd-slurm-gcp-v6-controller/etc"))`, `west_zones=[us-west1-a, us-west1-b, us-west1-c]`, `zone=us-central1-a`
- **Modules (`id: source [use]`):** `network: modules/network/vpc`, `homefs: modules/file-system/filestore [network]`, `nodeset_central: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network]`, `nodeset_east: community/modules/compute/schedmd-slurm-gcp-v6-nodeset`, `nodeset_west: community/modules/compute/schedmd-slurm-gcp-v6-nodeset`, `compute_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [nodeset_central, nodeset_east, nodeset_west]`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v6-login [network]`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [network, compute_partition, homefs, slurm_login]`
### community/examples/slurm-high-throughput/hpc-slurm-scale.yaml (`hpc-slurm-scale` | scheduler: `slurm` | machines: `n2-standard-128`)
- **Description:** Creates a high-performance, single-region auto-scaling Slurm cluster scaled up to 800 dynamic Spot or On-Demand compute nodes (102,400 vCPUs) across 4 zones with multi-zonal dynamic failover and Cloud NAT.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com file.googleapis.com iam.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> community/examples/slurm-high-throughput/hpc-slurm-scale.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `compute_machine_type=n2-standard-128`, `compute_node_count_static=0`, `compute_zones=[us-central1-a, us-central1-b, us-central1-c, us-central1-f]`, `controller_machine_type=n2-standard-8`, `deployment_name=hpc-slurm-scale`, `enable_placement=false`, `enable_slurm_auth=true`, `enable_spot_vm=true`, `homefs_size_gb=1024`, `login_machine_type=n2-standard-4`, `node_count_dynamic_max=800`, `region=us-central1`, `staged_configs=$(ghpc_stage("../../modules/scheduler/schedmd-slurm-gcp-v6-controller/etc"))`, `zone=us-central1-a`
- **Modules (`id: source [use]`):** `network: modules/network/vpc`, `homefs: modules/file-system/filestore [network]`, `compute_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network]`, `compute_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [compute_nodeset]`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v6-login [network]`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [network, compute_partition, homefs, slurm_login]`
### community/examples/sycomp/sycomp-storage-ece.yaml (`sycomp-storage-ece` | scheduler: `none` | machines: `-`)
- **Description:** Deploys and expands an IBM Storage Scale cluster using the Sycomp Intelligent Data Storage Platform and exposes it to compute clients over NFS.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com` | `./gcluster deploy -d <deployment.yaml> community/examples/sycomp/sycomp-storage-ece.yaml`
- **Vars (`vars:`):** **defaults:** `deployment_name=sycomp-ece`, `project_id=""`, `region=""`, `zone=""`
- **Modules (`id: source [use]`):** `network1: modules/network/vpc`, `sycomp-scale-gcp: git::https://gitlab.com/sycomp/cluster-toolkit.git//sycomp-scale?ref=main [network1]`
### community/examples/sycomp/sycomp-storage-expansion.yaml (`sycomp-storage-expansion` | scheduler: `none` | machines: `-`)
- **Description:** Deploys and expands an IBM Storage Scale cluster using the Sycomp Intelligent Data Storage Platform and exposes it to compute clients over NFS.
- **APIs & Deploy:** none | `./gcluster deploy -d <deployment.yaml> community/examples/sycomp/sycomp-storage-expansion.yaml`
- **Vars (`vars:`):** **defaults:** `deployment_name=sycomp-expansion`, `project_id=""`, `region=""`, `zone=""`
- **Modules (`id: source [use]`):** `sycomp-scale-expansion: git::https://gitlab.com/sycomp/cluster-toolkit.git//sycomp-scale-expansion?ref=main`
### community/examples/sycomp/sycomp-storage-slurm.yaml (`sycomp-storage-slurm` | scheduler: `slurm` | machines: `n2-standard-2`)
- **Description:** Deploys and expands an IBM Storage Scale cluster using the Sycomp Intelligent Data Storage Platform and exposes it to compute clients over NFS.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com iam.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> community/examples/sycomp/sycomp-storage-slurm.yaml`
- **Vars (`vars:`):** **defaults:** `compute_machine_type=n2-standard-2`, `compute_node_count_dynamic_max=4`, `deployment_name=sycomp-slurm`, `login_machine_type=n2-standard-4`, `nfs_dir=/gpfs/fs1/export1`, `project_id=""`, `region=""`, `zone=""`
- **Modules (`id: source [use]`):** `network1: modules/network/vpc`, `sycomp-scale-gcp: git::https://gitlab.com/sycomp/cluster-toolkit.git//sycomp-scale?ref=main [network1]`, `compute_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network1]`, `compute_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [compute_nodeset]`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v6-login [network1]`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [network1, compute_partition, slurm_login, sycomp-scale-gcp]`
### community/examples/sycomp/sycomp-storage.yaml (`sycomp-storage` | scheduler: `none` | machines: `-`)
- **Description:** Deploys and expands an IBM Storage Scale cluster using the Sycomp Intelligent Data Storage Platform and exposes it to compute clients over NFS.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com` | `./gcluster deploy -d <deployment.yaml> community/examples/sycomp/sycomp-storage.yaml`
- **Vars (`vars:`):** **defaults:** `deployment_name=sycomp-storage`, `project_id=""`, `region=""`, `zone=""`
- **Modules (`id: source [use]`):** `network1: modules/network/vpc`, `sycomp-scale-gcp: git::https://gitlab.com/sycomp/cluster-toolkit.git//sycomp-scale?ref=main [network1]`
### community/examples/tutorial-fluent.yaml (`tutorial-fluent` | scheduler: `none` | machines: `c2-standard-60, c2-standard-8`)
- **Description:** This blueprint provisions a simple cluster for use with an Ansys Fluent tutorial.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com file.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> community/examples/tutorial-fluent.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `compute_instance_count=4`, `compute_machine_type=c2-standard-60`, `deployment_name=fluent-wl`, `homefs_size_gb=1024`, `login_instance_count=1`, `login_machine_type=c2-standard-8`, `region=us-central1`, `sharefs_size_gb=1024`, `zone=us-central1-c`
- **Modules (`id: source [use]`):** `network1: modules/network/pre-existing-vpc`, `startup_login: modules/scripts/startup-script`, `startup: modules/scripts/startup-script`, `homefs: modules/file-system/filestore [network1]`, `sharefs: modules/file-system/filestore [network1]`, `compute_1: modules/compute/vm-instance [network1, homefs, sharefs, startup]`, `login: modules/compute/vm-instance [network1, homefs, sharefs, startup_login]`, `wait: community/modules/scripts/wait-for-startup`
### community/examples/tutorial-starccm-slurm.yaml (`starccm-on-slurm` | scheduler: `slurm` | machines: `n2-standard-2, c2-standard-60`)
- **Description:** This blueprint provisions an HPC cluster running Slurm for use with a Simcenter StarCCM+ tutorial.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com file.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> community/examples/tutorial-starccm-slurm.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `compute_machine_type=c2-standard-60`, `compute_node_count_dynamic_max=20`, `debug_machine_type=n2-standard-2`, `debug_node_count_dynamic_max=4`, `deployment_name=starccm-slurm`, `login_machine_type=n2-standard-4`, `region=us-central1`, `zone=us-central1-c`
- **Modules (`id: source [use]`):** `network1: modules/network/vpc`, `homefs: modules/file-system/filestore [network1]`, `login-script: modules/scripts/startup-script`, `compute-script: modules/scripts/startup-script`, `debug_node_group: community/modules/compute/schedmd-slurm-gcp-v5-node-group`, `debug_partition: community/modules/compute/schedmd-slurm-gcp-v5-partition [network1, homefs, debug_node_group, compute-script]`, `compute_node_group: community/modules/compute/schedmd-slurm-gcp-v5-node-group`, `compute_partition: community/modules/compute/schedmd-slurm-gcp-v5-partition [network1, homefs, compute_node_group, compute-script]`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v5-controller [network1, debug_partition, compute_partition, homefs]`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v5-login [network1, slurm_controller, login-script]`
### community/examples/tutorial-starccm.yaml (`tutorial-starccm` | scheduler: `none` | machines: `c2-standard-60`)
- **Description:** This blueprint provisions a simple cluster for use with a Simcenter StarCCM+ tutorial.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com file.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> community/examples/tutorial-starccm.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `compute_instance_count=4`, `compute_machine_type=c2-standard-60`, `deployment_name=starccm`, `homefs_size_gb=1024`, `region=us-east4`, `zone=us-east4-c`
- **Modules (`id: source [use]`):** `startup: modules/scripts/startup-script`, `network1: modules/network/vpc`, `homefs: modules/file-system/filestore [network1]`, `compute_1: modules/compute/vm-instance [network1, homefs, startup]`, `wait: community/modules/scripts/wait-for-startup`
### community/examples/xpk-n2-filestore/xpk-n2-filestore.yaml (`xpk-n2` | scheduler: `gke` | machines: `n2-standard-32`)
- **Description:** This example shows how to set up an XPK-compatible GKE cluster - giving researchers a Slurm-like CLI experience but with lightweight Kueue and Kjob resources on the cluster side. The blueprint creates a low-cost, CPU-based XPK cluster...
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com container.googleapis.com file.googleapis.com` | `./gcluster deploy -d <deployment.yaml> community/examples/xpk-n2-filestore/xpk-n2-filestore.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `authorized_cidr=<your-ip-address>/32`, `config_map_path=$(ghpc_stage("./config-map.yaml.tftpl"))`, `deployment_name=xpk-01`, `filestore_zone=us-central1-a`, `gcp_public_cidrs_access_enabled=false`, `jobset_version=0.10.1`, `kjob_version=f775609365df47bdc3e7c10290d8efae7f512464`, `kueue_config_path=$(ghpc_stage("./kueue-xpk-configuration.yaml.tftpl"))`, `kueue_version=v0.17.1`, `machine_type=n2-standard-32`, `region=us-central1`, `slice_cpu_count=64`, `slice_vm_count=2`, `storage_crd_path=$(ghpc_stage("./storage-crd.yaml"))`, `system_node_pool_machine_type=n2d-standard-4`, `xpk_version=v0.8.0`, `zones=[us-central1-a]`
- **Modules (`id: source [use]`):** `network: modules/network/vpc`, `gke_cluster: modules/scheduler/gke-cluster [network]`, `cpu_pool: modules/compute/gke-node-pool [gke_cluster]`, `workload-manager-install: modules/management/kubectl-apply [gke_cluster]`, `homefs: modules/file-system/filestore [network]`
### examples/batch-mpi.yaml (`batch-mpi` | scheduler: `batch` | machines: `c2-standard-16, c2-standard-60`)
- **Description:** This blueprint demonstrates how to use Spack to run a real MPI job on Batch.
- **APIs & Deploy:** `gcloud services enable batch.googleapis.com compute.googleapis.com file.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> examples/batch-mpi.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `compute_machine_type=c2-standard-60`, `deployment_name=batch-wrf`, `instance_image={family: hpc-rocky-linux-9, project: cloud-hpc-image-public}`, `region=us-central1`, `spack_builder_machine_type=c2-standard-16`, `zone=us-central1-c`
- **Modules (`id: source [use]`):** `network1: modules/network/pre-existing-vpc`, `sharefs: modules/file-system/filestore [network1]`, `spack-setup: community/modules/scripts/spack-setup`, `spack-execute: community/modules/scripts/spack-execute [spack-setup]`, `spack-build-startup: modules/scripts/startup-script`, `spack-builder: modules/compute/vm-instance [network1, sharefs, spack-build-startup]`, `batch-job: modules/scheduler/batch-job-template [network1, sharefs]`, `batch-login: modules/scheduler/batch-login-node [spack-setup, batch-job]`
### examples/batch.yaml (`batch` | scheduler: `batch` | machines: `n2-standard-4`)
- **Description:** This example demonstrates how to use the Cluster Toolkit to set up a Google Cloud Batch job that mounts a Filestore instance and runs startup scripts.
- **APIs & Deploy:** `gcloud services enable batch.googleapis.com compute.googleapis.com file.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> examples/batch.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `compute_machine_type=n2-standard-4`, `deployment_name=hello-workload`, `region=us-central1`, `zone=us-central1-c`
- **Modules (`id: source [use]`):** `network1: modules/network/pre-existing-vpc`, `appfs: modules/file-system/filestore [network1]`, `batch-job: modules/scheduler/batch-job-template [network1, appfs]`, `batch-login: modules/scheduler/batch-login-node [batch-job]`
### examples/cae/cae-slurm.yaml (`cae-slurm-v6` | scheduler: `slurm` | machines: `h3-standard-88, c3-highmem-176`)
- **Description:** The Computer Aided Engineering (CAE) blueprint captures a reference architecture where the right cloud components are assembled to optimally cater to the requirements of computationally-intensive CAE workloads. Specifically, it is...
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com file.googleapis.com iam.googleapis.com stackdriver.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> examples/cae/cae-slurm.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `appsfs_size_gb=2560`, `c3_enable_spot_vm=false`, `c3_node_count_dynamic_max=10`, `controller_machine_type=n2-standard-16`, `deployment_name=cae-slurm-v6`, `h3_enable_spot_vm=false`, `h3_node_count_dynamic_max=10`, `homefs_size_gb=2560`, `login_machine_type=n2-standard-8`, `region=us-central1`, `scratchfs_size_gb=10240`, `zone=us-central1-a`
- **Modules (`id: source [use]`):** `network: modules/network/vpc`, `homefs: modules/file-system/filestore [network]`, `appsfs: modules/file-system/filestore [network]`, `hpc_dash: modules/monitoring/dashboard`, `scratchfs: modules/file-system/filestore [network]`, `remotedesktop: community/modules/remote-desktop/chrome-remote-desktop [network]`, `h3_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network]`, `h3_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [h3_nodeset]`, `c3_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network]`, `c3_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [c3_nodeset]`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v6-login [network]`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [network, homefs, appsfs, scratchfs, h3_partition, c3_partition, slurm_login]`
### examples/gke-a3-highgpu-inference-gateway.yaml (`gke-a3-highgpu-inference-gateway` | scheduler: `gke` | machines: `a3-highgpu-8g, n2d-standard-2`)
- **Description:** This blueprint provisions a GKE cluster with A3 High machines, pre-configured to support the GKE Inference Gateway. It automates the setup of necessary networking components, such as a proxy-only subnet, and installs the required Custom...
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com container.googleapis.com iam.googleapis.com` | `./gcluster deploy -d <deployment.yaml> examples/gke-a3-highgpu-inference-gateway.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `authorized_cidr`, `deployment_name`, `project_id` | **defaults:** `cpu_pool_autoscaling_total_max_nodes=3`, `cpu_pool_autoscaling_total_min_nodes=1`, `cpu_pool_machine_type=n2d-standard-2`, `gcp_public_cidrs_access_enabled=false`, `gpu_static_node_count=2`, `region=us-central1`, `zone=us-central1-c`
- **Modules (`id: source [use]`):** `network1: modules/network/vpc`, `node_pool_service_account: modules/project/service-account`, `workload_service_account: modules/project/service-account`, `gpunets: modules/network/multivpc`, `gke_cluster: modules/scheduler/gke-cluster [network1, gpunets, workload_service_account]`, `a3_highgpu_pool: modules/compute/gke-node-pool [gke_cluster, gpunets, node_pool_service_account]`, `cpu_pool: modules/compute/gke-node-pool [gke_cluster, node_pool_service_account]`
### examples/gke-a3-highgpu/gke-a3-highgpu.yaml (`gke-a3-highgpu` | scheduler: `gke` | machines: `a3-highgpu-8g` | deployment: `examples/gke-a3-highgpu/gke-a3-highgpu-deployment.yaml`)
- **Description:** This blueprint provisions a GKE cluster with A3 High nodes (a3-highgpu-8g). Refer to the A3 High Deployment Guide for detailed instructions.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com container.googleapis.com iam.googleapis.com` | `./gcluster deploy -d examples/gke-a3-highgpu/gke-a3-highgpu-deployment.yaml examples/gke-a3-highgpu/gke-a3-highgpu.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `authorized_cidr`, `deployment_name`, `project_id`, `region`, `static_node_count`, `zone` | **defaults:** `accelerator_type=nvidia-h100-80gb`, `auto_repair=true`, `autoscaling_total_min_nodes=0`, `enable_flex_start=false`, `enable_queued_provisioning=false`, `gcp_public_cidrs_access_enabled=false`, `kueue_configuration_path=$(ghpc_stage("./kueue-configuration.yaml.tftpl"))`, `nccl_config_path=$(ghpc_stage("./nccl-config.yaml"))`, `nccl_tcpx_installer_path=$(ghpc_stage("./nccl-tcpx-installer.yaml.tftpl"))`, `nccl_tcpx_version=v3.1.9`, `network_name=$("${vars.deployment_name}-net")`, `nri_device_injector_path=$(ghpc_stage("./nri-device-injector.yaml"))`, `placement_policy={name: null, type: null}`, `reservation_affinity={consume_reservation_type: SPECIFIC_RESERVATION, specific_reservations: [{name: null}]}`, `spot=false`, `version_prefix=1.35.`
- **Modules (`id: source [use]`):** `network1: modules/network/vpc`, `node_pool_service_account: modules/project/service-account`, `workload_service_account: modules/project/service-account`, `gpunets: modules/network/multivpc`, `gke_cluster: modules/scheduler/gke-cluster [network1, gpunets, workload_service_account]`, `a3_highgpu_pool: modules/compute/gke-node-pool [gke_cluster, gpunets, node_pool_service_account]`, `workload_component_install: modules/management/kubectl-apply [gke_cluster]`
### examples/gke-a3-megagpu/gke-a3-megagpu.yaml (`gke-a3-mega` | scheduler: `gke` | machines: `a3-megagpu-8g` | deployment: `examples/gke-a3-megagpu/gke-a3-megagpu-deployment.yaml`)
- **Description:** This blueprint shows how to provision a GKE cluster with A3 Mega machines in the toolkit. Deploy an A3 Mega GKE cluster for ML training has the steps documented.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com container.googleapis.com iam.googleapis.com` | `./gcluster deploy -d examples/gke-a3-megagpu/gke-a3-megagpu-deployment.yaml examples/gke-a3-megagpu/gke-a3-megagpu.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `authorized_cidr`, `deployment_name`, `project_id`, `region`, `static_node_count`, `zone` | **defaults:** `accelerator_type=nvidia-h100-mega-80gb`, `auto_repair=true`, `autoscaling_total_min_nodes=0`, `enable_flex_start=false`, `enable_queued_provisioning=false`, `gcp_public_cidrs_access_enabled=false`, `kueue_configuration_path=$(ghpc_stage("./kueue-configuration.yaml.tftpl"))`, `nccl_tcpxo_installer_path=$(ghpc_stage("./nccl-tcpxo-installer.yaml.tftpl"))`, `nccl_tcpxo_version=v1.0.15`, `nri_device_injector_path=$(ghpc_stage("./nri-device-injector.yaml"))`, `placement_policy={name: null, type: null}`, `reservation_affinity={consume_reservation_type: SPECIFIC_RESERVATION, specific_reservations: [{name: null}]}`, `spot=false`, `version_prefix=1.35.`
- **Modules (`id: source [use]`):** `network1: modules/network/vpc`, `node_pool_service_account: modules/project/service-account`, `workload_service_account: modules/project/service-account`, `gpunets: modules/network/multivpc`, `gke_cluster: modules/scheduler/gke-cluster [network1, gpunets, workload_service_account]`, `a3_megagpu_pool: modules/compute/gke-node-pool [gke_cluster, gpunets, node_pool_service_account]`, `workload_manager_install: modules/management/kubectl-apply [gke_cluster]`
### examples/gke-a3-ultragpu/gke-a3-ultragpu.yaml (`gke-a3-ultra` | scheduler: `gke` | machines: `a3-ultragpu-8g` | deployment: `examples/gke-a3-ultragpu/gke-a3-ultragpu-deployment.yaml`)
- **Description:** This blueprint provisions an AI-optimized Google Kubernetes Engine (GKE) cluster with a3-ultragpu-8g (8x NVIDIA H200) GPU nodes, multi-NIC RoCE GPUDirect RDMA networking (enable_dranet: true), Kueue + JobSet workload management, NCCL...
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com container.googleapis.com iam.googleapis.com storage.googleapis.com` | `./gcluster deploy -d examples/gke-a3-ultragpu/gke-a3-ultragpu-deployment.yaml examples/gke-a3-ultragpu/gke-a3-ultragpu.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `authorized_cidr`, `deployment_name`, `project_id`, `region`, `static_node_count`, `zone` | **defaults:** `a3ultra_node_pool_disk_size_gb=100`, `accelerator_type=nvidia-h200-141gb`, `auto_repair=true`, `autoscaling_total_min_nodes=0`, `enable_flex_start=false`, `enable_queued_provisioning=false`, `gib_installer_path=$(ghpc_stage("./nccl-installer.yaml.tftpl"))`, `kueue_configuration_path=$(ghpc_stage("./kueue-configuration.yaml.tftpl"))`, `placement_policy={name: null, type: null}`, `reservation_affinity={consume_reservation_type: SPECIFIC_RESERVATION, specific_reservations: [{name: null}]}`, `spot=false`, `system_node_pool_disk_size_gb=200`, `system_node_pool_machine_type=n2d-standard-16`, `version_prefix=1.35.`
- **Modules (`id: source [use]`):** `gke-a3-ultra-net-0: modules/network/vpc`, `node_pool_service_account: modules/project/service-account`, `workload_service_account: modules/project/service-account`, `training_bucket: modules/file-system/cloud-storage-bucket`, `checkpoint_bucket: modules/file-system/cloud-storage-bucket`, `a3-ultragpu-cluster: modules/scheduler/gke-cluster [gke-a3-ultra-net-0, workload_service_account]`, `a3-ultragpu-pool: modules/compute/gke-node-pool [a3-ultragpu-cluster, node_pool_service_account]`, `workload-manager-install: modules/management/kubectl-apply [a3-ultragpu-cluster]`, `job-template: modules/compute/gke-job-template [a3-ultragpu-pool]`, `training-pv: modules/file-system/gke-persistent-volume [training_bucket, a3-ultragpu-cluster]`, `checkpointing-pv: modules/file-system/gke-persistent-volume [checkpoint_bucket, a3-ultragpu-cluster]`, `fio-bench-job-template: modules/compute/gke-job-template [checkpointing-pv, training-pv, a3-ultragpu-pool]`
### examples/gke-a4/gke-a4.yaml (`gke-a4` | scheduler: `gke` | machines: `a4-highgpu-8g` | deployment: `examples/gke-a4/gke-a4-deployment.yaml`)
- **Description:** This blueprint uses GKE to provision Kubernetes cluster and a A4 node pool, along with networks and service accounts. Information about a4 machines can be found here. The deployment instructions can be found in the README.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com container.googleapis.com iam.googleapis.com storage.googleapis.com` | `./gcluster deploy -d examples/gke-a4/gke-a4-deployment.yaml examples/gke-a4/gke-a4.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `authorized_cidr`, `deployment_name`, `project_id`, `region`, `static_node_count`, `zone` | **defaults:** `a4_node_pool_disk_size_gb=100`, `accelerator_type=nvidia-b200`, `auto_monitoring_scope=NONE`, `auto_repair=true`, `autoscaling_total_min_nodes=0`, `enable_flex_start=false`, `enable_inference_gateway=false`, `enable_queued_provisioning=false`, `gib_installer_path=$(ghpc_stage("./nccl-installer.yaml.tftpl"))`, `kueue_configuration_path=$(ghpc_stage("./kueue-configuration.yaml.tftpl"))`, `placement_policy={name: null, type: null}`, `reservation_affinity={consume_reservation_type: SPECIFIC_RESERVATION, specific_reservations: [{name: null}]}`, `spot=false`, `system_node_pool_disk_size_gb=200`, `system_node_pool_machine_type=n2d-standard-4`, `version_prefix=1.35.`
- **Modules (`id: source [use]`):** `gke-a4-net-0: modules/network/vpc`, `node_pool_service_account: modules/project/service-account`, `workload_service_account: modules/project/service-account`, `training_bucket: modules/file-system/cloud-storage-bucket`, `checkpoint_bucket: modules/file-system/cloud-storage-bucket`, `a4-cluster: modules/scheduler/gke-cluster [gke-a4-net-0, workload_service_account]`, `a4-pool: modules/compute/gke-node-pool [a4-cluster, node_pool_service_account]`, `workload-manager-install: modules/management/kubectl-apply [a4-cluster]`, `job-template: modules/compute/gke-job-template [a4-pool]`, `training-pv: modules/file-system/gke-persistent-volume [training_bucket, a4-cluster]`, `checkpointing-pv: modules/file-system/gke-persistent-volume [checkpoint_bucket, a4-cluster]`, `fio-bench-job-template: modules/compute/gke-job-template [checkpointing-pv, training-pv, a4-pool]`
### examples/gke-a4x-max-bm/gke-a4x-max-bm.yaml (`gke-a4x-max-bm` | scheduler: `gke` | machines: `a4x-maxgpu-4g-metal` | deployment: `examples/gke-a4x-max-bm/gke-a4x-max-bm-deployment.yaml`)
- **Description:** This blueprint uses GKE to provision a Kubernetes cluster and a A4X Max node pool, along with networks and service accounts. Information about A4X Max machines can be found here. The deployment instructions can be found in the README.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com container.googleapis.com iam.googleapis.com storage.googleapis.com` | `./gcluster deploy -d examples/gke-a4x-max-bm/gke-a4x-max-bm-deployment.yaml examples/gke-a4x-max-bm/gke-a4x-max-bm.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `authorized_cidr`, `deployment_name`, `num_node_pools`, `project_id`, `region`, `reservation`, `reservation_project_id`, `static_node_count`, `zone` | **defaults:** `a4x_max_node_pool_disk_size_gb=100`, `accelerator_type=nvidia-gb300`, `asapd_lite_installer_path=$(ghpc_stage("./asapd-lite-installer.yaml"))`, `gib_installer_path=$(ghpc_stage("./nccl-installer.yaml.tftpl"))`, `k8s_service_account_name=workload-identity-k8s-sa`, `kueue_configuration_path=$(ghpc_stage("./kueue-configuration.yaml.tftpl"))`, `nvidia_dra_driver_path=$(ghpc_stage("./nvidia-dra-driver.yaml"))`, `system_node_pool_disk_size_gb=200`, `system_node_pool_machine_type=n2d-standard-16`, `version_prefix=1.35.5-gke.1057002`
- **Modules (`id: source [use]`):** `gke-a4x-max-net-0: modules/network/vpc`, `node_pool_service_account: modules/project/service-account`, `workload_service_account: modules/project/service-account`, `a4x-max-cluster: modules/scheduler/gke-cluster [gke-a4x-max-net-0, workload_service_account]`, `workload_policy: modules/compute/resource-policy`, `a4x-max-pool: modules/compute/gke-node-pool [a4x-max-cluster, node_pool_service_account, workload_policy]`, `workload-manager-install: modules/management/kubectl-apply [a4x-max-cluster]`, `job-template: modules/compute/gke-job-template [a4x-max-pool]`, `training_bucket: modules/file-system/cloud-storage-bucket`, `checkpoint_bucket: modules/file-system/cloud-storage-bucket`, `training-pv: modules/file-system/gke-persistent-volume [training_bucket, a4x-max-cluster]`, `checkpointing-pv: modules/file-system/gke-persistent-volume [checkpoint_bucket, a4x-max-cluster]`, `fio-bench-job-template: modules/compute/gke-job-template [checkpointing-pv, training-pv, a4x-max-pool]`
### examples/gke-a4x/gke-a4x.yaml (`gke-a4x` | scheduler: `gke` | machines: `a4x-highgpu-4g` | deployment: `examples/gke-a4x/gke-a4x-deployment.yaml`)
- **Description:** This blueprint uses GKE to provision Kubernetes cluster and a A4X node pool, along with networks and service accounts. Information about A4X machines can be found here. The deployment instructions can be found in the README.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com container.googleapis.com iam.googleapis.com storage.googleapis.com` | `./gcluster deploy -d examples/gke-a4x/gke-a4x-deployment.yaml examples/gke-a4x/gke-a4x.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `authorized_cidr`, `deployment_name`, `num_node_pools`, `project_id`, `region`, `reservation`, `reservation_project_id`, `static_node_count`, `zone` | **defaults:** `a4x_node_pool_disk_size_gb=100`, `accelerator_type=nvidia-gb200`, `gib_installer_path=$(ghpc_stage("./nccl-installer.yaml.tftpl"))`, `k8s_service_account_name=workload-identity-k8s-sa`, `kueue_configuration_path=$(ghpc_stage("./kueue-configuration.yaml.tftpl"))`, `nvidia_dra_driver_path=$(ghpc_stage("./nvidia-dra-driver.yaml"))`, `system_node_pool_disk_size_gb=200`, `system_node_pool_machine_type=n2d-standard-16`, `version_prefix=1.35.`
- **Modules (`id: source [use]`):** `gke-a4x-net-0: modules/network/vpc`, `node_pool_service_account: modules/project/service-account`, `workload_service_account: modules/project/service-account`, `training_bucket: modules/file-system/cloud-storage-bucket`, `checkpoint_bucket: modules/file-system/cloud-storage-bucket`, `a4x-cluster: modules/scheduler/gke-cluster [gke-a4x-net-0, workload_service_account]`, `workload_policy: modules/compute/resource-policy`, `a4x-pool: modules/compute/gke-node-pool [a4x-cluster, node_pool_service_account, workload_policy]`, `workload-manager-install: modules/management/kubectl-apply [a4x-cluster]`, `job-template: modules/compute/gke-job-template [a4x-pool]`, `training-pv: modules/file-system/gke-persistent-volume [training_bucket, a4x-cluster]`, `checkpointing-pv: modules/file-system/gke-persistent-volume [checkpoint_bucket, a4x-cluster]`, `fio-bench-job-template: modules/compute/gke-job-template [checkpointing-pv, training-pv, a4x-pool]`
### examples/gke-consumption-options/dws-flex-start-compact-placement/gke-h4d/gke-h4d.yaml (`gke-h4d` | scheduler: `gke` | machines: `h4d-standard-192` | deployment: `examples/gke-consumption-options/dws-flex-start-compact-placement/gke-h4d/gke-h4d-deployment.yaml`)
- **Description:** Dynamic Workload Scheduler (DWS) is a resource management and job scheduling platform designed for AI Hypercomputer. Dynamic Workload Scheduler improves your access to AI/ML resources, helps you optimize your spend, and can improve the...
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com container.googleapis.com iam.googleapis.com` | `./gcluster deploy -d examples/gke-consumption-options/dws-flex-start-compact-placement/gke-h4d/gke-h4d-deployment.yaml examples/gke-consumption-options/dws-flex-start-compact-placement/gke-h4d/gke-h4d.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `authorized_cidr`, `deployment_name`, `project_id`, `region`, `zone` | **defaults:** `compute_machine_type=h4d-standard-192`, `enable_flex_start=true`, `h4d_node_pool_disk_size_gb=100`, `system_node_pool_disk_size_gb=100`, `system_node_pool_machine_type=n2d-standard-16`
- **Modules (`id: source [use]`):** `gke-h4d-net: modules/network/vpc`, `gke-h4d-rdma-net: modules/network/multivpc`, `node_pool_service_account: modules/project/service-account`, `workload_service_account: modules/project/service-account`, `h4d-cluster: modules/scheduler/gke-cluster [gke-h4d-net, gke-h4d-rdma-net, workload_service_account]`, `workload_policy: modules/compute/resource-policy`, `h4d-pool: modules/compute/gke-node-pool [h4d-cluster, gke-h4d-rdma-net, node_pool_service_account, workload_policy]`, `workload-manager-install: modules/management/kubectl-apply [h4d-cluster]`
### examples/gke-consumption-options/dws-flex-start-queued-provisioning/gke-a3-ultragpu.yaml (`gke-a3-ultra` | scheduler: `gke` | machines: `a3-ultragpu-8g` | deployment: `examples/gke-consumption-options/dws-flex-start-queued-provisioning/gke-a3-ultragpu-deployment.yaml`)
- **Description:** Dynamic Workload Scheduler (DWS) is a resource management and job scheduling platform designed for AI Hypercomputer. Dynamic Workload Scheduler improves your access to AI/ML resources, helps you optimize your spend, and can improve the...
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com container.googleapis.com iam.googleapis.com` | `./gcluster deploy -d examples/gke-consumption-options/dws-flex-start-queued-provisioning/gke-a3-ultragpu-deployment.yaml examples/gke-consumption-options/dws-flex-start-queued-provisioning/gke-a3-ultragpu.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `authorized_cidr`, `deployment_name`, `project_id`, `region`, `zone` | **defaults:** `a3ultra_node_pool_disk_size_gb=100`, `enable_flex_start=true`, `enable_queued_provisioning=true`, `gcp_public_cidrs_access_enabled=false`, `gpu_nominal_quota=512`, `kueue_configuration_path=$(ghpc_stage("./dws-queues.yaml.tftpl"))`, `nccl_installer_path=$(ghpc_stage("./nccl-installer.yaml"))`, `system_node_pool_disk_size_gb=100`, `system_node_pool_machine_type=n2d-standard-16`
- **Modules (`id: source [use]`):** `gke-a3-ultra-net-0: modules/network/vpc`, `gke-a3-ultra-net-1: modules/network/vpc`, `gke-a3-ultra-rdma-net: modules/network/gpu-rdma-vpc`, `node_pool_service_account: modules/project/service-account`, `workload_service_account: modules/project/service-account`, `a3-ultragpu-cluster: modules/scheduler/gke-cluster [gke-a3-ultra-net-0, workload_service_account]`, `a3-ultragpu-pool: modules/compute/gke-node-pool [a3-ultragpu-cluster, node_pool_service_account]`, `workload-manager-install: modules/management/kubectl-apply [a3-ultragpu-cluster]`
### examples/gke-consumption-options/dws-flex-start-queued-provisioning/gke-tpu-7x/gke-tpu-7x.yaml (`gke-tpu-7x-qp` | scheduler: `gke` | machines: `tpu7x-standard-4t` | deployment: `examples/gke-consumption-options/dws-flex-start-queued-provisioning/gke-tpu-7x/gke-tpu-7x-deployment.yaml`)
- **Description:** This example demonstrates how to deploy a GKE cluster with TPU 7x nodes using Dynamic Workload Scheduler (DWS) with Queued Provisioning.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com container.googleapis.com iam.googleapis.com storage.googleapis.com` | `./gcluster deploy -d examples/gke-consumption-options/dws-flex-start-queued-provisioning/gke-tpu-7x/gke-tpu-7x-deployment.yaml examples/gke-consumption-options/dws-flex-start-queued-provisioning/gke-tpu-7x/gke-tpu-7x.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `authorized_cidr`, `project_id`, `region`, `zone` | **defaults:** `accelerator_type=tpu7x`, `autoscaling_max_node_count=2`, `autoscaling_min_node_count=0`, `compute_machine_type=tpu7x-standard-4t`, `deployment_name=gke-tpu-7x-qp`, `enable_flex_start=true`, `enable_pathways_for_tpus=true`, `enable_queued_provisioning=true`, `kueue_configuration_path=$(ghpc_stage("../tpu-dws-queues.yaml.tftpl"))`, `num_slices=1`, `system_node_pool_machine_type=n2-standard-8`, `tpu_topology=2x2x2`
- **Modules (`id: source [use]`):** `gke-tpu-7x-net-0: modules/network/vpc`, `gke-tpu-7x-net-1: modules/network/vpc`, `node_pool_service_account: modules/project/service-account`, `workload_service_account: modules/project/service-account`, `training_bucket: modules/file-system/cloud-storage-bucket`, `checkpoint_bucket: modules/file-system/cloud-storage-bucket`, `gke-tpu-7x-cluster: modules/scheduler/gke-cluster [gke-tpu-7x-net-0, workload_service_account]`, `workload_policy: modules/compute/resource-policy`, `gke-tpu-7x-pool: modules/compute/gke-node-pool [gke-tpu-7x-cluster, node_pool_service_account, workload_policy]`, `workload-manager-install: modules/management/kubectl-apply [gke-tpu-7x-cluster]`, `training-pv: modules/file-system/gke-persistent-volume [training_bucket, gke-tpu-7x-cluster]`, `checkpointing-pv: modules/file-system/gke-persistent-volume [checkpoint_bucket, gke-tpu-7x-cluster]`
### examples/gke-consumption-options/dws-flex-start-queued-provisioning/gke-tpu-v6e/gke-tpu-v6e.yaml (`gke-tpu-v6e-qp` | scheduler: `gke` | machines: `ct6e-standard-4t` | deployment: `examples/gke-consumption-options/dws-flex-start-queued-provisioning/gke-tpu-v6e/gke-tpu-v6e-deployment.yaml`)
- **Description:** This example demonstrates how to deploy a GKE cluster with TPU v6e nodes using Dynamic Workload Scheduler (DWS) with Queued Provisioning.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com container.googleapis.com iam.googleapis.com storage.googleapis.com` | `./gcluster deploy -d examples/gke-consumption-options/dws-flex-start-queued-provisioning/gke-tpu-v6e/gke-tpu-v6e-deployment.yaml examples/gke-consumption-options/dws-flex-start-queued-provisioning/gke-tpu-v6e/gke-tpu-v6e.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `authorized_cidr`, `project_id`, `region`, `zone` | **defaults:** `accelerator_type=tpu-v6e-slice`, `autoscaling_max_node_count=4`, `autoscaling_min_node_count=0`, `compute_machine_type=ct6e-standard-4t`, `deployment_name=gke-tpu-v6e-qp`, `enable_flex_start=true`, `enable_pathways_for_tpus=true`, `enable_queued_provisioning=true`, `kueue_configuration_path=$(ghpc_stage("../tpu-dws-queues.yaml.tftpl"))`, `num_slices=1`, `system_node_pool_disk_size_gb=200`, `system_node_pool_machine_type=n2-standard-8`, `tpu_topology=4x4`, `v6e_node_pool_disk_size_gb=100`, `version_prefix=1.35.`
- **Modules (`id: source [use]`):** `gke-tpu-v6e-net-0: modules/network/vpc`, `gke-tpu-v6e-net-1: modules/network/vpc`, `node_pool_service_account: modules/project/service-account`, `workload_service_account: modules/project/service-account`, `training_bucket: modules/file-system/cloud-storage-bucket`, `checkpoint_bucket: modules/file-system/cloud-storage-bucket`, `gke-tpu-v6e-cluster: modules/scheduler/gke-cluster [gke-tpu-v6e-net-0, workload_service_account]`, `gke-tpu-v6e-pool: modules/compute/gke-node-pool [gke-tpu-v6e-cluster, node_pool_service_account]`, `workload-manager-install: modules/management/kubectl-apply [gke-tpu-v6e-cluster]`, `training-pv: modules/file-system/gke-persistent-volume [training_bucket, gke-tpu-v6e-cluster]`, `checkpointing-pv: modules/file-system/gke-persistent-volume [checkpoint_bucket, gke-tpu-v6e-cluster]`
### examples/gke-consumption-options/dws-flex-start/gke-a3-ultragpu.yaml (`gke-a3-ultra` | scheduler: `gke` | machines: `a3-ultragpu-8g` | deployment: `examples/gke-consumption-options/dws-flex-start/gke-a3-ultragpu-deployment.yaml`)
- **Description:** Dynamic Workload Scheduler (DWS) is a resource management and job scheduling platform designed for AI Hypercomputer. Dynamic Workload Scheduler improves your access to AI/ML resources, helps you optimize your spend, and can improve the...
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com container.googleapis.com iam.googleapis.com` | `./gcluster deploy -d examples/gke-consumption-options/dws-flex-start/gke-a3-ultragpu-deployment.yaml examples/gke-consumption-options/dws-flex-start/gke-a3-ultragpu.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `authorized_cidr`, `deployment_name`, `project_id`, `region`, `zone` | **defaults:** `a3ultra_node_pool_disk_size_gb=100`, `enable_flex_start=true`, `nccl_installer_path=$(ghpc_stage("./nccl-installer.yaml"))`, `system_node_pool_disk_size_gb=100`, `system_node_pool_machine_type=n2d-standard-16`
- **Modules (`id: source [use]`):** `gke-a3-ultra-net-0: modules/network/vpc`, `gke-a3-ultra-net-1: modules/network/vpc`, `gke-a3-ultra-rdma-net: modules/network/gpu-rdma-vpc`, `node_pool_service_account: modules/project/service-account`, `workload_service_account: modules/project/service-account`, `a3-ultragpu-cluster: modules/scheduler/gke-cluster [gke-a3-ultra-net-0, workload_service_account]`, `a3-ultragpu-pool: modules/compute/gke-node-pool [a3-ultragpu-cluster, node_pool_service_account]`, `workload-manager-install: modules/management/kubectl-apply [a3-ultragpu-cluster]`
### examples/gke-consumption-options/dws-flex-start/gke-tpu-7x/gke-tpu-7x.yaml (`gke-tpu-7x` | scheduler: `gke` | machines: `tpu7x-standard-4t` | deployment: `examples/gke-consumption-options/dws-flex-start/gke-tpu-7x/gke-tpu-7x-deployment.yaml`)
- **Description:** These steps guide you through the cluster creation process for TPUs using DWS Flex Start.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com container.googleapis.com iam.googleapis.com storage.googleapis.com` | `./gcluster deploy -d examples/gke-consumption-options/dws-flex-start/gke-tpu-7x/gke-tpu-7x-deployment.yaml examples/gke-consumption-options/dws-flex-start/gke-tpu-7x/gke-tpu-7x.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `authorized_cidr`, `project_id`, `region`, `zone` | **defaults:** `accelerator_type=tpu7x`, `autoscaling_max_node_count=2`, `autoscaling_min_node_count=0`, `compute_machine_type=tpu7x-standard-4t`, `deployment_name=gke-tpu-7x-flex`, `enable_flex_start=true`, `enable_pathways_for_tpus=true`, `kueue_configuration_path=$(ghpc_stage("./kueue-configuration.yaml.tftpl"))`, `num_slices=1`, `system_node_pool_machine_type=n2-standard-8`, `tpu_topology=2x2x2`
- **Modules (`id: source [use]`):** `gke-tpu-7x-net-0: modules/network/vpc`, `gke-tpu-7x-net-1: modules/network/vpc`, `node_pool_service_account: modules/project/service-account`, `workload_service_account: modules/project/service-account`, `training_bucket: modules/file-system/cloud-storage-bucket`, `checkpoint_bucket: modules/file-system/cloud-storage-bucket`, `gke-tpu-7x-cluster: modules/scheduler/gke-cluster [gke-tpu-7x-net-0, workload_service_account]`, `workload_policy: modules/compute/resource-policy`, `gke-tpu-7x-pool: modules/compute/gke-node-pool [gke-tpu-7x-cluster, node_pool_service_account, workload_policy]`, `workload-manager-install: modules/management/kubectl-apply [gke-tpu-7x-cluster]`, `training-pv: modules/file-system/gke-persistent-volume [training_bucket, gke-tpu-7x-cluster]`, `checkpointing-pv: modules/file-system/gke-persistent-volume [checkpoint_bucket, gke-tpu-7x-cluster]`, `fio-bench-job-template: modules/compute/gke-job-template [checkpointing-pv, training-pv, gke-tpu-7x-pool]`
### examples/gke-consumption-options/dws-flex-start/gke-tpu-v6e/gke-tpu-v6e.yaml (`gke-tpu-v6e-flex` | scheduler: `gke` | machines: `ct6e-standard-4t` | deployment: `examples/gke-consumption-options/dws-flex-start/gke-tpu-v6e/gke-tpu-v6e-deployment.yaml`)
- **Description:** These steps guide you through the cluster creation process for TPUs using DWS Flex Start.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com container.googleapis.com iam.googleapis.com storage.googleapis.com` | `./gcluster deploy -d examples/gke-consumption-options/dws-flex-start/gke-tpu-v6e/gke-tpu-v6e-deployment.yaml examples/gke-consumption-options/dws-flex-start/gke-tpu-v6e/gke-tpu-v6e.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `authorized_cidr`, `project_id`, `region`, `zone` | **defaults:** `accelerator_type=tpu-v6e-slice`, `autoscaling_max_node_count=4`, `autoscaling_min_node_count=0`, `compute_machine_type=ct6e-standard-4t`, `deployment_name=gke-tpu-v6-flex`, `enable_flex_start=true`, `enable_pathways_for_tpus=true`, `kueue_configuration_path=$(ghpc_stage("./kueue-configuration.yaml.tftpl"))`, `num_slices=1`, `system_node_pool_disk_size_gb=200`, `system_node_pool_machine_type=n2-standard-8`, `tpu_topology=4x4`, `v6e_node_pool_disk_size_gb=100`, `version_prefix=1.35.`
- **Modules (`id: source [use]`):** `gke-tpu-v6-net-0: modules/network/vpc`, `gke-tpu-v6-net-1: modules/network/vpc`, `node_pool_service_account: modules/project/service-account`, `workload_service_account: modules/project/service-account`, `training_bucket: modules/file-system/cloud-storage-bucket`, `checkpoint_bucket: modules/file-system/cloud-storage-bucket`, `gke-tpu-v6-cluster: modules/scheduler/gke-cluster [gke-tpu-v6-net-0, workload_service_account]`, `gke-tpu-v6-pool: modules/compute/gke-node-pool [gke-tpu-v6-cluster, node_pool_service_account]`, `workload-manager-install: modules/management/kubectl-apply [gke-tpu-v6-cluster]`, `training-pv: modules/file-system/gke-persistent-volume [training_bucket, gke-tpu-v6-cluster]`, `checkpointing-pv: modules/file-system/gke-persistent-volume [checkpoint_bucket, gke-tpu-v6-cluster]`, `fio-bench-job-template: modules/compute/gke-job-template [checkpointing-pv, training-pv, gke-tpu-v6-pool]`
### examples/gke-g4-confidential/gke-g4-confidential.yaml (`gke-g4-confidential` | scheduler: `gke` | machines: `g4-standard-48` | deployment: `examples/gke-g4-confidential/gke-g4-confidential-deployment.yaml`)
- **Description:** This blueprint provisions a GKE cluster running on Confidential VMs (G4 instances powered by AMD SEV-SNP) and NVIDIA Blackwell GPUs in hardware-enforced Confidential GPU mode (PCIe Secure Passthrough). It also configures secure...
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com container.googleapis.com iam.googleapis.com` | `./gcluster deploy -d examples/gke-g4-confidential/gke-g4-confidential-deployment.yaml examples/gke-g4-confidential/gke-g4-confidential.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `authorized_cidr`, `project_id`, `region`, `reservation`, `zone` | **defaults:** `compute_machine_type=g4-standard-48`, `confidential_storage_capacity_gb=100`, `deployment_name=gke-g4-cvm`, `disk_encryption_kms_key=""`, `enable_confidential_storage=false`, `network_name_0=$("${vars.deployment_name}-net-0")`, `network_name_1=$("${vars.deployment_name}-net-1")`, `num_gpus=1`, `static_node_count=1`, `subnetwork_name_0=$("${vars.deployment_name}-sub-0")`, `subnetwork_name_1=$("${vars.deployment_name}-sub-1")`, `system_node_pool_disk_size_gb=100`, `system_node_pool_machine_type=n2d-standard-16`
- **Modules (`id: source [use]`):** `gke-g4-net-0: modules/network/vpc`, `gke-g4-net-1: modules/network/vpc`, `node_pool_service_account: modules/project/service-account`, `workload_service_account: modules/project/service-account`, `g4-cluster: modules/scheduler/gke-cluster [gke-g4-net-0, workload_service_account]`, `g4-pool: modules/compute/gke-node-pool [g4-cluster, node_pool_service_account]`, `confidential_storage: modules/file-system/gke-storage [g4-cluster]`, `workload-manager-install: modules/management/kubectl-apply [g4-cluster]`, `nvidia_smi_job_template: modules/compute/gke-job-template [g4-pool]`
### examples/gke-g4/gke-g4.yaml (`gke-g4` | scheduler: `gke` | machines: `g4-standard-48` | deployment: `examples/gke-g4/gke-g4-deployment.yaml`)
- **Description:** This blueprint uses GKE to provision a Kubernetes cluster and a G4 node pool, along with networks and service accounts. Information about G4 machines can be found here. The deployment instructions can be found in the README.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com container.googleapis.com iam.googleapis.com` | `./gcluster deploy -d examples/gke-g4/gke-g4-deployment.yaml examples/gke-g4/gke-g4.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `authorized_cidr`, `deployment_name`, `kueue_configuration_path`, `project_id`, `region`, `static_node_count`, `zone` | **defaults:** `auto_repair=true`, `autoscaling_total_min_nodes=0`, `compute_machine_type=g4-standard-48`, `enable_flex_start=false`, `enable_queued_provisioning=false`, `num_gpus=1`, `placement_policy={name: null, type: null}`, `reservation_affinity={consume_reservation_type: SPECIFIC_RESERVATION, specific_reservations: [{name: null}]}`, `spot=false`, `system_node_pool_disk_size_gb=100`, `system_node_pool_machine_type=n2d-standard-16`, `version_prefix=1.35.`
- **Modules (`id: source [use]`):** `gke-g4-net-0: modules/network/vpc`, `gke-g4-net-1: modules/network/vpc`, `node_pool_service_account: modules/project/service-account`, `workload_service_account: modules/project/service-account`, `g4-cluster: modules/scheduler/gke-cluster [gke-g4-net-0, workload_service_account]`, `g4-pool: modules/compute/gke-node-pool [g4-cluster, node_pool_service_account]`, `workload-manager-install: modules/management/kubectl-apply [g4-cluster]`, `nvidia_smi_job_template: modules/compute/gke-job-template [g4-pool]`
### examples/gke-h4d/gke-h4d.yaml (`gke-h4d` | scheduler: `gke` | machines: `h4d-highmem-192-lssd` | deployment: `examples/gke-h4d/gke-h4d-deployment.yaml`)
- **Description:** This blueprint uses GKE to provision a Kubernetes cluster and a H4D node pool, along with networks and service accounts. Information about H4D machines can be found here. The deployment instructions can be found in the README.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com container.googleapis.com file.googleapis.com iam.googleapis.com` | `./gcluster deploy -d examples/gke-h4d/gke-h4d-deployment.yaml examples/gke-h4d/gke-h4d.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `authorized_cidr`, `deployment_name`, `kueue_configuration_path`, `project_id`, `region`, `static_node_count`, `zone` | **defaults:** `auto_repair=true`, `autoscaling_total_min_nodes=0`, `compute_machine_type=h4d-highmem-192-lssd`, `enable_flex_start=false`, `enable_queued_provisioning=false`, `h4d_node_pool_disk_size_gb=100`, `placement_policy={type: COMPACT}`, `reservation_affinity={consume_reservation_type: SPECIFIC_RESERVATION, specific_reservations: [{name: null}]}`, `spot=false`, `system_node_pool_disk_size_gb=100`, `system_node_pool_machine_type=n2d-standard-16`
- **Modules (`id: source [use]`):** `gke-h4d-net: modules/network/vpc`, `gke-h4d-rdma-net: modules/network/multivpc`, `node_pool_service_account: modules/project/service-account`, `workload_service_account: modules/project/service-account`, `h4d-cluster: modules/scheduler/gke-cluster [gke-h4d-net, gke-h4d-rdma-net, workload_service_account]`, `h4d-pool: modules/compute/gke-node-pool [h4d-cluster, gke-h4d-rdma-net, node_pool_service_account]`, `workload-manager-install: modules/management/kubectl-apply [h4d-cluster]`, `filestore: modules/file-system/filestore [gke-h4d-net]`, `shared-filestore-pv: modules/file-system/gke-persistent-volume [h4d-cluster, filestore]`, `shared-fs-job: modules/compute/gke-job-template [h4d-cluster, h4d-pool, shared-filestore-pv]`
### examples/gke-large-scale/gke-scale-5k-autoscaled.yaml (`gke-scale-5k-autoscaled` | scheduler: `gke` | machines: `e2-standard-2`)
- **Description:** Provides blueprints for deploying large-scale GKE Standard clusters (1,000–5,000 nodes) with Kueue, JobSet, Cloud Storage FUSE, Multi-NIC multivpc, and Google Cloud Managed Service for Lustre.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com container.googleapis.com iam.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> examples/gke-large-scale/gke-scale-5k-autoscaled.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `authorized_cidr`, `project_id` | **defaults:** `autoscaling_total_max_nodes=100`, `autoscaling_total_min_nodes=0`, `deployment_name=gke-scale-5k`, `initial_node_count=0`, `jobset_controller_cpu=4`, `jobset_controller_memory=8Gi`, `kueue_controller_cpu=4`, `kueue_controller_memory=8Gi`, `machine_type=e2-standard-2`, `max_pods_per_node=32`, `node_disk_size_gb=100`, `node_disk_type=pd-balanced`, `num_node_pools=49`, `region=us-central1`, `system_node_pool_machine_type=e2-standard-16`, `version_prefix=1.36.`, `zone=us-central1-a`
- **Modules (`id: source [use]`):** `network1: modules/network/vpc`, `node_pool_service_account: modules/project/service-account`, `workload_service_account: modules/project/service-account`, `scale_gcs_bucket: modules/file-system/cloud-storage-bucket`, `gke_cluster: modules/scheduler/gke-cluster [network1, workload_service_account]`, `compute_pools: modules/compute/gke-node-pool [gke_cluster, node_pool_service_account]`, `workload_manager_install: modules/management/kubectl-apply [gke_cluster]`
### examples/gke-large-scale/gke-scale-5k-static.yaml (`gke-scale-5k-static` | scheduler: `gke` | machines: `e2-standard-2`)
- **Description:** Provides blueprints for deploying large-scale GKE Standard clusters (1,000–5,000 nodes) with Kueue, JobSet, Cloud Storage FUSE, Multi-NIC multivpc, and Google Cloud Managed Service for Lustre.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com container.googleapis.com iam.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> examples/gke-large-scale/gke-scale-5k-static.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `authorized_cidr`, `project_id` | **defaults:** `deployment_name=gke-scale-5k`, `jobset_controller_cpu=4`, `jobset_controller_memory=8Gi`, `kueue_controller_cpu=4`, `kueue_controller_memory=8Gi`, `machine_type=e2-standard-2`, `max_pods_per_node=32`, `node_disk_size_gb=100`, `node_disk_type=pd-balanced`, `num_node_pools=49`, `region=us-central1`, `static_node_count=2`, `system_node_pool_machine_type=e2-standard-16`, `version_prefix=1.36.`, `zone=us-central1-a`
- **Modules (`id: source [use]`):** `network1: modules/network/vpc`, `node_pool_service_account: modules/project/service-account`, `workload_service_account: modules/project/service-account`, `scale_gcs_bucket: modules/file-system/cloud-storage-bucket`, `gke_cluster: modules/scheduler/gke-cluster [network1, workload_service_account]`, `compute_pools: modules/compute/gke-node-pool [gke_cluster, node_pool_service_account]`, `workload_manager_install: modules/management/kubectl-apply [gke_cluster]`
### examples/gke-large-scale/gke-scale-multinic-lustre.yaml (`gke-scale-multinic-lustre` | scheduler: `gke` | machines: `c3-standard-8`)
- **Description:** Provides blueprints for deploying large-scale GKE Standard clusters (1,000–5,000 nodes) with Kueue, JobSet, Cloud Storage FUSE, Multi-NIC multivpc, and Google Cloud Managed Service for Lustre.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com container.googleapis.com iam.googleapis.com lustre.googleapis.com servicenetworking.googleapis.com` | `./gcluster deploy -d <deployment.yaml> examples/gke-large-scale/gke-scale-multinic-lustre.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `authorized_cidr`, `project_id` | **defaults:** `deployment_name=scale-mnic-250`, `jobset_controller_cpu=4`, `jobset_controller_memory=8Gi`, `kueue_controller_cpu=4`, `kueue_controller_memory=8Gi`, `lustre_pvc_name=lustre-scale-pvc`, `lustre_size_gib=18000`, `lustre_throughput=1000`, `lustre_zone=us-central1-a`, `machine_type=c3-standard-8`, `max_pods_per_node=32`, `node_disk_size_gb=100`, `node_disk_type=pd-balanced`, `num_node_pools=25`, `region=us-central1`, `secondary_network_count=7`, `secondary_subnet_cidr_suffix=20`, `static_node_count=2`, `system_node_pool_machine_type=e2-standard-16`, `version_prefix=1.36.`, `zone=us-central1-a`
- **Modules (`id: source [use]`):** `network1: modules/network/vpc`, `secondary_vpcs: modules/network/multivpc`, `private_service_access: modules/network/private-service-access [network1]`, `lustre_firewall_rule: modules/network/firewall-rules [network1]`, `managed_lustre: modules/file-system/managed-lustre [network1, private_service_access]`, `node_pool_service_account: modules/project/service-account`, `workload_service_account: modules/project/service-account`, `gke_cluster: modules/scheduler/gke-cluster [network1, secondary_vpcs, workload_service_account]`, `lustre_pvc: modules/file-system/gke-persistent-volume [managed_lustre, gke_cluster]`, `compute_pools: modules/compute/gke-node-pool [gke_cluster, node_pool_service_account, secondary_vpcs]`, `workload_manager_install: modules/management/kubectl-apply [gke_cluster]`
### examples/gke-managed-hyperdisk.yaml (`gke-managed-hyperdisk` | scheduler: `gke` | machines: `c3-standard-88`)
- **Description:** This blueprint shows how to use managed hyperdisk storage options with GKE in the toolkit.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com container.googleapis.com iam.googleapis.com` | `./gcluster deploy -d <deployment.yaml> examples/gke-managed-hyperdisk.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `authorized_cidr`, `project_id` | **defaults:** `compute_machine_type=c3-standard-88`, `deployment_name=gke-managed-hd`, `hyperdisk_balanced_capacity_gb=100`, `hyperdisk_extreme_capacity_gb=100`, `hyperdisk_throughput_capacity_gb=5000`, `region=europe-west1`, `zone=europe-west1-b`
- **Modules (`id: source [use]`):** `network: modules/network/vpc`, `node_pool_service_account: modules/project/service-account`, `workload_service_account: modules/project/service-account`, `gke_cluster: modules/scheduler/gke-cluster [network, workload_service_account]`, `hyperdisk-balanced-setup: modules/file-system/gke-storage [gke_cluster]`, `hyperdisk-throughput-setup: modules/file-system/gke-storage [gke_cluster]`, `hyperdisk-extreme-setup: modules/file-system/gke-storage [gke_cluster]`, `sample-pool: modules/compute/gke-node-pool [gke_cluster, node_pool_service_account]`, `fio-bench-job-template: modules/compute/gke-job-template [gke_cluster, hyperdisk-balanced-setup, hyperdisk-extreme-setup, hyperdisk-throughput-setup]`
### examples/gke-managed-lustre.yaml (`gke-managed-lustre` | scheduler: `gke` | machines: `n2d-standard-4`)
- **Description:** This Cluster Toolkit blueprint deploys a Google Kubernetes Engine (GKE) cluster integrated with Google Cloud Managed Lustre, providing a high-performance file system for demanding workloads.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com container.googleapis.com iam.googleapis.com lustre.googleapis.com servicenetworking.googleapis.com` | `./gcluster deploy -d <deployment.yaml> examples/gke-managed-lustre.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `authorized_cidr`, `deployment_name`, `project_id` | **defaults:** `base_network_name=$(vars.deployment_name)`, `compute_machine_type=n2d-standard-4`, `kms_key=""`, `lustre_instance_id=gke-lustre-instance`, `per_unit_storage_throughput=500`, `region=us-central1`, `size_gib=18000`, `system_node_pool_machine_type=n2d-standard-4`, `version_prefix=1.35.`, `zone=us-central1-a`
- **Modules (`id: source [use]`):** `network: modules/network/vpc`, `private_service_access: modules/network/private-service-access [network]`, `lustre_firewall_rule: modules/network/firewall-rules [network]`, `managed-lustre: modules/file-system/managed-lustre [network, private_service_access]`, `node_pool_service_account: modules/project/service-account`, `workload_service_account: modules/project/service-account`, `gke_cluster: modules/scheduler/gke-cluster [network, workload_service_account]`, `lustre-pv: modules/file-system/gke-persistent-volume [managed-lustre, gke_cluster]`, `gke-lustre-pool: modules/compute/gke-node-pool [gke_cluster, node_pool_service_account]`
### examples/gke-tpu-7x/gke-tpu-7x-advanced.yaml (`gke-tpu-7x` | scheduler: `gke` | machines: `tpu7x-standard-4t` | deployment: `examples/gke-tpu-7x/gke-tpu-7x-deployment.yaml`)
- **Description:** This example shows how TPU 7x cluster can be created and be used to run a job that requires TPU capacity on GKE. Additional information on TPU blueprint and associated changes are in this README.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com container.googleapis.com iam.googleapis.com storage.googleapis.com` | `./gcluster deploy -d examples/gke-tpu-7x/gke-tpu-7x-deployment.yaml examples/gke-tpu-7x/gke-tpu-7x-advanced.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `authorized_cidr`, `autoscaling_max_node_count`, `autoscaling_min_node_count`, `kueue_configuration_path`, `project_id`, `region`, `zone` | **defaults:** `accelerator_type=tpu7x`, `auto_repair=true`, `autoscaling_total_min_nodes=0`, `compute_machine_type=tpu7x-standard-4t`, `deployment_name=gke-tpu-7x`, `enable_dynamic_slicing_for_tpus=false`, `enable_flex_start=false`, `enable_pathways_for_tpus=true`, `enable_queued_provisioning=false`, `num_slices=1`, `reservation_affinity={consume_reservation_type: SPECIFIC_RESERVATION, specific_reservations: [{name: null}]}`, `spot=false`, `system_node_pool_machine_type=n2d-standard-8`, `tpu_topology=2x2x1`, `user_namespace=default`
- **Modules (`id: source [use]`):** `gke-tpu-7x-net-0: modules/network/vpc`, `node_pool_service_account: modules/project/service-account`, `workload_service_account: modules/project/service-account`, `training_bucket: modules/file-system/cloud-storage-bucket`, `checkpoint_bucket: modules/file-system/cloud-storage-bucket`, `gke-tpu-7x-cluster: modules/scheduler/gke-cluster [gke-tpu-7x-net-0, workload_service_account]`, `workload_policy: modules/compute/resource-policy`, `gke-tpu-7x-pool: modules/compute/gke-node-pool [gke-tpu-7x-cluster, node_pool_service_account, workload_policy]`, `workload-manager-install: modules/management/kubectl-apply [gke-tpu-7x-cluster]`, `training-pv: modules/file-system/gke-persistent-volume [training_bucket, gke-tpu-7x-cluster]`, `checkpointing-pv: modules/file-system/gke-persistent-volume [checkpoint_bucket, gke-tpu-7x-cluster]`, `fio-bench-job-template: modules/compute/gke-job-template [checkpointing-pv, training-pv, gke-tpu-7x-pool]`
### examples/gke-tpu-7x/gke-tpu-7x.yaml (`gke-tpu-7x` | scheduler: `gke` | machines: `tpu7x-standard-4t` | deployment: `examples/gke-tpu-7x/gke-tpu-7x-deployment.yaml`)
- **Description:** This example shows how TPU 7x cluster can be created and be used to run a job that requires TPU capacity on GKE. Additional information on TPU blueprint and associated changes are in this README.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com container.googleapis.com iam.googleapis.com` | `./gcluster deploy -d examples/gke-tpu-7x/gke-tpu-7x-deployment.yaml examples/gke-tpu-7x/gke-tpu-7x.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `authorized_cidr`, `autoscaling_max_node_count`, `autoscaling_min_node_count`, `kueue_configuration_path`, `project_id`, `region`, `zone` | **defaults:** `accelerator_type=tpu7x`, `auto_repair=true`, `autoscaling_total_min_nodes=0`, `compute_machine_type=tpu7x-standard-4t`, `deployment_name=gke-tpu-7x`, `enable_dynamic_slicing_for_tpus=false`, `enable_flex_start=false`, `enable_pathways_for_tpus=true`, `enable_queued_provisioning=false`, `num_slices=1`, `reservation_affinity={consume_reservation_type: SPECIFIC_RESERVATION, specific_reservations: [{name: null}]}`, `spot=false`, `system_node_pool_machine_type=n2d-standard-8`, `tpu_topology=2x2x1`, `user_namespace=default`
- **Modules (`id: source [use]`):** `gke-tpu-7x-net: modules/network/vpc`, `node_pool_service_account: modules/project/service-account`, `workload_service_account: modules/project/service-account`, `gke-tpu-7x-cluster: modules/scheduler/gke-cluster [gke-tpu-7x-net, workload_service_account]`, `workload_policy: modules/compute/resource-policy`, `gke-tpu-7x-pool: modules/compute/gke-node-pool [gke-tpu-7x-cluster, node_pool_service_account, workload_policy]`, `workload-manager-install: modules/management/kubectl-apply [gke-tpu-7x-cluster]`
### examples/gke-tpu-v4/gke-tpu-v4.yaml (`gke-tpu-v4` | scheduler: `gke` | machines: `ct4p-hightpu-4t` | deployment: `examples/gke-tpu-v4/gke-tpu-v4-deployment.yaml`)
- **Description:** This example shows how a TPU v4 cluster can be created and used to run a job that requires TPU capacity on GKE. Additional information on this TPU blueprint and associated workloads is in this README.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com container.googleapis.com iam.googleapis.com` | `./gcluster deploy -d examples/gke-tpu-v4/gke-tpu-v4-deployment.yaml examples/gke-tpu-v4/gke-tpu-v4.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `authorized_cidr`, `compute_machine_type`, `deployment_name`, `num_slices`, `project_id`, `region`, `reservation`, `tpu_topology`, `zone` | **defaults:** `accelerator_type=tpu-v4-podslice`, `enable_pathways_for_tpus=true`, `system_node_pool_disk_size_gb=200`, `system_node_pool_machine_type=n2-standard-8`, `user_namespace=default`, `v4_node_pool_disk_size_gb=100`
- **Modules (`id: source [use]`):** `gke-tpu-v4-net: modules/network/vpc`, `node_pool_service_account: modules/project/service-account`, `workload_service_account: modules/project/service-account`, `gke-tpu-v4-cluster: modules/scheduler/gke-cluster [gke-tpu-v4-net, workload_service_account]`, `gke-tpu-v4-pool: modules/compute/gke-node-pool [gke-tpu-v4-cluster, node_pool_service_account]`, `workload-manager-install: modules/management/kubectl-apply [gke-tpu-v4-cluster]`
### examples/gke-tpu-v5e/gke-tpu-v5e.yaml (`gke-tpu-v5e` | scheduler: `gke` | machines: `ct5lp-hightpu-4t` | deployment: `examples/gke-tpu-v5e/gke-tpu-v5e-deployment.yaml`)
- **Description:** This example shows how a TPU v5e cluster can be created and used to run a job that requires TPU capacity on GKE. Additional information on this TPU blueprint and associated workloads is in this README.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com container.googleapis.com iam.googleapis.com` | `./gcluster deploy -d examples/gke-tpu-v5e/gke-tpu-v5e-deployment.yaml examples/gke-tpu-v5e/gke-tpu-v5e.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `authorized_cidr`, `compute_machine_type`, `num_slices`, `project_id`, `region`, `reservation`, `tpu_topology`, `zone` | **defaults:** `accelerator_type=tpu-v5-lite-podslice`, `deployment_name=gke-tpu-v5e`, `enable_pathways_for_tpus=true`, `system_node_pool_disk_size_gb=200`, `system_node_pool_machine_type=n2-standard-8`, `user_namespace=default`, `v5e_node_pool_disk_size_gb=100`
- **Modules (`id: source [use]`):** `gke-tpu-v5e-net: modules/network/vpc`, `node_pool_service_account: modules/project/service-account`, `workload_service_account: modules/project/service-account`, `gke-tpu-v5e-cluster: modules/scheduler/gke-cluster [gke-tpu-v5e-net, workload_service_account]`, `gke-tpu-v5e-pool: modules/compute/gke-node-pool [gke-tpu-v5e-cluster, node_pool_service_account]`, `workload-manager-install: modules/management/kubectl-apply [gke-tpu-v5e-cluster]`
### examples/gke-tpu-v5p/gke-tpu-v5p.yaml (`gke-tpu-v5p` | scheduler: `gke` | machines: `ct5p-hightpu-4t` | deployment: `examples/gke-tpu-v5p/gke-tpu-v5p-deployment.yaml`)
- **Description:** This example shows how a TPU v5p cluster can be created and used to run a job that requires TPU capacity on GKE. Additional information on this TPU blueprint and associated workloads is in this README.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com container.googleapis.com iam.googleapis.com` | `./gcluster deploy -d examples/gke-tpu-v5p/gke-tpu-v5p-deployment.yaml examples/gke-tpu-v5p/gke-tpu-v5p.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `authorized_cidr`, `autoscaling_max_node_count`, `autoscaling_min_node_count`, `compute_machine_type`, `deployment_name`, `kueue_configuration_path`, `project_id`, `region`, `tpu_topology`, `zone` | **defaults:** `accelerator_type=tpu-v5p-slice`, `auto_repair=true`, `autoscaling_total_min_nodes=0`, `enable_flex_start=false`, `enable_pathways_for_tpus=true`, `enable_queued_provisioning=false`, `num_slices=1`, `reservation_affinity={consume_reservation_type: SPECIFIC_RESERVATION, specific_reservations: [{name: null}]}`, `spot=false`, `system_node_pool_disk_size_gb=200`, `system_node_pool_machine_type=n2-standard-8`, `user_namespace=default`, `v5p_node_pool_disk_size_gb=100`
- **Modules (`id: source [use]`):** `gke-tpu-v5p-net: modules/network/vpc`, `node_pool_service_account: modules/project/service-account`, `workload_service_account: modules/project/service-account`, `gke-tpu-v5p-cluster: modules/scheduler/gke-cluster [gke-tpu-v5p-net, workload_service_account]`, `gke-tpu-v5p-pool: modules/compute/gke-node-pool [gke-tpu-v5p-cluster, node_pool_service_account]`, `workload-manager-install: modules/management/kubectl-apply [gke-tpu-v5p-cluster]`
### examples/gke-tpu-v6e/gke-tpu-v6e-advanced.yaml (`gke-tpu-v6e` | scheduler: `gke` | machines: `ct6e-standard-4t` | deployment: `examples/gke-tpu-v6e/gke-tpu-v6e-deployment.yaml`)
- **Description:** This example shows how TPU v6e cluster can be created and be used to run a job that requires TPU capacity on GKE. Additional information on TPU blueprint and associated changes are in this README.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com container.googleapis.com iam.googleapis.com storage.googleapis.com` | `./gcluster deploy -d examples/gke-tpu-v6e/gke-tpu-v6e-deployment.yaml examples/gke-tpu-v6e/gke-tpu-v6e-advanced.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `authorized_cidr`, `autoscaling_max_node_count`, `autoscaling_min_node_count`, `kueue_configuration_path`, `project_id`, `region`, `zone` | **defaults:** `accelerator_type=tpu-v6e-slice`, `auto_repair=true`, `autoscaling_total_min_nodes=0`, `compute_machine_type=ct6e-standard-4t`, `deployment_name=gke-tpu-v6e`, `enable_flex_start=false`, `enable_pathways_for_tpus=true`, `enable_queued_provisioning=false`, `num_slices=2`, `reservation_affinity={consume_reservation_type: SPECIFIC_RESERVATION, specific_reservations: [{name: null}]}`, `spot=false`, `system_node_pool_disk_size_gb=200`, `system_node_pool_machine_type=n2d-standard-8`, `tpu_topology=4x4`, `user_namespace=default`, `v6e_node_pool_disk_size_gb=100`, `version_prefix=1.35.`
- **Modules (`id: source [use]`):** `gke-tpu-v6e-net-0: modules/network/vpc`, `node_pool_service_account: modules/project/service-account`, `workload_service_account: modules/project/service-account`, `training_bucket: modules/file-system/cloud-storage-bucket`, `checkpoint_bucket: modules/file-system/cloud-storage-bucket`, `gke-tpu-v6e-cluster: modules/scheduler/gke-cluster [gke-tpu-v6e-net-0, workload_service_account]`, `gke-tpu-v6e-pool: modules/compute/gke-node-pool [gke-tpu-v6e-cluster, node_pool_service_account]`, `workload-manager-install: modules/management/kubectl-apply [gke-tpu-v6e-cluster]`, `training-pv: modules/file-system/gke-persistent-volume [training_bucket, gke-tpu-v6e-cluster]`, `checkpointing-pv: modules/file-system/gke-persistent-volume [checkpoint_bucket, gke-tpu-v6e-cluster]`, `fio-bench-job-template: modules/compute/gke-job-template [checkpointing-pv, training-pv, gke-tpu-v6e-pool]`
### examples/gke-tpu-v6e/gke-tpu-v6e.yaml (`gke-tpu-v6e` | scheduler: `gke` | machines: `ct6e-standard-4t` | deployment: `examples/gke-tpu-v6e/gke-tpu-v6e-deployment.yaml`)
- **Description:** This example shows how TPU v6e cluster can be created and be used to run a job that requires TPU capacity on GKE. Additional information on TPU blueprint and associated changes are in this README.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com container.googleapis.com iam.googleapis.com` | `./gcluster deploy -d examples/gke-tpu-v6e/gke-tpu-v6e-deployment.yaml examples/gke-tpu-v6e/gke-tpu-v6e.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `authorized_cidr`, `autoscaling_max_node_count`, `autoscaling_min_node_count`, `kueue_configuration_path`, `project_id`, `region`, `zone` | **defaults:** `accelerator_type=tpu-v6e-slice`, `auto_repair=true`, `autoscaling_total_min_nodes=0`, `compute_machine_type=ct6e-standard-4t`, `deployment_name=gke-tpu-v6e`, `enable_flex_start=false`, `enable_pathways_for_tpus=true`, `enable_queued_provisioning=false`, `num_slices=2`, `reservation_affinity={consume_reservation_type: SPECIFIC_RESERVATION, specific_reservations: [{name: null}]}`, `spot=false`, `system_node_pool_disk_size_gb=200`, `system_node_pool_machine_type=n2d-standard-8`, `tpu_topology=4x4`, `user_namespace=default`, `v6e_node_pool_disk_size_gb=100`
- **Modules (`id: source [use]`):** `gke-tpu-v6e-net-0: modules/network/vpc`, `node_pool_service_account: modules/project/service-account`, `workload_service_account: modules/project/service-account`, `gke-tpu-v6e-cluster: modules/scheduler/gke-cluster [gke-tpu-v6e-net-0, workload_service_account]`, `gke-tpu-v6e-pool: modules/compute/gke-node-pool [gke-tpu-v6e-cluster, node_pool_service_account]`, `workload-manager-install: modules/management/kubectl-apply [gke-tpu-v6e-cluster]`
### examples/h4d-vm.yaml (`h4d-cluster` | scheduler: `none` | machines: `h4d-highmem-192-lssd`)
- **Description:** This blueprint deploys a cluster containing a pair of h4d-highmem-192-lssd VMs with RDMA networking enabled along with a filestore instance mounted to /home.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com file.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> examples/h4d-vm.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `base_network_name=$(vars.deployment_name)`, `compute_instance_count=2`, `deployment_name=h4d-cluster`, `hostname_prefix=$("${vars.deployment_name}-odyssey")`, `rdma_net_range=192.168.32.0/24`, `region=us-central1`, `reservation_name=""`, `zone=us-central1-a`
- **Modules (`id: source [use]`):** `cluster-net-0: modules/network/vpc`, `cluster-rdma-net-0: modules/network/vpc`, `homefs: modules/file-system/filestore [cluster-net-0]`, `h4d_startup: modules/scripts/startup-script`, `h4d-vms: modules/compute/vm-instance [h4d_startup, homefs]`, `wait-for-vms: community/modules/scripts/wait-for-startup`
### examples/hcls-blueprint.yaml (`hcls-cluster-v6` | scheduler: `slurm` | machines: `c2-standard-16, c2-standard-60, g2-standard-4`)
- **Description:** This blueprint demonstrates an advanced architecture that can be used to run GROMACS with GPUs and CPUs on Google Cloud. For full documentation, refer document.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com file.googleapis.com iam.googleapis.com servicenetworking.googleapis.com serviceusage.googleapis.com stackdriver.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> examples/hcls-blueprint.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `bucket_force_destroy=false`, `compute_machine_type=c2-standard-60`, `compute_node_count_dynamic_max=20`, `deployment_name=hcls-cluster-v6`, `gpu_machine_type=g2-standard-4`, `gpu_node_count_dynamic_max=20`, `region=asia-southeast1`, `spack_builder_machine_type=c2-standard-16`, `zone=asia-southeast1-b`
- **Modules (`id: source [use]`):** `services-api: community/modules/project/service-enablement`, `network: modules/network/vpc`, `private_service_access: modules/network/private-service-access [network]`, `hpc-dash: modules/monitoring/dashboard`, `homefs: modules/file-system/filestore [network, private_service_access]`, `appsfs: modules/file-system/filestore [network, private_service_access]`, `bucket-software: modules/file-system/cloud-storage-bucket`, `bucket-input: modules/file-system/cloud-storage-bucket`, `bucket-output: modules/file-system/cloud-storage-bucket`, `spack-setup: community/modules/scripts/spack-setup`, `spack-execute: community/modules/scripts/spack-execute [spack-setup]`, `spack-builder-startup: modules/scripts/startup-script`, `spack-builder: modules/compute/vm-instance [network, appsfs, bucket-input, spack-builder-startup]`, `desktop: community/modules/remote-desktop/chrome-remote-desktop [network, homefs, appsfs, bucket-input, bucket-output, bucket-software]`, `compute_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network]`, `compute_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [compute_nodeset]`, `gpu_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network]`, `gpu_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [gpu_nodeset]`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v6-login [network]`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [network, compute_partition, gpu_partition, homefs, appsfs, bucket-input, bucket-output, slurm_login]`
### examples/hpc-enterprise-slurm.yaml (`hpc-enterprise-slurm-v6` | scheduler: `slurm` | machines: `n2-standard-2, c2-standard-60, c2d-standard-112, c3-highcpu-176, a2-ultragpu-8g, a2-megagpu-16g, h3-standard-88`)
- **Description:** This advanced blueprint creates a cluster with Slurm with several performance tunings enabled, along with tiered file systems for higher performance. Some of these features come with additional cost and required additional quotas.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com file.googleapis.com iam.googleapis.com lustre.googleapis.com servicenetworking.googleapis.com stackdriver.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> examples/hpc-enterprise-slurm.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `a2_16_node_count_dynamic_max=16`, `a2_8_node_count_dynamic_max=16`, `c2_node_count_dynamic_max=20`, `c2d_node_count_dynamic_max=20`, `c3_node_count_dynamic_max=20`, `deployment_name=hpc01`, `gpu_zones=[us-central1-a, us-central1-b, us-central1-c, us-central1-f]`, `h3_node_count_dynamic_max=16`, `instance_image_custom=false`, `login_machine_type=n2-standard-4`, `lustre_instance_id=lustre-hpc`, `lustre_size_gib=36000`, `metadata={VmDnsSetting: GlobalOnly}`, `n2_node_count_dynamic_max=4`, `region=us-central1`, `slurm_image={family: aci-cpu-rocky-linux-9-slurm-2605-amd64, project: advanced-compute-images}`, `zone=us-central1-a`
- **Modules (`id: source [use]`):** `network: modules/network/vpc`, `private_service_access: modules/network/private-service-access [network]`, `controller_sa: modules/project/service-account`, `login_sa: modules/project/service-account`, `compute_sa: modules/project/service-account`, `homefs: modules/file-system/filestore [network, private_service_access]`, `projectsfs: modules/file-system/filestore [network, private_service_access]`, `lustre-gcp: modules/file-system/managed-lustre [network, private_service_access]`, `n2_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network, compute_sa]`, `n2_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [n2_nodeset]`, `c2_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network, compute_sa]`, `c2_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [c2_nodeset]`, `c2d_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network, compute_sa]`, `c2d_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [c2d_nodeset]`, `c3_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network, compute_sa]`, `c3_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [c3_nodeset]`, `a2_8_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network, compute_sa]`, `a2_8_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [a2_8_nodeset]`, `a2_16_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network, compute_sa]`, `a2_16_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [a2_16_nodeset]`, ... (see catalog.yaml)
### examples/hpc-gke.yaml (`hpc-gke` | scheduler: `gke` | machines: `c2-standard-60`)
- **Description:** This blueprint uses GKE to provision a Kubernetes cluster with a system node pool (included in gke-cluster module) and an autoscaling compute node pool. It creates a VPC configured to be used by a VPC native GKE cluster with subnet...
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com container.googleapis.com iam.googleapis.com` | `./gcluster deploy -d <deployment.yaml> examples/hpc-gke.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `authorized_cidr`, `project_id` | **defaults:** `compute_autoscaling_total_max_nodes=1000`, `compute_autoscaling_total_min_nodes=0`, `compute_machine_type=c2-standard-60`, `compute_spot=false`, `deployment_name=cluster-01`, `gcp_public_cidrs_access_enabled=false`, `region=us-central1`
- **Modules (`id: source [use]`):** `network1: modules/network/vpc`, `node_pool_service_account: modules/project/service-account`, `workload_service_account: modules/project/service-account`, `gke_cluster: modules/scheduler/gke-cluster [network1, workload_service_account]`, `compute_pool: modules/compute/gke-node-pool [gke_cluster, node_pool_service_account]`, `job-template: modules/compute/gke-job-template [compute_pool]`
### examples/hpc-slurm-h4d/hpc-slurm-h4d.yaml (`slurm-h4d` | scheduler: `slurm` | machines: `h4d-highmem-192-lssd` | deployment: `examples/hpc-slurm-h4d/hpc-slurm-h4d-deployment.yaml`)
- **Description:** Creates a basic auto-scaling Slurm cluster with mostly default settings. The blueprint also creates two new VPC networks, one configured for RDMA networking and the other for non-RDMA networking, along with two filestore instances...
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com file.googleapis.com iam.googleapis.com storage.googleapis.com` | `./gcluster deploy -d examples/hpc-slurm-h4d/hpc-slurm-h4d-deployment.yaml examples/hpc-slurm-h4d/hpc-slurm-h4d.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `deployment_name`, `h4d_cluster_size`, `h4d_reservation_name`, `project_id`, `region`, `zone` | **defaults:** `h4d_dws_flex_enabled=false`, `h4d_enable_spot_vm=false`, `h4d_node_count_dynamic_max=0`, `homefs_size_gb=2560`, `instance_image={family: aci-cpu-rocky-linux-9-slurm-2605-amd64, project: advanced-compute-images}`, `login_machine_type=n2-standard-4`, `rdma_net_range=192.168.128.0/18`
- **Modules (`id: source [use]`):** `h4d-slurm-net-0: modules/network/vpc`, `h4d-rdma-net: modules/network/vpc`, `homefs: modules/file-system/filestore [h4d-slurm-net-0]`, `h4d_startup: modules/scripts/startup-script`, `h4d_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [h4d_startup, h4d-slurm-net-0]`, `h4d_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [h4d_nodeset]`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v6-login [h4d-slurm-net-0]`, `controller_startup: modules/scripts/startup-script`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [h4d-slurm-net-0, h4d_partition, slurm_login, homefs]`
### examples/hpc-slurm.yaml (`hpc-slurm` | scheduler: `slurm` | machines: `n2-standard-2, c2-standard-60, h3-standard-88`)
- **Description:** Creates a basic auto-scaling Slurm cluster with mostly default settings. The blueprint also creates a new VPC network, and a filestore instance mounted to /home.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com file.googleapis.com iam.googleapis.com servicenetworking.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> examples/hpc-slurm.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `compute_enable_spot_vm=false`, `compute_machine_type=c2-standard-60`, `compute_node_count_dynamic_max=20`, `debug_enable_spot_vm=false`, `debug_machine_type=n2-standard-2`, `debug_node_count_dynamic_max=4`, `deployment_name=hpc-slurm`, `h3_enable_spot_vm=false`, `h3_node_count_dynamic_max=20`, `login_machine_type=n2-standard-4`, `region=us-central1`, `zone=us-central1-a`
- **Modules (`id: source [use]`):** `network: modules/network/vpc`, `private_service_access: modules/network/private-service-access [network]`, `homefs: modules/file-system/filestore [network, private_service_access]`, `debug_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network]`, `debug_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [debug_nodeset]`, `compute_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network]`, `compute_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [compute_nodeset]`, `h3_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network]`, `h3_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [h3_nodeset]`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v6-login [network]`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [network, debug_partition, compute_partition, h3_partition, homefs, slurm_login]`
### examples/image-builder.yaml (`image-builder-v6` | scheduler: `slurm` | machines: `c2-standard-60`)
- **Description:** This blueprint uses the Packer template module to create a custom VM image and uses it to provision an HPC cluster using the Slurm scheduler. By using a custom image, the cluster is able to begin running jobs sooner and more reliably...
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com iam.googleapis.com logging.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> examples/image-builder.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `compute_machine_type=c2-standard-60`, `compute_node_count_dynamic_max=20`, `custom_image={family: my-slurm-image, project: $(vars.project_id)}`, `deployment_name=image-builder-v6-001`, `disk_size=50`, `region=us-central1`, `zone=us-central1-a`
- **Modules (`id: source [use]`):** `network: modules/network/vpc`, `scripts_for_image: modules/scripts/startup-script`, `custom-image: modules/packer/custom-image [network, scripts_for_image]`, `compute_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network]`, `compute_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [compute_nodeset]`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v6-login [network]`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [network, compute_partition, slurm_login]`
### examples/machine-learning/a3-highgpu-8g/a3high-slurm-blueprint.yaml (`a3high-slurm` | scheduler: `slurm` | machines: `a3-highgpu-8g` | deployment: `examples/machine-learning/a3-highgpu-8g/a3high-slurm-deployment.yaml`)
- **Description:** This document will guide you to successfully provisioning a Slurm cluster with a3-highgpu-8g compute nodes running NVIDIA H100 GPUs.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com iam.googleapis.com logging.googleapis.com lustre.googleapis.com servicenetworking.googleapis.com storage.googleapis.com` | `./gcluster deploy -d examples/machine-learning/a3-highgpu-8g/a3high-slurm-deployment.yaml examples/machine-learning/a3-highgpu-8g/a3high-slurm-blueprint.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `a3_partition_name`, `a3_reservation_name`, `a3_static_cluster_size`, `deployment_name`, `keyserver_ubuntu_key`, `project_id`, `region`, `slurm_cluster_name`, `tcpx_kernel_login`, `tcpx_kernel_password`, `zone` | **defaults:** `a3_dws_flex_enabled=false`, `a3_enable_spot_vm=false`, `a3_node_count_dynamic_max=0`, `build_slurm_from_git_ref=6.13.2`, `controller_machine_type=c2-standard-8`, `disk_size_gb=200`, `enable_nvidia_dcgm=true`, `image_build_machine_type=c2d-standard-32`, `instance_image={family: $("${vars.deployment_name}-tcpx-image"), project: $(vars.project_id)}`, `local_mount_homefs=/home`, `localssd_mountpoint=/mnt/localssd`, `login_machine_type=c2-standard-4`, `lustre_instance_id=$("${vars.deployment_name}-lustre")`, `lustre_size_gib=36000`, `per_unit_storage_throughput=500`, `source_image_family=ubuntu-2204-lts`, `source_image_project_id=ubuntu-os-cloud`, `sys_net_range=172.16.0.0/16`
- **Modules (`id: source [use]`):** `sysnet: modules/network/vpc`, `gpunets: modules/network/multivpc`, `private_service_access: modules/network/private-service-access [sysnet]`, `homefs: modules/file-system/managed-lustre [sysnet, private_service_access]`, `image_build_script: modules/scripts/startup-script`, `slurm-image: modules/packer/custom-image [image_build_script, sysnet]`, `compute_sa: modules/project/service-account`, `a3_startup: github.com/GoogleCloudPlatform/cluster-toolkit//modules/scripts/startup-script?ref=v1.51.1&depth=1`, `a3_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [sysnet, gpunets, compute_sa, a3_startup]`, `a3_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [a3_nodeset]`, `controller_startup: github.com/GoogleCloudPlatform/cluster-toolkit//modules/scripts/startup-script?ref=v1.51.1&depth=1`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v6-login [sysnet]`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [sysnet, a3_partition, slurm_login, homefs]`
### examples/machine-learning/a3-megagpu-8g/a3mega-slurm-blueprint.yaml (`a3mega-slurm` | scheduler: `slurm` | machines: `n2-standard-2, a3-megagpu-8g` | deployment: `examples/machine-learning/a3-megagpu-8g/a3mega-slurm-deployment.yaml`)
- **Description:** This directory provides a Cluster Toolkit blueprint (a3mega-slurm-blueprint.yaml) and deployment configuration (a3mega-slurm-deployment.yaml) for provisioning a Slurm cluster with a3-megagpu-8g (8x NVIDIA H100) compute nodes...
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com iam.googleapis.com logging.googleapis.com lustre.googleapis.com servicenetworking.googleapis.com storage.googleapis.com` | `./gcluster deploy -d examples/machine-learning/a3-megagpu-8g/a3mega-slurm-deployment.yaml examples/machine-learning/a3-megagpu-8g/a3mega-slurm-blueprint.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `a3mega_cluster_size`, `a3mega_reservation_name`, `deployment_name`, `network_name_system`, `project_id`, `region`, `slurm_cluster_name`, `subnetwork_name_system`, `zone` | **defaults:** `a3mega_dws_flex_enabled=false`, `a3mega_enable_spot_vm=false`, `a3mega_node_count_dynamic_max=0`, `a3mega_partition_name=a3mega`, `base_image={image: ubuntu-accelerator-2404-amd64-with-nvidia-580-v20260522, project: ubuntu-os-accelerator-images}`, `build_slurm_from_git_ref=6.13.2`, `controller_machine_type=c2-standard-8`, `debug_machine_type=n2-standard-2`, `debug_node_count_dynamic_max=4`, `debug_node_count_static=0`, `disk_size_gb=100`, `enable_controller_public_ips=true`, `enable_login_public_ips=true`, `enable_nvidia_dcgm=true`, `enable_nvidia_persistenced=true`, `enable_ops_agent=true`, `final_image_family=slurm-a3mega`, `image_build_machine_type=c2-standard-8`, `instance_image={family: $(vars.final_image_family), project: $(vars.project_id)}`, `local_mount_homefs=/home`, `localssd_mountpoint=/mnt/localssd`, `login_machine_type=c2-standard-4`, `lustre_instance_id=$("${vars.deployment_name}-lustre")`, `lustre_size_gib=36000`, `per_unit_storage_throughput=500`, `sys_net_range=172.16.0.0/16`
- **Modules (`id: source [use]`):** `sysnet: modules/network/vpc`, `image_build_script: modules/scripts/startup-script`, `slurm-image: modules/packer/custom-image [image_build_script, sysnet]`, `data-bucket: modules/file-system/cloud-storage-bucket`, `gpunets: modules/network/multivpc`, `private_service_access: modules/network/private-service-access [sysnet]`, `homefs: modules/file-system/managed-lustre [sysnet, private_service_access]`, `debug_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [sysnet]`, `debug_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [debug_nodeset]`, `a3mega_startup: modules/scripts/startup-script`, `a3mega_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [sysnet, gpunets]`, `a3mega_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [a3mega_nodeset]`, `controller_startup: modules/scripts/startup-script`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v6-login [sysnet]`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [sysnet, a3mega_partition, debug_partition, slurm_login, homefs, data-bucket]`
### examples/machine-learning/a3-megagpu-8g/a3mega-slurm-gcsfuse-lssd-blueprint.yaml (`a3mega-slurm` | scheduler: `slurm` | machines: `n2-standard-2, a3-megagpu-8g` | deployment: `examples/machine-learning/a3-megagpu-8g/a3mega-slurm-deployment.yaml`)
- **Description:** GCSFuse with Local SSD Cache (a3mega-slurm-gcsfuse-lssd-blueprint.yaml): Reflects best practices for using GCSFuse for ML workloads. It is configured to mount GCS buckets on two mountpoints on a3-mega nodes. Use the gcs_bucket variable...
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com file.googleapis.com iam.googleapis.com logging.googleapis.com servicenetworking.googleapis.com storage.googleapis.com` | `./gcluster deploy -d examples/machine-learning/a3-megagpu-8g/a3mega-slurm-deployment.yaml examples/machine-learning/a3-megagpu-8g/a3mega-slurm-gcsfuse-lssd-blueprint.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `a3mega_cluster_size`, `a3mega_reservation_name`, `deployment_name`, `network_name_system`, `project_id`, `region`, `slurm_cluster_name`, `subnetwork_name_system`, `zone` | **defaults:** `a3m_runners=[{content: --- - name: Configure Slurm to depend upon aperture devices hosts: all become: true vars: {}...`, `a3mega_dws_flex_enabled=false`, `a3mega_enable_spot_vm=false`, `a3mega_maintenance_interval=""`, `a3mega_node_count_dynamic_max=0`, `a3mega_partition_name=a3mega`, `base_image={image: ubuntu-accelerator-2204-amd64-with-nvidia-570-v20260210, project: ubuntu-os-accelerator-images}`, `build_slurm_from_git_ref=6.13.2`, `controller_machine_type=c2-standard-8`, `controller_runners=[{content: $("#!/bin/bash\nSLURM_ROOT=/opt/apps/adm/slurm\nmkdir -m 0755 -p \"$${SLURM_ROOT}/scripts\"\nmkdir -p...`, `debug_machine_type=n2-standard-2`, `debug_node_count_dynamic_max=4`, `debug_node_count_static=0`, `enable_controller_public_ips=true`, `enable_login_public_ips=true`, `enable_nvidia_dcgm=true`, `enable_nvidia_persistenced=true`, `enable_ops_agent=true`, `enable_placement=false`, `final_image_family=slurm-a3mega`, `gcs_bucket=""`, `gcsfuse_lssd_runners=[{content: $("---\n- name: Create LSSD optimized gcsfuse mount\n hosts: localhost\n become: true\n tasks:\n -...`, `gcsfuse_runners=[{content: $("---\n- name: Create LSSD optimized gcsfuse mount\n hosts: localhost\n become: true\n tasks:\n -...`, `homefs_size_gb=10240`, `image_build_machine_type=c2-standard-8`, ... (see catalog.yaml)
- **Modules (`id: source [use]`):** `sysnet: modules/network/vpc`, `image_build_script: modules/scripts/startup-script`, `slurm-image: modules/packer/custom-image [image_build_script, sysnet]`, `data-bucket: modules/file-system/cloud-storage-bucket`, `gpunets: modules/network/multivpc`, `private_service_access: modules/network/private-service-access [sysnet]`, `homefs: modules/file-system/filestore [sysnet, private_service_access]`, `debug_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [sysnet]`, `debug_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [debug_nodeset]`, `a3mega_startup: modules/scripts/startup-script`, `a3mega_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [sysnet, gpunets]`, `a3mega_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [a3mega_nodeset]`, `controller_startup: modules/scripts/startup-script`, `login_startup: modules/scripts/startup-script`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v6-login [sysnet]`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [sysnet, a3mega_partition, debug_partition, slurm_login, homefs, data-bucket]`
### examples/machine-learning/a3-ultragpu-8g/a3ultra-slurm-blueprint.yaml (`a3ultra-slurm` | scheduler: `slurm` | machines: `a3-ultragpu-8g` | deployment: `examples/machine-learning/a3-ultragpu-8g/a3ultra-slurm-deployment.yaml`)
- **Description:** This blueprint provisions an A3 Ultra (a3-ultragpu-8g, 8x NVIDIA H200) Slurm cluster with multi-NIC RoCE GPUDirect RDMA networking (gpu-rdma-vpc), a 36 TiB Google Cloud Managed Lustre filesystem (modules/file-system/managed-lustre)...
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com iam.googleapis.com lustre.googleapis.com servicenetworking.googleapis.com storage.googleapis.com` | `./gcluster deploy -d examples/machine-learning/a3-ultragpu-8g/a3ultra-slurm-deployment.yaml examples/machine-learning/a3-ultragpu-8g/a3ultra-slurm-blueprint.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `a3u_cluster_size`, `a3u_reservation_name`, `deployment_name`, `project_id`, `region`, `zone` | **defaults:** `a3u_dws_flex_enabled=false`, `a3u_enable_spot_vm=false`, `a3u_node_count_dynamic_max=0`, `base_network_name=$(vars.deployment_name)`, `controller_disk_size_gb=300`, `controller_machine_type=n2d-standard-16`, `disk_size_gb=300`, `enable_multinic=true`, `instance_image={family: aci-gpu-u2404-slurm-2605-cuda-132-nvidia-595-amd64, project: advanced-compute-images}`, `local_ssd_mountpoint=/mnt/localssd`, `login_disk_size_gb=300`, `login_machine_type=n2d-standard-16`, `lustre_instance_id=$("${vars.deployment_name}-lustre")`, `lustre_size_gib=36000`, `multinic_client_tag=$("${vars.deployment_name}-multinic-client")`, `network_address_range=172.16.0.0/16`, `per_unit_storage_throughput=500`, `primary_subnet=172.16.0.0/20`, `rdma_net_range=192.168.128.0/18`, `secondary_subnet=172.16.16.0/20`
- **Modules (`id: source [use]`):** `a3ultra-slurm-net-0: modules/network/vpc`, `a3ultra-slurm-rdma-net: modules/network/gpu-rdma-vpc`, `private_service_access: modules/network/private-service-access [a3ultra-slurm-net-0]`, `homefs: modules/file-system/managed-lustre [a3ultra-slurm-net-0, private_service_access]`, `gcs_bucket: modules/file-system/cloud-storage-bucket`, `gcs_checkpoints: modules/file-system/pre-existing-network-storage`, `gcs_training_data: modules/file-system/pre-existing-network-storage`, `gcs_model_serving: modules/file-system/pre-existing-network-storage`, `a3ultra_startup: modules/scripts/startup-script`, `a3_ultra_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [a3ultra-slurm-net-0, a3ultra_startup]`, `a3_ultra_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [a3_ultra_nodeset]`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v6-login [a3ultra-slurm-net-0]`, `controller_startup: modules/scripts/startup-script`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [a3ultra-slurm-net-0, a3_ultra_partition, slurm_login, homefs, gcs_bucket]`
### examples/machine-learning/a3-ultragpu-8g/a3ultra-vm.yaml (`a3ultra-vm-instance` | scheduler: `none` | machines: `a3-ultragpu-8g` | deployment: `examples/machine-learning/a3-ultragpu-8g/a3ultra-vm-deployment.yaml`)
- **Description:** The standalone VM blueprint (a3ultra-vm.yaml) uses a Filestore Zonal instance (2.5 TiB / 2560 GiB default, requiring gcloud services enable file.googleapis.com --project=<PROJECT_ID>), which may require a quota increase request. See...
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com file.googleapis.com storage.googleapis.com` | `./gcluster deploy -d examples/machine-learning/a3-ultragpu-8g/a3ultra-vm-deployment.yaml examples/machine-learning/a3-ultragpu-8g/a3ultra-vm.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `a3u_reservation_name`, `number_of_vms`, `project_id`, `region`, `zone` | **defaults:** `a3u_provisioning_model=RESERVATION_BOUND`, `base_network_name=$(vars.deployment_name)`, `deployment_name=a3-ultra-vm`, `filestore_ip_range=192.168.32.0/29`, `homefs_size_gb=2560`, `hostname_prefix=$("${vars.deployment_name}-beowulf")`, `instance_image={name: ubuntu-accelerator-2204-amd64-with-nvidia-570-v20260210, project: ubuntu-os-accelerator-images}`, `net0_range=192.168.0.0/19`, `net1_range=192.168.64.0/18`, `rdma_net_range=192.168.128.0/18`
- **Modules (`id: source [use]`):** `a3ultra-net-0: modules/network/vpc`, `a3ultra-net-1: modules/network/vpc`, `a3ultra-rdma-net: modules/network/gpu-rdma-vpc`, `homefs: modules/file-system/filestore [a3ultra-net-0]`, `startup-script: modules/scripts/startup-script`, `a3ultra-vms: modules/compute/vm-instance [startup-script, homefs]`, `wait-for-vms: community/modules/scripts/wait-for-startup`
### examples/machine-learning/a4-highgpu-8g/a4high-slurm-blueprint.yaml (`a4high-slurm` | scheduler: `slurm` | machines: `a4-highgpu-8g` | deployment: `examples/machine-learning/a4-highgpu-8g/a4high-slurm-deployment.yaml`)
- **Description:** This blueprint provisions an A4 High (a4-highgpu-8g, 8x NVIDIA B200) Slurm cluster with multi-NIC RoCE GPUDirect RDMA networking (gpu-rdma-vpc), a 36 TiB Google Cloud Managed Lustre filesystem (modules/file-system/managed-lustre)...
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com iam.googleapis.com lustre.googleapis.com servicenetworking.googleapis.com storage.googleapis.com` | `./gcluster deploy -d examples/machine-learning/a4-highgpu-8g/a4high-slurm-deployment.yaml examples/machine-learning/a4-highgpu-8g/a4high-slurm-blueprint.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `a4h_cluster_size`, `a4h_reservation_name`, `deployment_name`, `project_id`, `region`, `zone` | **defaults:** `a4h_dws_flex_enabled=false`, `a4h_enable_spot_vm=false`, `a4h_node_count_dynamic_max=0`, `base_network_name=$(vars.deployment_name)`, `benchmark_dir=$(ghpc_stage("system_benchmarks"))`, `controller_machine_type=n2d-standard-8`, `disk_size_gb=300`, `enable_multinic=true`, `instance_image={family: aci-gpu-u2404-slurm-2605-cuda-132-nvidia-595-amd64, project: advanced-compute-images}`, `local_ssd_mountpoint=/mnt/localssd`, `login_machine_type=n2d-standard-8`, `lustre_instance_id=$("${vars.deployment_name}-lustre")`, `lustre_size_gib=36000`, `multinic_client_tag=$("${vars.deployment_name}-multinic-client")`, `network_address_range=172.16.0.0/16`, `per_unit_storage_throughput=500`, `primary_subnet=172.16.0.0/20`, `rdma_net_range=192.168.128.0/18`, `secondary_subnet=172.16.16.0/20`
- **Modules (`id: source [use]`):** `a4high-slurm-net-0: modules/network/vpc`, `a4high-slurm-rdma-net: modules/network/gpu-rdma-vpc`, `private_service_access: modules/network/private-service-access [a4high-slurm-net-0]`, `homefs: modules/file-system/managed-lustre [a4high-slurm-net-0, private_service_access]`, `gcs_bucket: modules/file-system/cloud-storage-bucket`, `gcs_checkpoints: modules/file-system/pre-existing-network-storage`, `gcs_training_data: modules/file-system/pre-existing-network-storage`, `gcs_model_serving: modules/file-system/pre-existing-network-storage`, `a4high_startup: modules/scripts/startup-script`, `a4high_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [a4high-slurm-net-0, a4high_startup]`, `a4high_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [a4high_nodeset]`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v6-login [a4high-slurm-net-0]`, `controller_startup: modules/scripts/startup-script`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [a4high-slurm-net-0, a4high_partition, slurm_login, homefs, gcs_bucket]`
### examples/machine-learning/a4-highgpu-8g/a4high-vm.yaml (`a4high-vm-instance` | scheduler: `none` | machines: `a4-highgpu-8g` | deployment: `examples/machine-learning/a4-highgpu-8g/a4high-vm-deployment.yaml`)
- **Description:** The standalone VM blueprint (a4high-vm.yaml) uses a Filestore Zonal instance (10 TiB / 10240 GiB default, requiring gcloud services enable file.googleapis.com --project=<PROJECT_ID>), which may require a quota increase request. See...
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com file.googleapis.com storage.googleapis.com` | `./gcluster deploy -d examples/machine-learning/a4-highgpu-8g/a4high-vm-deployment.yaml examples/machine-learning/a4-highgpu-8g/a4high-vm.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `a4h_reservation_name`, `number_of_vms`, `project_id`, `region`, `zone` | **defaults:** `a4h_provisioning_model=RESERVATION_BOUND`, `deployment_name=a4-high-vm`, `filestore_ip_range=192.168.32.0/24`, `homefs_size_gb=10240`, `hostname_prefix=$(vars.deployment_name)`, `instance_image={family: ubuntu-2204-lts, project: ubuntu-os-cloud}`, `local_ssd_mountpoint=/mnt/localssd`, `net0_range=192.168.0.0/19`, `net1_range=192.168.64.0/18`, `rdma_net_range=192.168.128.0/18`
- **Modules (`id: source [use]`):** `a4high-net-0: modules/network/vpc`, `a4high-net-1: modules/network/vpc`, `a4high-rdma-net: modules/network/gpu-rdma-vpc`, `homefs: modules/file-system/filestore [a4high-net-0]`, `startup-script: modules/scripts/startup-script`, `a4high-vms: modules/compute/vm-instance [startup-script, homefs]`, `wait-for-vms: community/modules/scripts/wait-for-startup`
### examples/machine-learning/a4x-highgpu-4g/a4x-vm.yaml (`a4x-jbvm` | scheduler: `none` | machines: `a4x-highgpu-4g` | deployment: `examples/machine-learning/a4x-highgpu-4g/a4x-vm-deployment.yaml`)
- **Description:** This section covers deploying A4X High VMs as a standalone group, which is suitable for workloads that do not require the Slurm scheduler.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com file.googleapis.com logging.googleapis.com storage.googleapis.com` | `./gcluster deploy -d examples/machine-learning/a4x-highgpu-4g/a4x-vm-deployment.yaml examples/machine-learning/a4x-highgpu-4g/a4x-vm.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `deployment_name`, `instance_count`, `project_id`, `region`, `reservation_name`, `zone` | **defaults:** `base_image={image: ubuntu-accelerator-2404-arm64-with-nvidia-580-v20260218, project: ubuntu-os-accelerator-images}`, `disk_size_gb=100`, `filestore_ip_range=192.168.32.0/24`, `homefs_size_gb=10240`, `hostname_prefix=$(vars.deployment_name)`, `image_build_machine_type=t2a-standard-16`, `image_disk_size_gb=100`, `instance_image={family: jbvm-ubuntu2404-accelerator-arm64, project: $(vars.project_id)}`, `net0_range=192.168.0.0/19`, `net1_range=192.168.64.0/19`
- **Modules (`id: source [use]`):** `a4x_net_0: modules/network/vpc`, `a4x_net_1: modules/network/vpc`, `image-build-script: modules/scripts/startup-script`, `custom-image: modules/packer/custom-image [a4x_net_0, image-build-script]`, `a4x_rdma_net: modules/network/gpu-rdma-vpc`, `homefs: modules/file-system/filestore [a4x_net_0]`, `a4x_vms: modules/compute/vm-instance [homefs]`, `wait-for-vms: community/modules/scripts/wait-for-startup`
### examples/machine-learning/a4x-highgpu-4g/a4xhigh-slurm-blueprint.yaml (`a4xhigh-slurm` | scheduler: `slurm` | machines: `a4x-highgpu-4g` | deployment: `examples/machine-learning/a4x-highgpu-4g/a4xhigh-slurm-deployment.yaml`)
- **Description:** This document outlines the deployment steps for provisioning A4X High a4x-highgpu-4g VMs using either Slurm as an orchestrator or as a standalone VM group.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com iam.googleapis.com lustre.googleapis.com servicenetworking.googleapis.com storage.googleapis.com` | `./gcluster deploy -d examples/machine-learning/a4x-highgpu-4g/a4xhigh-slurm-deployment.yaml examples/machine-learning/a4x-highgpu-4g/a4xhigh-slurm-blueprint.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `a4x_cluster_size`, `a4x_reservation_name`, `deployment_name`, `project_id`, `region`, `zone` | **defaults:** `a4x_node_count_dynamic_max=0`, `benchmark_dir=$(ghpc_stage("system_benchmarks"))`, `controller_machine_type=t2a-standard-2`, `disk_size_gb=100`, `instance_image={family: aci-gpu-u2404-slurm-2605-cuda-132-nvidia-595-arm64, project: advanced-compute-images}`, `local_ssd_mountpoint=/mnt/localssd`, `login_machine_type=t2a-standard-2`, `lustre_instance_id=$("${vars.deployment_name}-lustre")`, `lustre_size_gib=36000`, `net0_range=192.168.0.0/19`, `net1_range=192.168.64.0/19`, `per_unit_storage_throughput=500`, `rdma_net_range=192.168.128.0/18`
- **Modules (`id: source [use]`):** `a4x-slurm-net-0: modules/network/vpc`, `a4x-slurm-net-1: modules/network/vpc`, `a4x-slurm-rdma-net: modules/network/gpu-rdma-vpc`, `private_service_access: modules/network/private-service-access [a4x-slurm-net-0]`, `homefs: modules/file-system/managed-lustre [a4x-slurm-net-0, private_service_access]`, `gcs_bucket: modules/file-system/cloud-storage-bucket`, `gcs_checkpoints: modules/file-system/pre-existing-network-storage`, `gcs_training_data: modules/file-system/pre-existing-network-storage`, `gcs_model_serving: modules/file-system/pre-existing-network-storage`, `a4x_startup: modules/scripts/startup-script`, `a4x_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [a4x-slurm-net-0, a4x_startup]`, `a4x_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [a4x_nodeset]`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v6-login [a4x-slurm-net-0]`, `controller_startup: modules/scripts/startup-script`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [a4x_partition, a4x-slurm-net-0, homefs, gcs_bucket, slurm_login]`
### examples/machine-learning/a4x-maxgpu-4g-metal/a4xmax-bm-slurm-blueprint.yaml (`a4xmax-bm-slurm` | scheduler: `slurm` | machines: `a4x-maxgpu-4g-metal` | deployment: `examples/machine-learning/a4x-maxgpu-4g-metal/a4xmax-bm-slurm-deployment.yaml`)
- **Description:** This document outlines the deployment steps for provisioning A4X Max a4x-maxgpu-4g-metal VMs using Slurm as an orchestrator.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com iam.googleapis.com logging.googleapis.com lustre.googleapis.com servicenetworking.googleapis.com storage.googleapis.com` | `./gcluster deploy -d examples/machine-learning/a4x-maxgpu-4g-metal/a4xmax-bm-slurm-deployment.yaml examples/machine-learning/a4x-maxgpu-4g-metal/a4xmax-bm-slurm-blueprint.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `a4x_max_cluster_size`, `a4x_max_reservation_name`, `deployment_name`, `project_id`, `region`, `zone` | **defaults:** `a4x_max_node_count_dynamic_max=0`, `benchmark_dir=$(ghpc_stage("system_benchmarks"))`, `build_from_image_family=ubuntu-accelerator-2404-arm64-with-nvidia-580`, `build_from_image_project=ubuntu-os-accelerator-images`, `build_slurm_from_git_ref=6.13.2`, `built_image_family=slurm-ubuntu2404-a4x-max-metal`, `controller_machine_type=c4a-highcpu-16`, `disk_size_gb=100`, `image_build_disk_type=hyperdisk-balanced`, `image_build_machine_type=c4a-highcpu-16`, `image_disk_size_gb=100`, `instance_image={family: $(vars.built_image_family), project: $(vars.project_id)}`, `local_ssd_mountpoint=/mnt/localssd`, `login_machine_type=c4a-standard-4`, `lustre_instance_id=$("${vars.deployment_name}-lustre")`, `lustre_size_gib=18000`, `nccl_plugin_image=us-docker.pkg.dev/gce-ai-infra/gpudirect-gib/nccl-gib-a4x-max-arm64`, `nccl_plugin_version=v1.1.1`, `net0_range=10.1.1.0/24`, `net1_range=10.1.2.0/24`, `per_unit_storage_throughput=500`, `prefix_length=16`, `psa_address=10.10.0.0`, `psa_range=10.10.0.0/16`
- **Modules (`id: source [use]`):** `a4x-max-slurm-image-net: modules/network/vpc`, `slurm-build-script: modules/scripts/startup-script`, `slurm-a4x-max-image: modules/packer/custom-image [a4x-max-slurm-image-net, slurm-build-script]`, `a4x-max-slurm-net-0: modules/network/vpc`, `a4x-max-slurm-net-1: modules/network/vpc`, `a4x-max-rdma-net: modules/network/gpu-rdma-vpc`, `private_service_access: modules/network/private-service-access [a4x-max-slurm-net-0]`, `homefs: modules/file-system/managed-lustre [a4x-max-slurm-net-0, private_service_access]`, `gcs_bucket: modules/file-system/cloud-storage-bucket`, `gcs_checkpoints: modules/file-system/pre-existing-network-storage`, `gcs_training_data: modules/file-system/pre-existing-network-storage`, `gcs_model_serving: modules/file-system/pre-existing-network-storage`, `a4x_max_startup: modules/scripts/startup-script`, `a4x_max_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [a4x-max-slurm-net-0, a4x_max_startup]`, `a4x_max_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [a4x_max_nodeset]`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v6-login [a4x-max-slurm-net-0]`, `controller_startup: modules/scripts/startup-script`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [a4x_max_partition, a4x-max-slurm-net-0, slurm_login, homefs, gcs_bucket]`
### examples/machine-learning/build-service-images/a3m/blueprint.yaml (`roll-a3m-image` | scheduler: `none` | machines: `-`)
- **Description:** Cluster Toolkit blueprint (examples/machine-learning/build-service-images/a3m/blueprint.yaml).
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com logging.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> examples/machine-learning/build-service-images/a3m/blueprint.yaml`
- **Modules (`id: source [use]`):** `image-net: modules/network/vpc`, `build-script: modules/scripts/startup-script`, `image: modules/packer/custom-image [image-net, build-script]`
### examples/machine-learning/build-service-images/a4x/blueprint.yaml (`roll-a4x-image` | scheduler: `none` | machines: `-`)
- **Description:** Cluster Toolkit blueprint (examples/machine-learning/build-service-images/a4x/blueprint.yaml).
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com logging.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> examples/machine-learning/build-service-images/a4x/blueprint.yaml`
- **Modules (`id: source [use]`):** `image-net: modules/network/vpc`, `build-script: modules/scripts/startup-script`, `image: modules/packer/custom-image [image-net, build-script]`
### examples/machine-learning/build-service-images/common/blueprint.yaml (`roll-common-image` | scheduler: `none` | machines: `-`)
- **Description:** Cluster Toolkit blueprint (examples/machine-learning/build-service-images/common/blueprint.yaml).
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com logging.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> examples/machine-learning/build-service-images/common/blueprint.yaml`
- **Modules (`id: source [use]`):** `image-net: modules/network/vpc`, `build-script: modules/scripts/startup-script`, `image: modules/packer/custom-image [image-net, build-script]`
### examples/machine-learning/tpu-v5e-v5p-v6e/tpu-slurm-blueprint.yaml (`tpu-slurm` | scheduler: `slurm` | machines: `ct6e-standard-4t` | deployment: `examples/machine-learning/tpu-v5e-v5p-v6e/tpu-slurm-deployment.yaml`)
- **Description:** This directory provides a Cluster Toolkit blueprint (tpu-slurm-blueprint.yaml) and deployment configuration (tpu-slurm-deployment.yaml) for provisioning a Slurm cluster with TPU (ct6e-standard-4t, ct5p-hightpu-4t, ct5lp-hightpu-4t)...
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com iam.googleapis.com lustre.googleapis.com servicenetworking.googleapis.com storage.googleapis.com` | `./gcluster deploy -d examples/machine-learning/tpu-v5e-v5p-v6e/tpu-slurm-deployment.yaml examples/machine-learning/tpu-v5e-v5p-v6e/tpu-slurm-blueprint.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `deployment_name`, `project_id`, `region`, `tpu_accelerator_topology`, `tpu_dynamic_max_nodes`, `tpu_reservation_name`, `tpu_static_nodes`, `zone` | **defaults:** `disk_size_gb=100`, `instance_image={family: aci-tpu-v5e-v5p-v6e-u2204-slurm-2605-amd64, project: advanced-compute-images}`, `lustre_instance_id=$("${vars.deployment_name}-lustre")`, `lustre_size_gib=36000`, `per_unit_storage_throughput=500`, `tpu_dws_flex_enabled=false`, `tpu_enable_spot_vm=false`, `tpu_machine_type=ct6e-standard-4t`
- **Modules (`id: source [use]`):** `slurm-network: modules/network/vpc`, `private_service_access: modules/network/private-service-access [slurm-network]`, `homefs: modules/file-system/managed-lustre [slurm-network, private_service_access]`, `tpu_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [slurm-network]`, `tpu_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [tpu_nodeset]`, `tpu_dyn_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [slurm-network]`, `tpu_dyn_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [tpu_dyn_nodeset]`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v6-login [slurm-network]`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [tpu_partition, tpu_dyn_partition, slurm_login, slurm-network, homefs]`
### examples/machine-learning/tpu7x-standard-4t/tpu7x-slurm-blueprint.yaml (`tpu7x-slurm` | scheduler: `slurm` | machines: `tpu7x-standard-4t` | deployment: `examples/machine-learning/tpu7x-standard-4t/tpu7x-slurm-deployment.yaml`)
- **Description:** This directory provides a Cluster Toolkit blueprint (tpu7x-slurm-blueprint.yaml) and deployment configuration (tpu7x-slurm-deployment.yaml) for provisioning a Slurm cluster with TPU 7x (tpu7x-standard-4t) compute nodes. It sets up a...
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com iam.googleapis.com lustre.googleapis.com servicenetworking.googleapis.com storage.googleapis.com` | `./gcluster deploy -d examples/machine-learning/tpu7x-standard-4t/tpu7x-slurm-deployment.yaml examples/machine-learning/tpu7x-standard-4t/tpu7x-slurm-blueprint.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `deployment_name`, `project_id`, `region`, `tpu_accelerator_topology`, `tpu_dynamic_max_nodes`, `tpu_reservation_name`, `tpu_static_nodes`, `zone` | **defaults:** `controller_machine_type=n2d-standard-4`, `disk_size_gb=100`, `instance_image={family: aci-tpu-tpu7x-u2404-slurm-2605-amd64, project: advanced-compute-images}`, `login_machine_type=n2d-standard-4`, `lustre_instance_id=$("${vars.deployment_name}-lustre")`, `lustre_size_gib=36000`, `per_unit_storage_throughput=500`, `tpu_dws_flex_enabled=false`, `tpu_enable_spot_vm=false`
- **Modules (`id: source [use]`):** `slurm-network: modules/network/vpc`, `private_service_access: modules/network/private-service-access [slurm-network]`, `homefs: modules/file-system/managed-lustre [slurm-network, private_service_access]`, `tpu_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [slurm-network]`, `tpu_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [tpu_nodeset]`, `tpu_dyn_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [slurm-network]`, `tpu_dyn_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [tpu_dyn_nodeset]`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v6-login [slurm-network]`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [tpu_partition, tpu_dyn_partition, slurm_login, slurm-network, homefs]`
### examples/ml-gke.yaml (`ml-gke` | scheduler: `gke` | machines: `g2-standard-4`)
- **Description:** This blueprint demonstrates how to set up a GPU GKE cluster using the Cluster Toolkit. It includes:
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com container.googleapis.com iam.googleapis.com` | `./gcluster deploy -d <deployment.yaml> examples/ml-gke.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `authorized_cidr`, `project_id` | **defaults:** `compute_machine_type=g2-standard-4`, `compute_spot=false`, `compute_static_node_count=1`, `deployment_name=ml-01`, `gcp_public_cidrs_access_enabled=false`, `region=asia-southeast1`, `zones=[asia-southeast1-b]`
- **Modules (`id: source [use]`):** `network1: modules/network/vpc`, `node_pool_service_account: modules/project/service-account`, `workload_service_account: modules/project/service-account`, `gke_cluster: modules/scheduler/gke-cluster [network1, workload_service_account]`, `g2_pool: modules/compute/gke-node-pool [gke_cluster, node_pool_service_account]`, `nvidia_smi_job_template: modules/compute/gke-job-template [g2_pool]`
### examples/ml-slurm-g4-vgpu.yaml (`ml-slurm-g4-vgpu` | scheduler: `slurm` | machines: `g4-standard-12`)
- **Description:** This blueprint creates a Slurm cluster on Google Cloud optimized for machine learning workloads using NVIDIA G4 vGPUs (Fractional GPUs). It automates the installation of the necessary NVIDIA GRID drivers and configures Slurm to...
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com file.googleapis.com iam.googleapis.com logging.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> examples/ml-slurm-g4-vgpu.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `build_slurm_from_git_ref=6.13.2`, `built_image_family=slurm-vgpu-ubuntu2404`, `compute_disk_size_gb=100`, `compute_machine_type=g4-standard-12`, `compute_node_count_static=2`, `compute_reservation_name=""`, `controller_disk_size_gb=100`, `controller_machine_type=n2-standard-4`, `deployment_name=g4-vgpu`, `filestore_ip_range=192.168.1.0/29`, `homefs_size_gb=2560`, `image_build_machine_type=n2-standard-4`, `image_disk_size_gb=50`, `login_disk_size_gb=100`, `login_machine_type=n2-standard-4`, `net0_range=192.168.0.0/24`, `region=us-central1`, `source_image_family=ubuntu-2404-lts-amd64`, `source_image_project=ubuntu-os-cloud`, `zone=us-central1-b`
- **Modules (`id: source [use]`):** `builder-net: modules/network/vpc`, `slurm-build-script: modules/scripts/startup-script`, `slurm-vgpu-image: modules/packer/custom-image [builder-net, slurm-build-script]`, `network: modules/network/vpc`, `homefs: modules/file-system/filestore [network]`, `g4_node_startup: modules/scripts/startup-script`, `vgpu_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network, g4_node_startup]`, `vgpu_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [vgpu_nodeset]`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v6-login [network]`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [network, vgpu_partition, homefs, slurm_login]`
### examples/ml-slurm-g4.yaml (`ml-slurm-g4` | scheduler: `slurm` | machines: `g4-standard-48`)
- **Description:** This blueprint deploys a high-performance computing (HPC) cluster featuring a Slurm scheduler, optimized for machine learning workloads.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com file.googleapis.com iam.googleapis.com logging.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> examples/ml-slurm-g4.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `build_slurm_from_git_ref=6.13.2`, `built_image_family=slurm-g4-ubuntu2404`, `compute_disk_size_gb=100`, `compute_dws_flex_enabled=false`, `compute_enable_spot_vm=false`, `compute_machine_type=g4-standard-48`, `compute_node_count_static=2`, `compute_reservation_name=""`, `controller_disk_size_gb=100`, `controller_machine_type=n2-standard-4`, `deployment_name=g4-ml-example`, `filestore_ip_range=192.168.1.0/29`, `homefs_size_gb=2560`, `image_build_machine_type=n2-standard-4`, `image_disk_size_gb=50`, `login_disk_size_gb=100`, `login_machine_type=n2-standard-4`, `net0_range=192.168.0.0/24`, `region=us-central1`, `source_image_family=ubuntu-accelerator-2204-amd64-with-nvidia-580`, `source_image_project=ubuntu-os-accelerator-images`, `zone=us-central1-b`
- **Modules (`id: source [use]`):** `builder-net: modules/network/vpc`, `slurm-build-script: modules/scripts/startup-script`, `slurm-g4-image: modules/packer/custom-image [builder-net, slurm-build-script]`, `net0: modules/network/vpc`, `homefs: modules/file-system/filestore [net0]`, `g4_node_startup: modules/scripts/startup-script`, `g4_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [net0, g4_node_startup]`, `g4_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [g4_nodeset]`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v6-login [net0]`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [g4_partition, net0, homefs, slurm_login]`
### examples/ml-slurm.yaml (`ml-slurm-v6` | scheduler: `slurm` | machines: `a2-highgpu-1g, g2-standard-4`)
- **Description:** This blueprint provisions an HPC cluster running the Slurm scheduler with the machine learning frameworks PyTorch and TensorFlow pre-installed on every VM. The cluster has 2 partitions:
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com file.googleapis.com iam.googleapis.com logging.googleapis.com servicenetworking.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> examples/ml-slurm.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `a2_enable_spot_vm=false`, `a2_node_count_dynamic_max=20`, `deployment_name=ml-example-v6`, `disk_size_gb=200`, `g2_enable_spot_vm=false`, `g2_node_count_dynamic_max=20`, `homefs_size_gb=2560`, `image_build_machine_type=c2-standard-4`, `metadata={VmDnsSetting: GlobalOnly}`, `new_image={family: ml-slurm, project: $(vars.project_id)}`, `region=asia-southeast1`, `zone=asia-southeast1-b`, `zones=[asia-southeast1-a, asia-southeast1-b, asia-southeast1-c]`
- **Modules (`id: source [use]`):** `network: modules/network/vpc`, `private_service_access: modules/network/private-service-access [network]`, `homefs: modules/file-system/filestore [network, private_service_access]`, `script: modules/scripts/startup-script`, `custom-image: modules/packer/custom-image [network, script]`, `examples: modules/scripts/startup-script`, `a2_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network]`, `a2_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [a2_nodeset]`, `g2_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network]`, `g2_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [g2_nodeset]`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v6-login [network]`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [network, a2_partition, g2_partition, homefs, slurm_login]`
### examples/netapp-volumes-slurm.yaml (`netapp-volumes-slurm` | scheduler: `slurm` | machines: `n2-standard-4`)
- **Description:** This blueprint creates a basic Slurm cluster that mounts a Flex Unified large-capacity NetApp volume at /home. A private Cloud DNS zone publishes all NFS endpoint IPs under one FQDN so Slurm clients are distributed across endpoints...
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com dns.googleapis.com iam.googleapis.com netapp.googleapis.com servicenetworking.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> examples/netapp-volumes-slurm.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `compute_machine_type=n2-standard-4`, `compute_node_count_dynamic_max=10`, `compute_node_count_static=2`, `controller_machine_type=n2-standard-4`, `deployment_name=netapp-volumes-slurm`, `homefs_capacity_gib=4800`, `login_machine_type=n2-standard-4`, `netapp_pool_capacity_gib=12288`, `region=us-central1`, `zone=us-central1-a`
- **Modules (`id: source [use]`):** `network: modules/network/vpc`, `private_service_access: modules/network/private-service-access [network]`, `gcnv_dns_zone: modules/network/dns-managed-zone`, `netapp_pool: modules/file-system/netapp-storage-pool [network, private_service_access]`, `homefs: modules/file-system/netapp-volume [netapp_pool]`, `compute_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network, homefs]`, `compute_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [compute_nodeset]`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v6-login [network]`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [network, compute_partition, homefs, slurm_login]`
### examples/netapp-volumes.yaml (`netapp-volumes` | scheduler: `none` | machines: `n2-standard-2`)
- **Description:** This blueprint demonstrates how to provision NFS volumes as shared filesystems for compute VMs, using Google Cloud NetApp Volumes. It can be used as an alternative to FileStore in blueprints.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com dns.googleapis.com netapp.googleapis.com servicenetworking.googleapis.com` | `./gcluster deploy -d <deployment.yaml> examples/netapp-volumes.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id`, `region`, `zone` | **defaults:** `client_instance_count=1`, `client_machine_type=n2-standard-2`, `deployment_name=netapp-volumes`, `homefs_capacity_gib=4800`, `netapp_pool_capacity_gib=6144`
- **Modules (`id: source [use]`):** `network: modules/network/vpc`, `private_service_access: modules/network/private-service-access [network]`, `netapp_pool: modules/file-system/netapp-storage-pool [network, private_service_access]`, `homefs: modules/file-system/netapp-volume [netapp_pool]`, `gcnv_instances: modules/compute/vm-instance [network, homefs]`, `wait-for-vms: community/modules/scripts/wait-for-startup`
### examples/pfs-managed-lustre-slurm.yaml (`managed-lustre-slurm` | scheduler: `slurm` | machines: `c2-standard-4`)
- **Description:** This blueprint, managed-lustre-slurm, is a specialized configuration designed to deploy a high-performance compute cluster on Google Cloud. It integrates the Slurm Workload Manager with Google Cloud Managed Service for Lustre, a fully...
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com iam.googleapis.com lustre.googleapis.com servicenetworking.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> examples/pfs-managed-lustre-slurm.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `compute_machine_type=c2-standard-4`, `compute_node_count_dynamic_max=2`, `controller_machine_type=n2-standard-4`, `deployment_name=managed-lustre-slurm`, `kms_key=""`, `login_machine_type=n2-standard-4`, `lustre_instance_id=lustre-instance`, `lustre_size_gib=36000`, `per_unit_storage_throughput=500`, `region=us-central1`, `slurm_image={family: aci-cpu-rocky-linux-9-slurm-2605-amd64, project: advanced-compute-images}`, `zone=us-central1-a`
- **Modules (`id: source [use]`):** `network: modules/network/vpc`, `private_service_access: modules/network/private-service-access [network]`, `lustre-gcp: modules/file-system/managed-lustre [network, private_service_access]`, `lustre-nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network]`, `lustre_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [lustre-nodeset]`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v6-login [network]`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [network, lustre_partition, lustre-gcp, slurm_login]`
### examples/pfs-managed-lustre-vm.yaml (`pfs-managed-lustre-vms` | scheduler: `none` | machines: `n2-standard-2`)
- **Description:** Creates a Managed Lustre file-system that is mounted in one client instance.
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com lustre.googleapis.com servicenetworking.googleapis.com` | `./gcluster deploy -d <deployment.yaml> examples/pfs-managed-lustre-vm.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `client_instance_count=1`, `client_machine_type=n2-standard-2`, `deployment_name=pfs-managed-lustre-vms`, `lustre_instance_id=lustre-instance`, `lustre_size_gib=36000`, `per_unit_storage_throughput=500`, `region=us-central1`, `zone=us-central1-a`
- **Modules (`id: source [use]`):** `network: modules/network/vpc`, `private_service_access: modules/network/private-service-access [network]`, `lustre-gcp: modules/file-system/managed-lustre [network, private_service_access]`, `lustre_ubuntu22_instances: modules/compute/vm-instance [network, lustre-gcp]`
### examples/science/af3-slurm/af3-slurm.yaml (`af3-slurm` | scheduler: `slurm` | machines: `-` | deployment: `examples/science/af3-slurm/af3-slurm-deployment.yaml`)
- **Description:** This blueprint lets you create a high-throughput execution environment for Google Deepmind's AlphaFold 3 in your own GCP project. It uses the unmodified AlphaFold 3 package, and provides a best-practices mapping of it to Google Cloud...
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com iam.googleapis.com logging.googleapis.com serviceusage.googleapis.com stackdriver.googleapis.com storage.googleapis.com` | `./gcluster deploy -d examples/science/af3-slurm/af3-slurm-deployment.yaml examples/science/af3-slurm/af3-slurm.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `af3_job_launcher_runner=[{destination: /tmp/launch_af3_job.sh.j2, source: $(ghpc_stage("examples/simple_job_launcher/launch_af3_job.sh.j2"))...`, `af3_service_runners=[{destination: /tmp/af3config.json.j2, source: $(ghpc_stage("examples/simple_service_launcher/af3config.json.j2"))...`, `af3_service_user_runner=[{args: $("-e service_user=${vars.af3service_user}"), destination: af3-user.yml, source...`, `af3service_activate=false`, `af3service_jobbucket=""`, `af3service_user=af3`, `base_image={family: aci-cpu-rocky-linux-9-slurm-2605-amd64, project: advanced-compute-images}`, `conformer_max_iterations=""`, `controller_machine_type=c2-standard-8`, `controller_runners=[{args: $("-e modelweights_bucket=${vars.modelweights_bucket} -e model_dir=${vars.model_dir} -e...`, `database_bucket=""`, `datapipeline_c3dhm_partition={cpu_count: 8, machine_type: c3d-highmem-180, memory: 60, name: datac3d, node_count_dynamic: 3, node_count_static: 0}`, `datapipeline_runners=[{args: $("-e database_bucket=${vars.database_bucket} -e db_dir=${vars.db_dir}"), destination: datapipeline.yml...`, `db_dir=/dev/shm/public_databases`, `default_datapipeline_partition=$(vars.datapipeline_c3dhm_partition)`, `default_datapipeline_timeout=5400`, `default_inference_partition=$(vars.inference_g2_partition)`, `default_inference_timeout=3600`, `deployment_name=af3-slurm`, `disk_size_gb=64`, `image_build_machine_type=n2-standard-16`, ... (see catalog.yaml)
- **Modules (`id: source [use]`):** `af3_network: modules/network/vpc`, `enable_apis: community/modules/project/service-enablement`, `slurm-image-build-script: modules/scripts/startup-script`, `slurm_image: modules/packer/custom-image [slurm-image-build-script, af3_network]`, `database_bucket: modules/file-system/pre-existing-network-storage`, `login_startup: modules/scripts/startup-script`, `datapipeline_startup: modules/scripts/startup-script`, `inference_startup: modules/scripts/startup-script`, `controller_startup: modules/scripts/startup-script`, `datapipeline_c3dhm_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [af3_network]`, `datapipeline_c3dhm_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [datapipeline_c3dhm_nodeset]`, `inference_g2_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [af3_network]`, `inference_g2_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [inference_g2_nodeset]`, `inference_a2_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [af3_network]`, `inference_a2_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [inference_a2_nodeset]`, `inference_a2u_nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [af3_network]`, `inference_a2u_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [inference_a2u_nodeset]`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v6-login [af3_network]`, ... (see catalog.yaml)
### examples/storage-gke.yaml (`storage-gke` | scheduler: `gke` | machines: `n2d-standard-2, c3d-standard-8`)
- **Description:** This blueprint showcases the integration of several storage solutions:
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com container.googleapis.com file.googleapis.com iam.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> examples/storage-gke.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `authorized_cidr`, `project_id` | **defaults:** `debug_pool_machine_type=n2d-standard-2`, `debug_pool_static_node_count=2`, `deployment_name=storage-gke-01`, `gcp_public_cidrs_access_enabled=false`, `hp_pool_machine_type=c3d-standard-8`, `hp_pool_static_node_count=1`, `hyperdisk_balanced_capacity_gb=20`, `hyperdisk_balanced_storage_pool=$("projects/${vars.project_id}/zones/${vars.zone}/storagePools/your-pool-balanced")`, `hyperdisk_throughput_capacity_gb=5000`, `hyperdisk_throughput_storage_pool=$("projects/${vars.project_id}/zones/${vars.zone}/storagePools/your-pool-throughput")`, `local_ssd_pool_machine_type=n2d-standard-2`, `local_ssd_pool_static_node_count=1`, `region=us-central1`, `system_node_pool_machine_type=n2d-standard-4`, `zone=us-central1-b`
- **Modules (`id: source [use]`):** `network1: modules/network/vpc`, `node_pool_service_account: modules/project/service-account`, `workload_service_account: modules/project/service-account`, `gke_cluster: modules/scheduler/gke-cluster [network1, workload_service_account]`, `debug_pool: modules/compute/gke-node-pool [gke_cluster, node_pool_service_account]`, `data-bucket: modules/file-system/cloud-storage-bucket`, `workload-manager-install: modules/management/kubectl-apply [gke_cluster]`, `apply_mtc_config: modules/management/kubectl-apply [gke_cluster]`, `data-bucket-pv: modules/file-system/gke-persistent-volume [gke_cluster, data-bucket]`, `data-bucket-training-pv: modules/file-system/gke-persistent-volume [gke_cluster, data-bucket]`, `data-bucket-zonal: modules/file-system/cloud-storage-bucket`, `filestore: modules/file-system/filestore [network1]`, `shared-filestore-pv: modules/file-system/gke-persistent-volume [gke_cluster, filestore]`, `shared-fs-job: modules/compute/gke-job-template [gke_cluster, debug_pool, shared-filestore-pv, data-bucket-pv]`, `local-ssd-pool: modules/compute/gke-node-pool [gke_cluster, node_pool_service_account]`, `ephemeral-storage-job: modules/compute/gke-job-template [local-ssd-pool]`, `gke-pool-hp: modules/compute/gke-node-pool [gke_cluster, node_pool_service_account]`, `gke-storage-hp: modules/file-system/gke-storage [gke_cluster]`, `gke-storage-hp-thr: modules/file-system/gke-storage [gke_cluster]`
### examples/storage-slurm.yaml (`storage-slurm` | scheduler: `slurm` | machines: `c3d-standard-4`)
- **Description:** This blueprint showcases the integration of several storage solutions:
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com iam.googleapis.com storage.googleapis.com` | `./gcluster deploy -d <deployment.yaml> examples/storage-slurm.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `compute_data_disk_size_gb=2048`, `compute_machine_type=c3d-standard-4`, `compute_node_count_dynamic_max=2`, `controller_data_disk_size_gb=2048`, `controller_machine_type=c3d-standard-4`, `deployment_name=storage-slurm`, `gcs_bucket_local_mount=/data`, `hyperdisk_balanced_storage_pool=$("projects/${vars.project_id}/zones/${vars.zone}/storagePools/your-pool-balanced")`, `hyperdisk_throughput_storage_pool=$("projects/${vars.project_id}/zones/${vars.zone}/storagePools/your-pool-throughput")`, `login_data_disk_size_gb=2048`, `login_machine_type=c3d-standard-4`, `region=us-central1`, `regional_gcs_bucket_local_mount=/data_regional`, `zone=us-central1-b`
- **Modules (`id: source [use]`):** `network: modules/network/vpc`, `zonal-gcs-bucket: modules/file-system/cloud-storage-bucket`, `regional-gcs-bucket: modules/file-system/cloud-storage-bucket`, `slurm-nodeset: community/modules/compute/schedmd-slurm-gcp-v6-nodeset [network]`, `rapid_partition: community/modules/compute/schedmd-slurm-gcp-v6-partition [slurm-nodeset]`, `slurm_login: community/modules/scheduler/schedmd-slurm-gcp-v6-login [network]`, `slurm_controller: community/modules/scheduler/schedmd-slurm-gcp-v6-controller [network, rapid_partition, zonal-gcs-bucket, regional-gcs-bucket, slurm_login]`
### examples/storage-vm.yaml (`storage-vm` | scheduler: `none` | machines: `c3d-standard-4`)
- **Description:** Creates a standalone VM instance and securely attaches persistent disks that are provisioned directly into specified hyperdisk-balanced and hyperdisk-throughput Storage Pools. This allows the VM to share IOPS and throughput capacity...
- **APIs & Deploy:** `gcloud services enable compute.googleapis.com` | `./gcluster deploy -d <deployment.yaml> examples/storage-vm.yaml`
- **Vars (`vars:`):** **unset (no default; `./gcluster explain` marks which are optional):** `project_id` | **defaults:** `compute_data_disk_size_gb=2048`, `compute_instance_count=1`, `compute_machine_type=c3d-standard-4`, `deployment_name=vm-storage`, `hyperdisk_balanced_storage_pool=$("projects/${vars.project_id}/zones/${vars.zone}/storagePools/your-pool-balanced")`, `hyperdisk_throughput_storage_pool=$("projects/${vars.project_id}/zones/${vars.zone}/storagePools/your-pool-throughput")`, `network_name=default-net`, `region=us-central1`, `test_name=vm-storage`, `zone=us-central1-b`
- **Modules (`id: source [use]`):** `network: modules/network/vpc`, `vm: modules/compute/vm-instance [network]`
## 2. Embedded Modules Reference
| Module Source | Required GCP APIs (`gcloud services enable`) | Required Inputs (excl. globals) | Recommended Upstream (`use:`) | Consumed By Downstream |
| :--- | :--- | :--- | :--- | :--- |
| `community/modules/ai/discovery-engine` | `discoveryengine.googleapis.com` | `assistant_id`, `engine_id` | - | - |
| `community/modules/compute/colab` | `aiplatform.googleapis.com`, `storage.googleapis.com` | `runtime_user` | - | - |
| `community/modules/compute/gke-nodeset` | `container.googleapis.com`, `storage.googleapis.com` | `cluster_id`, `filestore_id`, `image`, `instance_templates`, `network_storage`, `node_count_static`, `node_pool_names`, `slurm_bucket`, `slurm_bucket_dir`, `slurm_cluster_name`, `slurm_controller_instance`, `subnetwork` | `community/modules/file-system/nfs-server`, `community/modules/scheduler/schedmd-slurm-gcp-v6-controller`, `modules/compute/gke-node-pool`, `modules/file-system/cloud-storage-bucket`, `modules/file-system/filestore`, `modules/file-system/managed-lustre`, `modules/file-system/netapp-volume`, `modules/file-system/parallelstore`, `modules/file-system/pre-existing-network-storage`, ... (see catalog.yaml) | `community/modules/compute/gke-partition` |
| `community/modules/compute/gke-partition` | `storage.googleapis.com` | `slurm_bucket`, `slurm_bucket_dir` | `community/modules/scheduler/schedmd-slurm-gcp-v6-controller` | - |
| `community/modules/compute/htcondor-execute-point` | `compute.googleapis.com`, `storage.googleapis.com` | `central_manager_ips`, `execute_point_service_account_email`, `htcondor_bucket_name`, `name_prefix` | `community/modules/scheduler/htcondor-central-manager`, `community/modules/scheduler/htcondor-service-accounts`, `community/modules/scheduler/htcondor-setup` | `community/modules/scheduler/htcondor-access-point` |
| `community/modules/compute/mig` | `compute.googleapis.com` | `versions` | - | - |
| `community/modules/compute/notebook` | `notebooks.googleapis.com`, `storage.googleapis.com` | `machine_type`, `mount_runner` | `community/modules/file-system/nfs-server`, `community/modules/file-system/weka-client`, `modules/file-system/cloud-storage-bucket`, `modules/file-system/filestore`, `modules/file-system/netapp-volume`, `modules/file-system/pre-existing-network-storage` | - |
| `community/modules/compute/schedmd-slurm-gcp-v6-nodeset` | - | `subnetwork_self_link` | `modules/network/pre-existing-subnetwork`, `modules/network/pre-existing-vpc`, `modules/network/vpc` | `community/modules/compute/schedmd-slurm-gcp-v6-partition`, `community/modules/scheduler/schedmd-slurm-gcp-v6-controller` |
| `community/modules/compute/schedmd-slurm-gcp-v6-nodeset-dynamic` | `compute.googleapis.com` | `slurm_bucket_path`, `slurm_cluster_name`, `subnetwork_self_link` | `community/modules/scheduler/schedmd-slurm-gcp-v6-controller`, `modules/network/pre-existing-subnetwork`, `modules/network/pre-existing-vpc`, `modules/network/vpc` | `community/modules/compute/schedmd-slurm-gcp-v6-partition`, `community/modules/scheduler/schedmd-slurm-gcp-v6-controller` |
| `community/modules/compute/schedmd-slurm-gcp-v6-nodeset-tpu` | - | `subnetwork_self_link` | `modules/network/pre-existing-subnetwork`, `modules/network/pre-existing-vpc`, `modules/network/vpc` | `community/modules/compute/schedmd-slurm-gcp-v6-partition`, `community/modules/scheduler/schedmd-slurm-gcp-v6-controller` |
| `community/modules/compute/schedmd-slurm-gcp-v6-partition` | - | `partition_name` | - | `community/modules/scheduler/schedmd-slurm-gcp-v6-controller` |
| `community/modules/container/apptainer-app` | - | `app_id`, `display_name`, `image_ref` | - | - |
| `community/modules/container/apptainer-runtime` | - | none | - | - |
| `community/modules/container/artifact-registry` | `artifactregistry.googleapis.com`, `cloudbuild.googleapis.com`, `secretmanager.googleapis.com` | none | - | - |
| `community/modules/container/cloud-build` | `cloudbuild.googleapis.com` | none | - | - |
| `community/modules/database/bigquery-dataset` | `bigquery.googleapis.com` | none | - | `community/modules/database/bigquery-table`, `community/modules/files/fsi-montecarlo-on-batch`, `community/modules/pubsub/bigquery-sub` |
| `community/modules/database/bigquery-table` | `bigquery.googleapis.com` | `dataset_id`, `table_schema` | `community/modules/database/bigquery-dataset` | `community/modules/files/fsi-montecarlo-on-batch`, `community/modules/pubsub/bigquery-sub` |
| `community/modules/database/slurm-cloudsql-federation` | `bigqueryconnection.googleapis.com`, `servicenetworking.googleapis.com`, `sqladmin.googleapis.com` | `network_id`, `sql_instance_name`, `tier` | `modules/network/gpu-rdma-vpc`, `modules/network/pre-existing-vpc`, `modules/network/vpc` | - |
| `community/modules/file-system/gcs-objects` | `storage.googleapis.com` | `bucket_name` | - | - |
| `community/modules/file-system/gcs-sync` | `storage.googleapis.com` | `bucket_name` | - | - |
| `community/modules/file-system/nfs-server` | `compute.googleapis.com` | none | - | `community/modules/compute/gke-nodeset`, `community/modules/compute/htcondor-execute-point`, `community/modules/compute/notebook`, `community/modules/compute/schedmd-slurm-gcp-v6-nodeset`, `community/modules/compute/schedmd-slurm-gcp-v6-nodeset-dynamic`, `community/modules/compute/schedmd-slurm-gcp-v6-nodeset-tpu`, `community/modules/compute/schedmd-slurm-gcp-v6-partition`, `community/modules/container/apptainer-app`, `community/modules/container/apptainer-runtime`, `community/modules/remote-desktop/chrome-remote-desktop`, `community/modules/scheduler/htcondor-access-point`, ... (see catalog.yaml) |
| `community/modules/file-system/weka-client` | - | `remote_mount` | - | `community/modules/compute/notebook` |
| `community/modules/files/fsi-montecarlo-on-batch` | `storage.googleapis.com` | `dataset_id`, `table_id`, `topic_id`, `topic_schema` | `community/modules/database/bigquery-dataset`, `community/modules/pubsub/topic` | - |
| `community/modules/management/dependencies-installer` | `container.googleapis.com` | `cluster_id` | `modules/scheduler/gke-cluster`, `modules/scheduler/pre-existing-gke-cluster` | - |
| `community/modules/management/direct-helm-install` | `container.googleapis.com` | `chart_name`, `cluster_id`, `release_name` | `modules/scheduler/gke-cluster`, `modules/scheduler/pre-existing-gke-cluster` | - |
| `community/modules/management/helm-upgrade` | `container.googleapis.com` | `chart_name`, `cluster_name`, `location`, `namespace`, `release_name` | - | - |
| `community/modules/network/int-app-lb` | `compute.googleapis.com` | `backends`, `endpoints`, `network_self_link`, `subnetwork_self_link` | `modules/network/gpu-rdma-vpc`, `modules/network/pre-existing-subnetwork`, `modules/network/pre-existing-vpc`, `modules/network/vpc` | - |
| `community/modules/project/pre-existing-project` | `cloudresourcemanager.googleapis.com` | none | - | - |
| `community/modules/project/project-metadata` | `compute.googleapis.com` | `metadata` | - | - |
| `community/modules/project/service-agent` | `serviceusage.googleapis.com` | `service` | - | - |
| `community/modules/project/service-enablement` | `serviceusage.googleapis.com` | `gcp_service_list` | - | - |
| `community/modules/pubsub/bigquery-sub` | `pubsub.googleapis.com` | `dataset_id`, `table_id`, `topic_id` | `community/modules/database/bigquery-dataset`, `community/modules/pubsub/topic` | - |
| `community/modules/pubsub/topic` | `pubsub.googleapis.com` | none | - | `community/modules/files/fsi-montecarlo-on-batch`, `community/modules/pubsub/bigquery-sub` |
| `community/modules/remote-desktop/chrome-remote-desktop` | - | `install_nvidia_driver` | - | - |
| `community/modules/scheduler/htcondor-access-point` | `compute.googleapis.com`, `storage.googleapis.com` | `access_point_service_account_email`, `central_manager_ips`, `htcondor_bucket_name`, `instance_image` | `community/modules/scheduler/htcondor-central-manager`, `community/modules/scheduler/htcondor-service-accounts`, `community/modules/scheduler/htcondor-setup` | - |
| `community/modules/scheduler/htcondor-central-manager` | `compute.googleapis.com`, `storage.googleapis.com` | `central_manager_service_account_email`, `htcondor_bucket_name`, `instance_image` | `community/modules/scheduler/htcondor-service-accounts`, `community/modules/scheduler/htcondor-setup` | `community/modules/compute/htcondor-execute-point`, `community/modules/scheduler/htcondor-access-point` |
| `community/modules/scheduler/htcondor-pool-secrets` | `iam.googleapis.com`, `secretmanager.googleapis.com` | `access_point_service_account_email`, `central_manager_service_account_email`, `execute_point_service_account_email` | `community/modules/scheduler/htcondor-service-accounts` | `community/modules/compute/htcondor-execute-point`, `community/modules/scheduler/htcondor-access-point`, `community/modules/scheduler/htcondor-central-manager` |
| `community/modules/scheduler/htcondor-service-accounts` | `iam.googleapis.com` | none | - | `community/modules/compute/htcondor-execute-point`, `community/modules/scheduler/htcondor-access-point`, `community/modules/scheduler/htcondor-central-manager`, `community/modules/scheduler/htcondor-pool-secrets`, `community/modules/scheduler/htcondor-setup` |
| `community/modules/scheduler/htcondor-setup` | `compute.googleapis.com`, `iam.googleapis.com`, `storage.googleapis.com` | `access_point_service_account_email`, `central_manager_service_account_email`, `execute_point_service_account_email`, `subnetwork_self_link` | `community/modules/scheduler/htcondor-service-accounts`, `modules/network/pre-existing-subnetwork`, `modules/network/pre-existing-vpc`, `modules/network/vpc` | `community/modules/compute/htcondor-execute-point`, `community/modules/scheduler/htcondor-access-point`, `community/modules/scheduler/htcondor-central-manager` |
| `community/modules/scheduler/schedmd-slurm-gcp-v6-controller` | `compute.googleapis.com`, `iam.googleapis.com`, `storage.googleapis.com` | `subnetwork_self_link` | `modules/network/pre-existing-subnetwork`, `modules/network/pre-existing-vpc`, `modules/network/vpc` | `community/modules/compute/gke-nodeset`, `community/modules/compute/gke-partition`, `community/modules/compute/schedmd-slurm-gcp-v6-nodeset-dynamic` |
| `community/modules/scheduler/schedmd-slurm-gcp-v6-login` | - | `subnetwork_self_link` | `modules/network/pre-existing-subnetwork`, `modules/network/pre-existing-vpc`, `modules/network/vpc` | `community/modules/scheduler/schedmd-slurm-gcp-v6-controller` |
| `community/modules/scheduler/slinky` | `container.googleapis.com` | `cluster_id` | `modules/scheduler/gke-cluster`, `modules/scheduler/pre-existing-gke-cluster` | `community/modules/compute/gke-nodeset` |
| `community/modules/scripts/gcloud` | - | none | - | - |
| `community/modules/scripts/gke-backend-fetcher` | `compute.googleapis.com`, `container.googleapis.com` | `cluster_name`, `location`, `namespace`, `service_name`, `service_port` | - | `modules/iam/iap-policy` |
| `community/modules/scripts/htcondor-install` | - | none | - | `modules/scripts/startup-script` |
| `community/modules/scripts/ramble-execute` | - | `gcs_bucket_path`, `ramble_profile_script_path`, `ramble_runner`, `system_user_name` | `community/modules/scripts/ramble-setup`, `community/modules/scripts/spack-setup`, `modules/file-system/cloud-storage-bucket` | `community/modules/compute/schedmd-slurm-gcp-v6-nodeset`, `community/modules/compute/schedmd-slurm-gcp-v6-nodeset-dynamic`, `community/modules/remote-desktop/chrome-remote-desktop`, `community/modules/scheduler/schedmd-slurm-gcp-v6-controller`, `community/modules/scheduler/schedmd-slurm-gcp-v6-login`, `modules/compute/vm-instance`, `modules/packer/custom-image`, `modules/scheduler/batch-job-template`, `modules/scheduler/batch-login-node` |
| `community/modules/scripts/ramble-setup` | - | none | - | `community/modules/compute/schedmd-slurm-gcp-v6-nodeset`, `community/modules/compute/schedmd-slurm-gcp-v6-nodeset-dynamic`, `community/modules/remote-desktop/chrome-remote-desktop`, `community/modules/scheduler/schedmd-slurm-gcp-v6-controller`, `community/modules/scheduler/schedmd-slurm-gcp-v6-login`, `community/modules/scripts/ramble-execute`, `community/modules/scripts/spack-execute`, `modules/compute/vm-instance`, `modules/packer/custom-image`, `modules/scheduler/batch-job-template`, `modules/scheduler/batch-login-node` |
| `community/modules/scripts/spack-execute` | - | `gcs_bucket_path`, `spack_profile_script_path`, `spack_runner`, `system_user_name` | `community/modules/scripts/ramble-setup`, `community/modules/scripts/spack-setup`, `modules/file-system/cloud-storage-bucket` | `community/modules/compute/schedmd-slurm-gcp-v6-nodeset`, `community/modules/compute/schedmd-slurm-gcp-v6-nodeset-dynamic`, `community/modules/remote-desktop/chrome-remote-desktop`, `community/modules/scheduler/schedmd-slurm-gcp-v6-controller`, `community/modules/scheduler/schedmd-slurm-gcp-v6-login`, `modules/compute/vm-instance`, `modules/packer/custom-image`, `modules/scheduler/batch-job-template`, `modules/scheduler/batch-login-node` |
| `community/modules/scripts/spack-setup` | `storage.googleapis.com` | none | - | `community/modules/compute/schedmd-slurm-gcp-v6-nodeset`, `community/modules/compute/schedmd-slurm-gcp-v6-nodeset-dynamic`, `community/modules/remote-desktop/chrome-remote-desktop`, `community/modules/scheduler/schedmd-slurm-gcp-v6-controller`, `community/modules/scheduler/schedmd-slurm-gcp-v6-login`, `community/modules/scripts/ramble-execute`, `community/modules/scripts/spack-execute`, `modules/compute/vm-instance`, `modules/packer/custom-image`, `modules/scheduler/batch-job-template`, `modules/scheduler/batch-login-node` |
| `community/modules/scripts/spanner-migrations-runner` | `spanner.googleapis.com` | `database_name`, `instance_name`, `migrations_dir` | - | - |
| `community/modules/scripts/wait-for-startup` | `compute.googleapis.com` | none | - | - |
| `community/modules/scripts/windows-startup-script` | - | none | - | - |
| `community/modules/security/kms-key` | `cloudkms.googleapis.com` | `deletion_policy`, `key_name`, `location` | - | `community/modules/security/kms-key-iam` |
| `community/modules/security/kms-key-iam` | `cloudkms.googleapis.com` | `crypto_key_id` | `community/modules/security/kms-key`, `community/modules/security/pre-existing-kms-key` | `community/modules/compute/schedmd-slurm-gcp-v6-nodeset`, `community/modules/scheduler/schedmd-slurm-gcp-v6-controller`, `community/modules/scheduler/schedmd-slurm-gcp-v6-login`, `modules/file-system/filestore` |
| `community/modules/security/pre-existing-kms-key` | `cloudkms.googleapis.com` | `key_name`, `key_ring_name`, `location` | - | `community/modules/security/kms-key-iam` |
| `modules/compute/cloud-run` | `run.googleapis.com` | `image`, `service_name` | - | - |
| `modules/compute/gke-job-template` | - | none | - | - |
| `modules/compute/gke-node-pool` | `container.googleapis.com` | `cluster_id`, `gke_version` | `modules/scheduler/gke-cluster`, `modules/scheduler/pre-existing-gke-cluster` | `community/modules/compute/gke-nodeset`, `community/modules/scheduler/slinky`, `modules/compute/gke-job-template` |
| `modules/compute/resource-policy` | `compute.googleapis.com` | `name` | - | `modules/compute/gke-node-pool` |
| `modules/compute/vm-instance` | `compute.googleapis.com` | none | - | - |
| `modules/database/redis` | `redis.googleapis.com` | `environment`, `network_self_link` | `modules/network/gpu-rdma-vpc`, `modules/network/pre-existing-vpc`, `modules/network/vpc` | - |
| `modules/database/spanner` | `spanner.googleapis.com` | `instance_name` | - | - |
| `modules/file-system/cloud-storage-bucket` | `storage.googleapis.com` | none | - | `community/modules/compute/gke-nodeset`, `community/modules/compute/htcondor-execute-point`, `community/modules/compute/notebook`, `community/modules/compute/schedmd-slurm-gcp-v6-nodeset`, `community/modules/compute/schedmd-slurm-gcp-v6-nodeset-dynamic`, `community/modules/compute/schedmd-slurm-gcp-v6-nodeset-tpu`, `community/modules/compute/schedmd-slurm-gcp-v6-partition`, `community/modules/container/apptainer-app`, `community/modules/container/apptainer-runtime`, `community/modules/files/fsi-montecarlo-on-batch`, `community/modules/remote-desktop/chrome-remote-desktop`, ... (see catalog.yaml) |
| `modules/file-system/filestore` | `file.googleapis.com` | `network_id` | `modules/network/gpu-rdma-vpc`, `modules/network/pre-existing-vpc`, `modules/network/vpc` | `community/modules/compute/gke-nodeset`, `community/modules/compute/htcondor-execute-point`, `community/modules/compute/notebook`, `community/modules/compute/schedmd-slurm-gcp-v6-nodeset`, `community/modules/compute/schedmd-slurm-gcp-v6-nodeset-dynamic`, `community/modules/compute/schedmd-slurm-gcp-v6-nodeset-tpu`, `community/modules/compute/schedmd-slurm-gcp-v6-partition`, `community/modules/container/apptainer-app`, `community/modules/container/apptainer-runtime`, `community/modules/remote-desktop/chrome-remote-desktop`, `community/modules/scheduler/htcondor-access-point`, ... (see catalog.yaml) |
| `modules/file-system/gke-persistent-volume` | - | `capacity_gib`, `cluster_id`, `network_storage` | `community/modules/file-system/nfs-server`, `modules/file-system/cloud-storage-bucket`, `modules/file-system/filestore`, `modules/file-system/managed-lustre`, `modules/file-system/netapp-volume`, `modules/file-system/parallelstore`, `modules/file-system/pre-existing-network-storage`, `modules/scheduler/gke-cluster`, `modules/scheduler/pre-existing-gke-cluster` | `modules/compute/gke-job-template` |
| `modules/file-system/gke-storage` | - | `access_mode`, `capacity_gb`, `cluster_id`, `sc_reclaim_policy`, `storage_type` | `modules/scheduler/gke-cluster`, `modules/scheduler/pre-existing-gke-cluster` | `modules/compute/gke-job-template` |
| `modules/file-system/managed-lustre` | `lustre.googleapis.com` | `name`, `network_id`, `network_self_link`, `private_vpc_connection_peering`, `remote_mount` | `modules/network/gpu-rdma-vpc`, `modules/network/pre-existing-vpc`, `modules/network/private-service-access`, `modules/network/vpc` | `community/modules/compute/gke-nodeset`, `community/modules/compute/htcondor-execute-point`, `community/modules/compute/schedmd-slurm-gcp-v6-nodeset`, `community/modules/compute/schedmd-slurm-gcp-v6-nodeset-dynamic`, `community/modules/compute/schedmd-slurm-gcp-v6-nodeset-tpu`, `community/modules/compute/schedmd-slurm-gcp-v6-partition`, `community/modules/container/apptainer-app`, `community/modules/container/apptainer-runtime`, `community/modules/remote-desktop/chrome-remote-desktop`, `community/modules/scheduler/htcondor-access-point`, `community/modules/scheduler/htcondor-central-manager`, ... (see catalog.yaml) |
| `modules/file-system/netapp-storage-pool` | `netapp.googleapis.com`, `servicenetworking.googleapis.com` | `network_id`, `network_self_link` | `modules/network/gpu-rdma-vpc`, `modules/network/pre-existing-vpc`, `modules/network/vpc` | `modules/file-system/netapp-volume` |
| `modules/file-system/netapp-volume` | `dns.googleapis.com`, `netapp.googleapis.com` | `netapp_storage_pool_id`, `volume_name` | `modules/file-system/netapp-storage-pool` | `community/modules/compute/gke-nodeset`, `community/modules/compute/htcondor-execute-point`, `community/modules/compute/notebook`, `community/modules/compute/schedmd-slurm-gcp-v6-nodeset`, `community/modules/compute/schedmd-slurm-gcp-v6-nodeset-dynamic`, `community/modules/compute/schedmd-slurm-gcp-v6-nodeset-tpu`, `community/modules/compute/schedmd-slurm-gcp-v6-partition`, `community/modules/container/apptainer-app`, `community/modules/container/apptainer-runtime`, `community/modules/remote-desktop/chrome-remote-desktop`, `community/modules/scheduler/htcondor-access-point`, ... (see catalog.yaml) |
| `modules/file-system/parallelstore` | `parallelstore.googleapis.com` | `network_id`, `private_vpc_connection_peering` | `modules/network/gpu-rdma-vpc`, `modules/network/pre-existing-vpc`, `modules/network/private-service-access`, `modules/network/vpc` | `community/modules/compute/gke-nodeset`, `community/modules/compute/htcondor-execute-point`, `community/modules/compute/schedmd-slurm-gcp-v6-nodeset`, `community/modules/compute/schedmd-slurm-gcp-v6-nodeset-dynamic`, `community/modules/compute/schedmd-slurm-gcp-v6-nodeset-tpu`, `community/modules/compute/schedmd-slurm-gcp-v6-partition`, `community/modules/container/apptainer-app`, `community/modules/container/apptainer-runtime`, `community/modules/remote-desktop/chrome-remote-desktop`, `community/modules/scheduler/htcondor-access-point`, `community/modules/scheduler/htcondor-central-manager`, ... (see catalog.yaml) |
| `modules/file-system/pre-existing-network-storage` | - | `remote_mount` | - | `community/modules/compute/gke-nodeset`, `community/modules/compute/htcondor-execute-point`, `community/modules/compute/notebook`, `community/modules/compute/schedmd-slurm-gcp-v6-nodeset`, `community/modules/compute/schedmd-slurm-gcp-v6-nodeset-dynamic`, `community/modules/compute/schedmd-slurm-gcp-v6-nodeset-tpu`, `community/modules/compute/schedmd-slurm-gcp-v6-partition`, `community/modules/container/apptainer-app`, `community/modules/container/apptainer-runtime`, `community/modules/remote-desktop/chrome-remote-desktop`, `community/modules/scheduler/htcondor-access-point`, ... (see catalog.yaml) |
| `modules/iam/iap-policy` | `iap.googleapis.com` | `backend_service_id` | `community/modules/scripts/gke-backend-fetcher` | - |
| `modules/management/kubectl-apply` | `container.googleapis.com` | `cluster_id` | `modules/scheduler/gke-cluster`, `modules/scheduler/pre-existing-gke-cluster` | - |
| `modules/management/kubernetes-namespace` | `container.googleapis.com` | `cluster_id`, `namespace` | `modules/scheduler/gke-cluster`, `modules/scheduler/pre-existing-gke-cluster` | - |
| `modules/monitoring/dashboard` | `stackdriver.googleapis.com` | none | - | - |
| `modules/network/dns-managed-zone` | `dns.googleapis.com` | `dns_name`, `zone_name` | - | - |
| `modules/network/firewall-rules` | `compute.googleapis.com` | `subnetwork_self_link` | `modules/network/pre-existing-subnetwork`, `modules/network/pre-existing-vpc`, `modules/network/vpc` | - |
| `modules/network/global-static-ip` | `compute.googleapis.com` | `ip_names` | - | - |
| `modules/network/gpu-rdma-vpc` | `compute.googleapis.com` | `network_profile` | - | `community/modules/database/slurm-cloudsql-federation`, `community/modules/network/int-app-lb`, `modules/database/redis`, `modules/file-system/filestore`, `modules/file-system/managed-lustre`, `modules/file-system/netapp-storage-pool`, `modules/file-system/parallelstore`, `modules/network/private-service-access`, `modules/scheduler/gke-cluster` |
| `modules/network/multivpc` | `compute.googleapis.com` | none | - | `community/modules/compute/schedmd-slurm-gcp-v6-nodeset`, `modules/compute/gke-node-pool`, `modules/scheduler/gke-cluster` |
| `modules/network/pre-existing-subnetwork` | `compute.googleapis.com` | none | - | `community/modules/compute/gke-nodeset`, `community/modules/compute/schedmd-slurm-gcp-v6-nodeset`, `community/modules/compute/schedmd-slurm-gcp-v6-nodeset-dynamic`, `community/modules/compute/schedmd-slurm-gcp-v6-nodeset-tpu`, `community/modules/network/int-app-lb`, `community/modules/scheduler/htcondor-setup`, `community/modules/scheduler/schedmd-slurm-gcp-v6-controller`, `community/modules/scheduler/schedmd-slurm-gcp-v6-login`, `modules/network/firewall-rules`, `modules/packer/custom-image`, `modules/scheduler/gke-cluster` |
| `modules/network/pre-existing-vpc` | `compute.googleapis.com` | none | - | `community/modules/compute/gke-nodeset`, `community/modules/compute/schedmd-slurm-gcp-v6-nodeset`, `community/modules/compute/schedmd-slurm-gcp-v6-nodeset-dynamic`, `community/modules/compute/schedmd-slurm-gcp-v6-nodeset-tpu`, `community/modules/database/slurm-cloudsql-federation`, `community/modules/file-system/nfs-server`, `community/modules/network/int-app-lb`, `community/modules/scheduler/htcondor-setup`, `community/modules/scheduler/schedmd-slurm-gcp-v6-controller`, `community/modules/scheduler/schedmd-slurm-gcp-v6-login`, `modules/compute/vm-instance`, `modules/database/redis`, ... (see catalog.yaml) |
| `modules/network/private-service-access` | `compute.googleapis.com`, `servicenetworking.googleapis.com` | `network_id` | `modules/network/gpu-rdma-vpc`, `modules/network/pre-existing-vpc`, `modules/network/vpc` | `modules/file-system/filestore`, `modules/file-system/managed-lustre`, `modules/file-system/netapp-storage-pool`, `modules/file-system/parallelstore` |
| `modules/network/vpc` | `compute.googleapis.com` | none | - | `community/modules/compute/gke-nodeset`, `community/modules/compute/htcondor-execute-point`, `community/modules/compute/schedmd-slurm-gcp-v6-nodeset`, `community/modules/compute/schedmd-slurm-gcp-v6-nodeset-dynamic`, `community/modules/compute/schedmd-slurm-gcp-v6-nodeset-tpu`, `community/modules/database/slurm-cloudsql-federation`, `community/modules/file-system/nfs-server`, `community/modules/network/int-app-lb`, `community/modules/remote-desktop/chrome-remote-desktop`, `community/modules/scheduler/htcondor-access-point`, `community/modules/scheduler/htcondor-central-manager`, ... (see catalog.yaml) |
| `modules/packer/custom-image` | `compute.googleapis.com`, `logging.googleapis.com`, `storage.googleapis.com` | `subnetwork_name` | `modules/network/pre-existing-subnetwork`, `modules/network/pre-existing-vpc`, `modules/network/vpc` | - |
| `modules/project/service-account` | `iam.googleapis.com` | `name`, `project_roles` | - | `community/modules/compute/schedmd-slurm-gcp-v6-nodeset`, `community/modules/scheduler/schedmd-slurm-gcp-v6-controller`, `community/modules/scheduler/schedmd-slurm-gcp-v6-login`, `modules/compute/gke-node-pool`, `modules/compute/vm-instance`, `modules/project/workload_identity_binding`, `modules/scheduler/gke-cluster` |
| `modules/project/workload_identity_binding` | `iam.googleapis.com` | `k8s_service_account_name`, `service_account_email` | `modules/project/service-account` | - |
| `modules/scheduler/batch-job-template` | `batch.googleapis.com`, `compute.googleapis.com` | none | - | `modules/scheduler/batch-login-node` |
| `modules/scheduler/batch-login-node` | `batch.googleapis.com`, `compute.googleapis.com`, `storage.googleapis.com` | `instance_template`, `job_data` | `modules/scheduler/batch-job-template` | - |
| `modules/scheduler/gke-cluster` | `container.googleapis.com` | `network_id`, `subnetwork_self_link` | `modules/network/gpu-rdma-vpc`, `modules/network/pre-existing-subnetwork`, `modules/network/pre-existing-vpc`, `modules/network/vpc` | `community/modules/compute/gke-nodeset`, `community/modules/management/dependencies-installer`, `community/modules/management/direct-helm-install`, `community/modules/scheduler/slinky`, `modules/compute/gke-job-template`, `modules/compute/gke-node-pool`, `modules/file-system/gke-persistent-volume`, `modules/file-system/gke-storage`, `modules/management/kubectl-apply`, `modules/management/kubernetes-namespace`, `modules/security/kubernetes-secret` |
| `modules/scheduler/pre-existing-gke-cluster` | `container.googleapis.com` | `cluster_name` | - | `community/modules/compute/gke-nodeset`, `community/modules/management/dependencies-installer`, `community/modules/management/direct-helm-install`, `community/modules/scheduler/slinky`, `modules/compute/gke-node-pool`, `modules/file-system/gke-persistent-volume`, `modules/file-system/gke-storage`, `modules/management/kubectl-apply`, `modules/management/kubernetes-namespace`, `modules/security/kubernetes-secret` |
| `modules/scripts/startup-script` | `storage.googleapis.com` | none | - | `community/modules/compute/schedmd-slurm-gcp-v6-nodeset`, `community/modules/compute/schedmd-slurm-gcp-v6-nodeset-dynamic`, `community/modules/remote-desktop/chrome-remote-desktop`, `community/modules/scheduler/schedmd-slurm-gcp-v6-controller`, `community/modules/scheduler/schedmd-slurm-gcp-v6-login`, `modules/compute/vm-instance`, `modules/packer/custom-image`, `modules/scheduler/batch-job-template`, `modules/scheduler/batch-login-node` |
| `modules/security/kubernetes-secret` | `container.googleapis.com` | `cluster_id`, `data`, `namespace`, `secret_name` | `modules/scheduler/gke-cluster`, `modules/scheduler/pre-existing-gke-cluster` | - |
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

