Skip to content

Commit 0db6a35

Browse files
authored
Release candidate: v1.82.0 (GoogleCloudPlatform#5223)
2 parents 3d6360a + fd73473 commit 0db6a35

194 files changed

Lines changed: 3397 additions & 403 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# Copyright 2026 "Google LLC"
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
name: Label External PRs
16+
17+
on:
18+
pull_request_target:
19+
branches:
20+
- develop
21+
types:
22+
- opened
23+
- reopened
24+
- synchronize
25+
26+
permissions:
27+
issues: write
28+
contents: read
29+
pull-requests: write
30+
31+
jobs:
32+
check-user-and-label:
33+
runs-on: ubuntu-latest
34+
35+
steps:
36+
- name: Check user and add label if external
37+
uses: actions/github-script@v7
38+
with:
39+
script: |
40+
const author = context.payload.pull_request.user.login;
41+
42+
const file = await github.rest.repos.getContent({
43+
owner: context.repo.owner,
44+
repo: context.repo.repo,
45+
path: "cluster-toolkit-writers.json"
46+
});
47+
48+
const content = Buffer.from(file.data.content, "base64").toString();
49+
const writers = JSON.parse(content);
50+
const internalUsers = writers.map(w => w.login);
51+
52+
if (!internalUsers.includes(author)) {
53+
await github.rest.issues.addLabels({
54+
owner: context.repo.owner,
55+
repo: context.repo.repo,
56+
issue_number: context.issue.number,
57+
labels: ["external"]
58+
});
59+
}

README.md

Lines changed: 43 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,49 @@ is the recommended path to get started with the Cluster Toolkit.
3939

4040
---
4141

42-
If a self directed path is preferred, you can use the following commands to
43-
build the `gcluster` binary:
42+
### Using the Pre-built Bundle (Recommended)
43+
44+
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.
45+
46+
#### Bundle Compatibility Matrix
47+
48+
The pre-built bundles are compiled for Linux and macOS execution environments and support the deployment of the following cluster operating systems.
49+
50+
##### Execution Platform (Where the binary runs)
51+
52+
| Platform | Support Status | Notes |
53+
| :--- | :---: | :--- |
54+
| **Linux** || Pre-compiled on Debian Bullseye. |
55+
| **Google Cloud Shell** || Native support via the Linux binary. |
56+
| **macOS** || Native support via the Mac binary. |
57+
| **Windows** || Please [Build from Source](#building-from-source). |
58+
59+
1. Download and extract the bundle:
60+
61+
```shell
62+
# Find all available releases at: https://github.com/GoogleCloudPlatform/cluster-toolkit/releases
63+
# Set the desired version TAG (e.g., v1.82.0)
64+
TAG=vX.Y.Z
65+
# Replace gcluster-bundle.zip with the platform-specific filename (e.g., gcluster_bundle_linux.zip)
66+
curl -LO https://github.com/GoogleCloudPlatform/cluster-toolkit/releases/download/${TAG}/gcluster-bundle.zip
67+
unzip gcluster-bundle.zip -d gcluster-bundle/
68+
cd gcluster-bundle
69+
chmod +x gcluster
70+
```
71+
72+
> **_NOTE:_** The binary is available starting with version 1.82.0
73+
74+
2. Verify the Installation:
75+
76+
```shell
77+
./gcluster --version
78+
./gcluster --help
79+
```
80+
81+
### Building from Source
82+
83+
If you prefer to build the `gcluster` binary from source,
84+
you can use the following commands:
4485

4586
```shell
4687
git clone https://github.com/GoogleCloudPlatform/cluster-toolkit

cmd/root.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ var (
5252
logging.Fatal("cmd.Help function failed: %s", err)
5353
}
5454
},
55-
Version: "v1.81.0",
55+
Version: "v1.82.0",
5656
Annotations: annotation,
5757
}
5858
)

community/front-end/ofe/requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ dill==0.4.1
2020
distlib==0.4.0
2121
# django-revproxy==0.11.0 released but not yet in pypi
2222
git+https://github.com/jazzband/django-revproxy.git@d2234005135dc0771b7c4e0bb0465664ccfa5787
23-
Django==6.0.1
23+
Django==6.0.2
2424
django-allauth==65.14.0
2525
django-crispy-forms==2.5
2626
django-extensions==3.2.3

community/modules/compute/gke-nodeset/versions.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,6 @@ terraform {
2222
}
2323
}
2424
provider_meta "google" {
25-
module_name = "blueprints/terraform/hpc-toolkit:gke-nodeset/v1.81.0"
25+
module_name = "blueprints/terraform/hpc-toolkit:gke-nodeset/v1.82.0"
2626
}
2727
}

community/modules/compute/gke-partition/versions.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,6 @@ terraform {
2222
}
2323
}
2424
provider_meta "google" {
25-
module_name = "blueprints/terraform/hpc-toolkit:gke-partition/v1.81.0"
25+
module_name = "blueprints/terraform/hpc-toolkit:gke-partition/v1.82.0"
2626
}
2727
}

community/modules/compute/htcondor-execute-point/metadata.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,9 @@ spec:
1818
services:
1919
- compute.googleapis.com
2020
- storage.googleapis.com
21+
ghpc:
22+
validators:
23+
- validator: exclusive
24+
inputs:
25+
vars: [instance_image.name, instance_image.family]
26+
error_message: "In 'instance_image', at most one of the \"family\" or \"name\" fields can be set."

community/modules/compute/htcondor-execute-point/versions.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,6 @@ terraform {
2929
}
3030

3131
provider_meta "google" {
32-
module_name = "blueprints/terraform/hpc-toolkit:htcondor-execute-point/v1.81.0"
32+
module_name = "blueprints/terraform/hpc-toolkit:htcondor-execute-point/v1.82.0"
3333
}
3434
}

community/modules/compute/mig/versions.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,6 @@ terraform {
2222
}
2323
}
2424
provider_meta "google" {
25-
module_name = "blueprints/terraform/hpc-toolkit:mig/v1.81.0"
25+
module_name = "blueprints/terraform/hpc-toolkit:mig/v1.82.0"
2626
}
2727
}

community/modules/compute/notebook/metadata.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,7 @@ ghpc:
2525
vars: [mount_runner.args]
2626
pattern: "^[^ ]+( [^ ]+){4}$"
2727
error_message: "The 'mount_runner.args' field must contain exactly 5 elements."
28+
- validator: exclusive
29+
inputs:
30+
vars: [instance_image.name, instance_image.family]
31+
error_message: "In 'instance_image', at most one of the \"family\" or \"name\" fields can be set."

0 commit comments

Comments
 (0)