diff --git a/README.md b/README.md index dfd4e29ccb..44b9683ad2 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,7 @@ is the recommended path to get started with the Cluster Toolkit. ### Using the Pre-built Bundle (Recommended) -For the easiest setup, download the `gcluster_bundle_linux.zip` (for Linux) or `gcluster_bundle_mac.zip` (for macOS) from the [Releases](https://github.com/GoogleCloudPlatform/cluster-toolkit/releases) page. These bundles include the pre-compiled `gcluster` binary, the `examples` folder, and the `community/examples` folder. +For the easiest setup, download the appropriate bundle for your operating system and architecture (e.g., gcluster_bundle_linux_amd64.zip, gcluster_bundle_linux_arm64.zip, gcluster_bundle_mac_amd64.zip, or gcluster_bundle_mac_arm64.zip) from the [Releases](https://github.com/GoogleCloudPlatform/cluster-toolkit/releases) page. These bundles include the pre-compiled `gcluster` binary, the `examples` folder, and the `community/examples` folder. #### Bundle Compatibility Matrix @@ -51,25 +51,45 @@ The pre-built bundles are compiled for Linux and macOS execution environments an | Platform | Support Status | Notes | | :--- | :---: | :--- | -| **Linux** | ✅ | Pre-compiled on Debian Bullseye. | -| **Google Cloud Shell** | ✅ | Native support via the Linux binary. | -| **macOS** | ✅ | Native support via the Mac binary. | +| **Linux (amd64 / arm64)** | ✅ | Pre-compiled on Debian Bullseye. Includes amd64 (x86_64) and arm64 builds starting v1.85.0. | +| **Google Cloud Shell** | ✅ | Native support via the Linux amd64 binary. | +| **macOS (amd64 / arm64)** | ✅ | Native support via the Mac binary. Includes amd64 (Intel) and arm64 (Apple Silicon) builds starting v1.85.0. | | **Windows** | ❎ | Please [Build from Source](#building-from-source). | 1. Download and extract the bundle: + > **_NOTE:_** The binary is available starting with version 1.82.0 [Only supports x86/amd64 arch]. Multi-architecture builds (amd64 and arm64) are available starting with version 1.85.0. + + For versions v1.85.0 and newer (Multi-architecture): + ```shell # Find all available releases at: https://github.com/GoogleCloudPlatform/cluster-toolkit/releases - # Set the desired version TAG (e.g., v1.82.0) + # Set the desired version TAG (e.g., v1.85.0) TAG=vX.Y.Z - # Replace gcluster-bundle.zip with the platform-specific filename (e.g., gcluster_bundle_linux.zip) - curl -LO https://github.com/GoogleCloudPlatform/cluster-toolkit/releases/download/${TAG}/gcluster-bundle.zip - unzip gcluster-bundle.zip -d gcluster-bundle/ + # Set your OS (linux or mac) and Architecture (amd64 or arm64) + OS="linux" + ARCH="amd64" + # Download and extract the platform-specific bundle + curl -LO https://github.com/GoogleCloudPlatform/cluster-toolkit/releases/download/${TAG}/gcluster_bundle_${OS}_${ARCH}.zip + unzip gcluster_bundle_${OS}_${ARCH}.zip -d gcluster-bundle/ cd gcluster-bundle chmod +x gcluster ``` - > **_NOTE:_** The binary is available starting with version 1.82.0 + For versions v1.82.0 through v1.84.0: + + ```shell + # Find all available releases at: https://github.com/GoogleCloudPlatform/cluster-toolkit/releases + # Set the desired version TAG (e.g., v1.84.0) + TAG=vX.Y.Z + # Set your OS (linux or mac) + OS="linux" + # Download and extract + curl -LO https://github.com/GoogleCloudPlatform/cluster-toolkit/releases/download/${TAG}/gcluster_bundle_${OS}.zip + unzip gcluster_bundle_${OS}.zip -d gcluster-bundle/ + cd gcluster-bundle + chmod +x gcluster + ``` 2. Verify the Installation: diff --git a/cmd/root.go b/cmd/root.go index 36d40e4d9d..2fc312c7b7 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -52,7 +52,7 @@ var ( logging.Fatal("cmd.Help function failed: %s", err) } }, - Version: "v1.84.0", + Version: "v1.85.0", Annotations: annotation, } ) diff --git a/community/modules/compute/gke-nodeset/versions.tf b/community/modules/compute/gke-nodeset/versions.tf index f4543b316b..60bc871ff0 100644 --- a/community/modules/compute/gke-nodeset/versions.tf +++ b/community/modules/compute/gke-nodeset/versions.tf @@ -22,6 +22,6 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:gke-nodeset/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:gke-nodeset/v1.85.0" } } diff --git a/community/modules/compute/gke-partition/versions.tf b/community/modules/compute/gke-partition/versions.tf index 5ca2e04f6f..38e15b3258 100644 --- a/community/modules/compute/gke-partition/versions.tf +++ b/community/modules/compute/gke-partition/versions.tf @@ -22,6 +22,6 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:gke-partition/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:gke-partition/v1.85.0" } } diff --git a/community/modules/compute/htcondor-execute-point/versions.tf b/community/modules/compute/htcondor-execute-point/versions.tf index bcb5c6766e..bc6446b701 100644 --- a/community/modules/compute/htcondor-execute-point/versions.tf +++ b/community/modules/compute/htcondor-execute-point/versions.tf @@ -29,6 +29,6 @@ terraform { } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:htcondor-execute-point/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:htcondor-execute-point/v1.85.0" } } diff --git a/community/modules/compute/mig/versions.tf b/community/modules/compute/mig/versions.tf index 9dd63061c0..b18f35f951 100644 --- a/community/modules/compute/mig/versions.tf +++ b/community/modules/compute/mig/versions.tf @@ -22,6 +22,6 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:mig/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:mig/v1.85.0" } } diff --git a/community/modules/compute/schedmd-slurm-gcp-v6-nodeset-dynamic/versions.tf b/community/modules/compute/schedmd-slurm-gcp-v6-nodeset-dynamic/versions.tf index 824c9973a5..c52c06815c 100644 --- a/community/modules/compute/schedmd-slurm-gcp-v6-nodeset-dynamic/versions.tf +++ b/community/modules/compute/schedmd-slurm-gcp-v6-nodeset-dynamic/versions.tf @@ -17,6 +17,6 @@ terraform { required_version = "= 1.12.2" provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:schedmd-slurm-gcp-v6-nodeset-dynamic/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:schedmd-slurm-gcp-v6-nodeset-dynamic/v1.85.0" } } diff --git a/community/modules/compute/schedmd-slurm-gcp-v6-nodeset-tpu/versions.tf b/community/modules/compute/schedmd-slurm-gcp-v6-nodeset-tpu/versions.tf index be7f85e27d..f36f2dff7a 100644 --- a/community/modules/compute/schedmd-slurm-gcp-v6-nodeset-tpu/versions.tf +++ b/community/modules/compute/schedmd-slurm-gcp-v6-nodeset-tpu/versions.tf @@ -18,6 +18,6 @@ terraform { required_version = "= 1.12.2" provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:schedmd-slurm-gcp-v6-nodeset-tpu/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:schedmd-slurm-gcp-v6-nodeset-tpu/v1.85.0" } } diff --git a/community/modules/compute/schedmd-slurm-gcp-v6-nodeset/versions.tf b/community/modules/compute/schedmd-slurm-gcp-v6-nodeset/versions.tf index 946d1569b2..95a6ff9147 100644 --- a/community/modules/compute/schedmd-slurm-gcp-v6-nodeset/versions.tf +++ b/community/modules/compute/schedmd-slurm-gcp-v6-nodeset/versions.tf @@ -24,6 +24,6 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:schedmd-slurm-gcp-v6-nodeset/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:schedmd-slurm-gcp-v6-nodeset/v1.85.0" } } diff --git a/community/modules/compute/schedmd-slurm-gcp-v6-partition/versions.tf b/community/modules/compute/schedmd-slurm-gcp-v6-partition/versions.tf index 67b87e46d1..2394917501 100644 --- a/community/modules/compute/schedmd-slurm-gcp-v6-partition/versions.tf +++ b/community/modules/compute/schedmd-slurm-gcp-v6-partition/versions.tf @@ -18,6 +18,6 @@ terraform { required_version = "= 1.12.2" provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:schedmd-slurm-gcp-v6-partition/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:schedmd-slurm-gcp-v6-partition/v1.85.0" } } diff --git a/community/modules/database/slurm-cloudsql-federation/versions.tf b/community/modules/database/slurm-cloudsql-federation/versions.tf index 6e9389eeeb..fee0c64080 100644 --- a/community/modules/database/slurm-cloudsql-federation/versions.tf +++ b/community/modules/database/slurm-cloudsql-federation/versions.tf @@ -26,10 +26,10 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:slurm-cloudsql-federation/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:slurm-cloudsql-federation/v1.85.0" } provider_meta "google-beta" { - module_name = "blueprints/terraform/hpc-toolkit:slurm-cloudsql-federation/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:slurm-cloudsql-federation/v1.85.0" } required_version = "= 1.12.2" diff --git a/community/modules/file-system/nfs-server/versions.tf b/community/modules/file-system/nfs-server/versions.tf index c9f44edf01..48c758d847 100644 --- a/community/modules/file-system/nfs-server/versions.tf +++ b/community/modules/file-system/nfs-server/versions.tf @@ -30,7 +30,7 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:nfs-server/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:nfs-server/v1.85.0" } required_version = "= 1.12.2" diff --git a/community/modules/files/fsi-montecarlo-on-batch/versions.tf b/community/modules/files/fsi-montecarlo-on-batch/versions.tf index 456e1f48cb..777de9e9f4 100644 --- a/community/modules/files/fsi-montecarlo-on-batch/versions.tf +++ b/community/modules/files/fsi-montecarlo-on-batch/versions.tf @@ -35,9 +35,9 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:fsi-montecarlo-on-batch/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:fsi-montecarlo-on-batch/v1.85.0" } provider_meta "google-beta" { - module_name = "blueprints/terraform/hpc-toolkit:fsi-montecarlo-on-batch/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:fsi-montecarlo-on-batch/v1.85.0" } } diff --git a/community/modules/internal/slurm-gcp/login/versions.tf b/community/modules/internal/slurm-gcp/login/versions.tf index fb9a9a1345..11ab61a845 100644 --- a/community/modules/internal/slurm-gcp/login/versions.tf +++ b/community/modules/internal/slurm-gcp/login/versions.tf @@ -24,6 +24,6 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:schedmd-slurm-gcp-v6-login/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:schedmd-slurm-gcp-v6-login/v1.85.0" } } diff --git a/community/modules/project/service-enablement/versions.tf b/community/modules/project/service-enablement/versions.tf index f540585c41..bb69fa4c4f 100644 --- a/community/modules/project/service-enablement/versions.tf +++ b/community/modules/project/service-enablement/versions.tf @@ -22,7 +22,7 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:service-enablement/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:service-enablement/v1.85.0" } required_version = "= 1.12.2" diff --git a/community/modules/pubsub/bigquery-sub/versions.tf b/community/modules/pubsub/bigquery-sub/versions.tf index e812fd4f23..e5683c9427 100644 --- a/community/modules/pubsub/bigquery-sub/versions.tf +++ b/community/modules/pubsub/bigquery-sub/versions.tf @@ -26,10 +26,10 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:bigquery-sub/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:bigquery-sub/v1.85.0" } provider_meta "google-beta" { - module_name = "blueprints/terraform/hpc-toolkit:bigquery-sub/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:bigquery-sub/v1.85.0" } required_version = "= 1.12.2" } diff --git a/community/modules/pubsub/topic/versions.tf b/community/modules/pubsub/topic/versions.tf index 6354deb064..c1c8f4d028 100644 --- a/community/modules/pubsub/topic/versions.tf +++ b/community/modules/pubsub/topic/versions.tf @@ -27,6 +27,6 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:topic/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:topic/v1.85.0" } } diff --git a/community/modules/scheduler/htcondor-access-point/versions.tf b/community/modules/scheduler/htcondor-access-point/versions.tf index 943b6560e6..595d59fa20 100644 --- a/community/modules/scheduler/htcondor-access-point/versions.tf +++ b/community/modules/scheduler/htcondor-access-point/versions.tf @@ -30,7 +30,7 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:htcondor-access-point/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:htcondor-access-point/v1.85.0" } required_version = "= 1.12.2" diff --git a/community/modules/scheduler/htcondor-central-manager/versions.tf b/community/modules/scheduler/htcondor-central-manager/versions.tf index c0de7143a9..62d410fba2 100644 --- a/community/modules/scheduler/htcondor-central-manager/versions.tf +++ b/community/modules/scheduler/htcondor-central-manager/versions.tf @@ -26,7 +26,7 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:htcondor-central-manager/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:htcondor-central-manager/v1.85.0" } required_version = "= 1.12.2" diff --git a/community/modules/scheduler/htcondor-pool-secrets/versions.tf b/community/modules/scheduler/htcondor-pool-secrets/versions.tf index 186b3f9b74..2364d7cfb3 100644 --- a/community/modules/scheduler/htcondor-pool-secrets/versions.tf +++ b/community/modules/scheduler/htcondor-pool-secrets/versions.tf @@ -26,7 +26,7 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:htcondor-pool-secrets/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:htcondor-pool-secrets/v1.85.0" } required_version = "= 1.12.2" diff --git a/community/modules/scheduler/schedmd-slurm-gcp-v6-controller/versions.tf b/community/modules/scheduler/schedmd-slurm-gcp-v6-controller/versions.tf index a1e344a8e5..0406d1f85b 100644 --- a/community/modules/scheduler/schedmd-slurm-gcp-v6-controller/versions.tf +++ b/community/modules/scheduler/schedmd-slurm-gcp-v6-controller/versions.tf @@ -28,6 +28,6 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:schedmd-slurm-gcp-v6-controller/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:schedmd-slurm-gcp-v6-controller/v1.85.0" } } diff --git a/community/modules/scheduler/schedmd-slurm-gcp-v6-login/versions.tf b/community/modules/scheduler/schedmd-slurm-gcp-v6-login/versions.tf index fe5cd14392..726d5a01e9 100644 --- a/community/modules/scheduler/schedmd-slurm-gcp-v6-login/versions.tf +++ b/community/modules/scheduler/schedmd-slurm-gcp-v6-login/versions.tf @@ -18,6 +18,6 @@ terraform { required_version = "= 1.12.2" provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:schedmd-slurm-gcp-v6-login/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:schedmd-slurm-gcp-v6-login/v1.85.0" } } diff --git a/community/modules/scripts/wait-for-startup/versions.tf b/community/modules/scripts/wait-for-startup/versions.tf index d293a5c321..adc7640254 100644 --- a/community/modules/scripts/wait-for-startup/versions.tf +++ b/community/modules/scripts/wait-for-startup/versions.tf @@ -22,7 +22,7 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:wait-for-startup/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:wait-for-startup/v1.85.0" } required_version = "= 1.12.2" diff --git a/community/modules/scripts/windows-startup-script/versions.tf b/community/modules/scripts/windows-startup-script/versions.tf index 5856aebbd4..0876506f04 100644 --- a/community/modules/scripts/windows-startup-script/versions.tf +++ b/community/modules/scripts/windows-startup-script/versions.tf @@ -16,7 +16,7 @@ terraform { provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:windows-startup-script/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:windows-startup-script/v1.85.0" } required_version = "= 1.12.2" diff --git a/modules/compute/gke-node-pool/versions.tf b/modules/compute/gke-node-pool/versions.tf index ff9528b588..01169138ea 100644 --- a/modules/compute/gke-node-pool/versions.tf +++ b/modules/compute/gke-node-pool/versions.tf @@ -30,9 +30,9 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:gke-node-pool/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:gke-node-pool/v1.85.0" } provider_meta "google-beta" { - module_name = "blueprints/terraform/hpc-toolkit:gke-node-pool/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:gke-node-pool/v1.85.0" } } diff --git a/modules/compute/resource-policy/versions.tf b/modules/compute/resource-policy/versions.tf index 98580b4854..72f233f824 100644 --- a/modules/compute/resource-policy/versions.tf +++ b/modules/compute/resource-policy/versions.tf @@ -27,7 +27,7 @@ terraform { } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:resource-policy/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:resource-policy/v1.85.0" } required_version = "= 1.12.2" diff --git a/modules/compute/vm-instance/versions.tf b/modules/compute/vm-instance/versions.tf index e802612cd4..d04bed06d4 100644 --- a/modules/compute/vm-instance/versions.tf +++ b/modules/compute/vm-instance/versions.tf @@ -31,10 +31,10 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:vm-instance/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:vm-instance/v1.85.0" } provider_meta "google-beta" { - module_name = "blueprints/terraform/hpc-toolkit:vm-instance/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:vm-instance/v1.85.0" } required_version = "= 1.12.2" diff --git a/modules/file-system/cloud-storage-bucket/versions.tf b/modules/file-system/cloud-storage-bucket/versions.tf index bb801b462d..cd52c5e135 100644 --- a/modules/file-system/cloud-storage-bucket/versions.tf +++ b/modules/file-system/cloud-storage-bucket/versions.tf @@ -30,10 +30,10 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:cloud-storage-bucket/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:cloud-storage-bucket/v1.85.0" } provider_meta "google-beta" { - module_name = "blueprints/terraform/hpc-toolkit:cloud-storage-bucket/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:cloud-storage-bucket/v1.85.0" } required_version = "= 1.12.2" } diff --git a/modules/file-system/filestore/versions.tf b/modules/file-system/filestore/versions.tf index 893e3d4309..ad8cd9e511 100644 --- a/modules/file-system/filestore/versions.tf +++ b/modules/file-system/filestore/versions.tf @@ -26,10 +26,10 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:filestore/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:filestore/v1.85.0" } provider_meta "google-beta" { - module_name = "blueprints/terraform/hpc-toolkit:filestore/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:filestore/v1.85.0" } required_version = "= 1.12.2" diff --git a/modules/file-system/gke-persistent-volume/versions.tf b/modules/file-system/gke-persistent-volume/versions.tf index 734bee1da6..649b1a55ec 100644 --- a/modules/file-system/gke-persistent-volume/versions.tf +++ b/modules/file-system/gke-persistent-volume/versions.tf @@ -25,6 +25,6 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:gke-persistent-volume/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:gke-persistent-volume/v1.85.0" } } diff --git a/modules/file-system/gke-storage/versions.tf b/modules/file-system/gke-storage/versions.tf index 545412801b..62f858e8ec 100644 --- a/modules/file-system/gke-storage/versions.tf +++ b/modules/file-system/gke-storage/versions.tf @@ -16,6 +16,6 @@ terraform { required_version = "= 1.12.2" provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:gke-storage/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:gke-storage/v1.85.0" } } diff --git a/modules/file-system/managed-lustre/versions.tf b/modules/file-system/managed-lustre/versions.tf index 074aef6ec5..b7d15ebca6 100644 --- a/modules/file-system/managed-lustre/versions.tf +++ b/modules/file-system/managed-lustre/versions.tf @@ -26,10 +26,10 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:managed-lustre/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:managed-lustre/v1.85.0" } provider_meta "google-beta" { - module_name = "blueprints/terraform/hpc-toolkit:managed-lustre/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:managed-lustre/v1.85.0" } required_version = "= 1.12.2" diff --git a/modules/file-system/netapp-storage-pool/versions.tf b/modules/file-system/netapp-storage-pool/versions.tf index c7578642b4..733d659728 100644 --- a/modules/file-system/netapp-storage-pool/versions.tf +++ b/modules/file-system/netapp-storage-pool/versions.tf @@ -27,10 +27,10 @@ terraform { } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:netapp-storage-pool/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:netapp-storage-pool/v1.85.0" } provider_meta "google-beta" { - module_name = "blueprints/terraform/hpc-toolkit:netapp-storage-pool/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:netapp-storage-pool/v1.85.0" } required_version = "= 1.12.2" diff --git a/modules/file-system/netapp-volume/versions.tf b/modules/file-system/netapp-volume/versions.tf index 8f7d989f9a..3d3b7ea45f 100644 --- a/modules/file-system/netapp-volume/versions.tf +++ b/modules/file-system/netapp-volume/versions.tf @@ -22,10 +22,10 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:netapp-volume/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:netapp-volume/v1.85.0" } provider_meta "google-beta" { - module_name = "blueprints/terraform/hpc-toolkit:netapp-volume/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:netapp-volume/v1.85.0" } required_version = "= 1.12.2" diff --git a/modules/management/kubectl-apply/versions.tf b/modules/management/kubectl-apply/versions.tf index 57902817d1..3e69e657fb 100644 --- a/modules/management/kubectl-apply/versions.tf +++ b/modules/management/kubectl-apply/versions.tf @@ -35,7 +35,7 @@ terraform { } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:kubectl-apply/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:kubectl-apply/v1.85.0" } required_version = "= 1.12.2" diff --git a/modules/monitoring/dashboard/versions.tf b/modules/monitoring/dashboard/versions.tf index c596c6fe5e..ec820431c8 100644 --- a/modules/monitoring/dashboard/versions.tf +++ b/modules/monitoring/dashboard/versions.tf @@ -22,7 +22,7 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:dashboard/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:dashboard/v1.85.0" } required_version = "= 1.12.2" diff --git a/modules/network/firewall-rules/versions.tf b/modules/network/firewall-rules/versions.tf index ff9f3c56dd..fed187f933 100644 --- a/modules/network/firewall-rules/versions.tf +++ b/modules/network/firewall-rules/versions.tf @@ -22,7 +22,7 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:firewall-rules/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:firewall-rules/v1.85.0" } required_version = "= 1.12.2" diff --git a/modules/network/pre-existing-subnetwork/versions.tf b/modules/network/pre-existing-subnetwork/versions.tf index 81ecf0d0e3..6cbd246a7b 100644 --- a/modules/network/pre-existing-subnetwork/versions.tf +++ b/modules/network/pre-existing-subnetwork/versions.tf @@ -22,7 +22,7 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:pre-existing-subnetwork/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:pre-existing-subnetwork/v1.85.0" } required_version = "= 1.12.2" diff --git a/modules/network/pre-existing-vpc/versions.tf b/modules/network/pre-existing-vpc/versions.tf index 66b4999c94..3293d1d295 100644 --- a/modules/network/pre-existing-vpc/versions.tf +++ b/modules/network/pre-existing-vpc/versions.tf @@ -22,7 +22,7 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:pre-existing-vpc/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:pre-existing-vpc/v1.85.0" } required_version = "= 1.12.2" diff --git a/modules/network/private-service-access/versions.tf b/modules/network/private-service-access/versions.tf index 9174e38f9b..83d936813b 100644 --- a/modules/network/private-service-access/versions.tf +++ b/modules/network/private-service-access/versions.tf @@ -26,11 +26,11 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:private-service-access/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:private-service-access/v1.85.0" } provider_meta "google-beta" { - module_name = "blueprints/terraform/hpc-toolkit:private-service-access/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:private-service-access/v1.85.0" } required_version = "= 1.12.2" diff --git a/modules/scheduler/batch-login-node/versions.tf b/modules/scheduler/batch-login-node/versions.tf index f062633a3e..73e04a1772 100644 --- a/modules/scheduler/batch-login-node/versions.tf +++ b/modules/scheduler/batch-login-node/versions.tf @@ -22,7 +22,7 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:batch-login-node/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:batch-login-node/v1.85.0" } required_version = "= 1.12.2" diff --git a/modules/scheduler/gke-cluster/versions.tf b/modules/scheduler/gke-cluster/versions.tf index 4d12bd3cd9..4120d2a753 100644 --- a/modules/scheduler/gke-cluster/versions.tf +++ b/modules/scheduler/gke-cluster/versions.tf @@ -30,10 +30,10 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:gke-cluster/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:gke-cluster/v1.85.0" } provider_meta "google-beta" { - module_name = "blueprints/terraform/hpc-toolkit:gke-cluster/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:gke-cluster/v1.85.0" } } diff --git a/modules/scheduler/pre-existing-gke-cluster/versions.tf b/modules/scheduler/pre-existing-gke-cluster/versions.tf index d79eeb7fe9..991f8ace9c 100644 --- a/modules/scheduler/pre-existing-gke-cluster/versions.tf +++ b/modules/scheduler/pre-existing-gke-cluster/versions.tf @@ -23,7 +23,7 @@ terraform { } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:pre-existing-gke-cluster/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:pre-existing-gke-cluster/v1.85.0" } required_version = "= 1.12.2" diff --git a/modules/scripts/startup-script/versions.tf b/modules/scripts/startup-script/versions.tf index f62704066a..fa7f19eb7e 100644 --- a/modules/scripts/startup-script/versions.tf +++ b/modules/scripts/startup-script/versions.tf @@ -30,7 +30,7 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:startup-script/v1.84.0" + module_name = "blueprints/terraform/hpc-toolkit:startup-script/v1.85.0" } required_version = "= 1.12.2" diff --git a/pkg/dependencies/downloader.go b/pkg/dependencies/downloader.go index aa710e3047..4f745838f3 100644 --- a/pkg/dependencies/downloader.go +++ b/pkg/dependencies/downloader.go @@ -116,6 +116,13 @@ func extractBinary(body []byte, binaryName string, targetDir string) error { continue // we only want the main executable } + // Sanitize file name to prevent path traversal (Zip Slip). + // See: https://snyk.io/research/zip-slip-vulnerability + destPath := filepath.Join(targetDir, file.Name) + if !strings.HasPrefix(destPath, filepath.Clean(targetDir)+string(os.PathSeparator)) { + return fmt.Errorf("malicious archive entry, path traversal attempt: %s", file.Name) + } + cleanFileName := filepath.Base(file.Name) extractedTempPath = filepath.Join(tempDir, cleanFileName) extractedFileName = file.Name