Skip to content

Commit b713fae

Browse files
Prepare release v2.9.0 (#1286)
Bumps version strings to v2.9.0 across the codebase (`make prep RELEASE=v2.9.0`) and rolls the `serviceTemplate` changelog entry into a dated 2.9.0 section. Minor bump for the new backward-compatible `serviceTemplate` Workspace field (#1280). ## Test plan - `make prep RELEASE=v2.9.0` ran clean; no stray `v2.8.0` strings remain outside CHANGELOG history. - `operator/version/version.go` and `agent/version/version.go` both report `v2.9.0`; Helm Chart `version`/`appVersion` bumped to `2.9.0`/`v2.9.0`. - Merge, then tag the head `v2.9.0` and push the tag to trigger `.github/workflows/release.yaml`. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 16905fa commit b713fae

10 files changed

Lines changed: 84 additions & 12 deletions

File tree

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ CHANGELOG
33

44
## Unreleased
55

6+
## 2.9.0 (2026-07-29)
7+
68
- Add `serviceTemplate` to the Workspace spec, allowing custom annotations and labels on the headless Service that fronts a workspace's pods; settable from a Stack via `spec.workspaceTemplate.spec.serviceTemplate.metadata` [#1280](https://github.com/pulumi/pulumi-kubernetes-operator/pull/1280)
79

810
## 2.8.0 (2026-07-21)

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,14 +67,14 @@ A simple "quickstart" installation manifest is provided for non-production envir
6767
Install with `kubectl`:
6868

6969
```
70-
kubectl apply -f https://raw.githubusercontent.com/pulumi/pulumi-kubernetes-operator/refs/tags/v2.8.0/deploy/quickstart/install.yaml
70+
kubectl apply -f https://raw.githubusercontent.com/pulumi/pulumi-kubernetes-operator/refs/tags/v2.9.0/deploy/quickstart/install.yaml
7171
```
7272

7373
### From Source
7474

7575
To build and install the operator from this repository:
7676

77-
1. Build the operator image: `make build-image` (produces `pulumi/pulumi-kubernetes-operator:v2.8.0`).
77+
1. Build the operator image: `make build-image` (produces `pulumi/pulumi-kubernetes-operator:v2.9.0`).
7878
2. Push or load the image into your cluster's registry.
7979
3. Deploy to your current cluster context: `make deploy`.
8080

agent/version/version.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,4 @@
1414

1515
package version
1616

17-
var Version string = "v2.8.0"
17+
var Version string = "v2.9.0"

deploy/deploy-operator-yaml/Pulumi.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ description: |
55
config:
66
version: # The version to install of the Pulumi Kubernetes Operator.
77
type: string
8-
default: v2.8.0
8+
default: v2.9.0
99
resources:
1010
pko:
1111
type: kubernetes:kustomize/v2:Directory

deploy/helm/pulumi-operator/Chart.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ icon: https://www.pulumi.com/logos/brand/avatar-on-white.svg
99

1010
type: application
1111

12-
version: "2.8.0"
13-
appVersion: "v2.8.0"
12+
version: "2.9.0"
13+
appVersion: "v2.9.0"
1414

1515
keywords:
1616
- pulumi
@@ -32,7 +32,7 @@ annotations:
3232
- New operator version
3333
artifacthub.io/images: |
3434
- name: pulumi-kubernetes-operator
35-
image: docker.io/pulumi/pulumi-kubernetes-operator:v2.8.0
35+
image: docker.io/pulumi/pulumi-kubernetes-operator:v2.9.0
3636
platforms:
3737
- linux/amd64
3838
- linux/arm64

deploy/helm/pulumi-operator/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Pulumi Kubernetes Operator - Helm Chart
22

3-
![Version: 2.8.0](https://img.shields.io/badge/Version-2.8.0-informational?style=for-the-badge) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=for-the-badge) ![AppVersion: v2.8.0](https://img.shields.io/badge/AppVersion-v2.8.0-informational?style=for-the-badge)
3+
![Version: 2.9.0](https://img.shields.io/badge/Version-2.9.0-informational?style=for-the-badge) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=for-the-badge) ![AppVersion: v2.9.0](https://img.shields.io/badge/AppVersion-v2.9.0-informational?style=for-the-badge)
44

55
## Description 📜
66

deploy/quickstart/install.yaml

Lines changed: 71 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10660,6 +10660,26 @@ spec:
1066010660
type: string
1066110661
serviceAccountName:
1066210662
type: string
10663+
serviceTemplate:
10664+
description: |-
10665+
EmbeddedServiceTemplateSpecApplyConfiguration represents a declarative configuration of the EmbeddedServiceTemplateSpec type for use
10666+
with apply.
10667+
properties:
10668+
metadata:
10669+
description: |-
10670+
EmbeddedObjectMetaApplyConfiguration represents a declarative configuration of the EmbeddedObjectMeta type for use
10671+
with apply.
10672+
properties:
10673+
annotations:
10674+
additionalProperties:
10675+
type: string
10676+
type: object
10677+
labels:
10678+
additionalProperties:
10679+
type: string
10680+
type: object
10681+
type: object
10682+
type: object
1066310683
stacks:
1066410684
items:
1066510685
description: |-
@@ -21271,6 +21291,26 @@ spec:
2127121291
type: string
2127221292
serviceAccountName:
2127321293
type: string
21294+
serviceTemplate:
21295+
description: |-
21296+
EmbeddedServiceTemplateSpecApplyConfiguration represents a declarative configuration of the EmbeddedServiceTemplateSpec type for use
21297+
with apply.
21298+
properties:
21299+
metadata:
21300+
description: |-
21301+
EmbeddedObjectMetaApplyConfiguration represents a declarative configuration of the EmbeddedObjectMeta type for use
21302+
with apply.
21303+
properties:
21304+
annotations:
21305+
additionalProperties:
21306+
type: string
21307+
type: object
21308+
labels:
21309+
additionalProperties:
21310+
type: string
21311+
type: object
21312+
type: object
21313+
type: object
2127421314
stacks:
2127521315
items:
2127621316
description: |-
@@ -30735,6 +30775,36 @@ spec:
3073530775
description: ServiceAccountName is the Kubernetes service account
3073630776
identity of the workspace.
3073730777
type: string
30778+
serviceTemplate:
30779+
description: |-
30780+
ServiceTemplate defines a template for the Workspace's Service metadata.
30781+
Use this to add annotations or labels to the headless Service that
30782+
fronts the Workspace's pods.
30783+
properties:
30784+
metadata:
30785+
description: Metadata contains the labels and annotations to apply
30786+
to the Service.
30787+
properties:
30788+
annotations:
30789+
additionalProperties:
30790+
type: string
30791+
description: |-
30792+
Annotations is an unstructured key value map stored with a resource that may be
30793+
set by external tools to store and retrieve arbitrary metadata. They are not
30794+
queryable and should be preserved when modifying objects.
30795+
More info: http://kubernetes.io/docs/user-guide/annotations
30796+
type: object
30797+
labels:
30798+
additionalProperties:
30799+
type: string
30800+
description: |-
30801+
Map of string keys and values that can be used to organize and categorize
30802+
(scope and select) objects. May match selectors of replication controllers
30803+
and services.
30804+
More info: http://kubernetes.io/docs/user-guide/labels
30805+
type: object
30806+
type: object
30807+
type: object
3073830808
stacks:
3073930809
description: List of stacks this workspace manages.
3074030810
items:
@@ -31333,7 +31403,7 @@ spec:
3133331403
value: 10s
3133431404
- name: KUBE_API_TIMEOUT
3133531405
value: 30s
31336-
image: pulumi/pulumi-kubernetes-operator:v2.8.0
31406+
image: pulumi/pulumi-kubernetes-operator:v2.9.0
3133731407
imagePullPolicy: IfNotPresent
3133831408
livenessProbe:
3133931409
httpGet:

operator/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# To re-generate a bundle for another specific version without changing the standard setup, you can:
44
# - use the VERSION as arg of the bundle target (e.g make bundle VERSION=0.0.2)
55
# - use environment variables to overwrite this value (e.g export VERSION=0.0.2)
6-
VERSION ?= v2.8.0
6+
VERSION ?= v2.9.0
77

88
# CHANNELS define the bundle channels used in the bundle.
99
# Add a new line here if you would like to change its default config. (E.g CHANNELS = "candidate,fast,stable")

operator/config/manager/kustomization.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ kind: Kustomization
33
images:
44
- name: controller
55
newName: pulumi/pulumi-kubernetes-operator
6-
newTag: v2.8.0
6+
newTag: v2.9.0
77
resources:
88
- manager.yaml

operator/version/version.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,4 @@
1414

1515
package version
1616

17-
var Version string = "v2.8.0"
17+
var Version string = "v2.9.0"

0 commit comments

Comments
 (0)