From 90474433a3c916e93cbe08e716e10d2a329d9f30 Mon Sep 17 00:00:00 2001 From: Cristiano Veiga Date: Fri, 15 May 2026 17:21:53 -0400 Subject: [PATCH 1/3] feat(api): add channelGroup to ReleaseSpec in GCP cluster model The version-resolution-adapter (GCP-677) reads spec.release.channelGroup to determine which Cincinnati channel to use when resolving a version to a release image (e.g. candidate-4.22, stable-4.22, fast-4.22). Without this field in the API spec, clients had no documentation or validation, and the field was not formally part of the contract. Bumps version to 1.0.14 and regenerates all four schema artifacts. Closes GCP-696 Co-Authored-By: Claude Sonnet 4.6 --- CHANGELOG.md | 6 ++++++ aliases.tsp | 2 +- main.tsp | 2 +- models-gcp/cluster/model.tsp | 1 + schemas/core/openapi.yaml | 2 +- schemas/core/swagger.yaml | 2 +- schemas/gcp/openapi.yaml | 4 +++- schemas/gcp/swagger.yaml | 4 +++- 8 files changed, 17 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1bc5edb..abaedad 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [1.0.15] - 2026-05-15 + +### Added + +- `channelGroup` optional field to `ReleaseSpec` in GCP cluster model (GCP-696) + ## [1.0.14] - 2026-05-15 ### Removed diff --git a/aliases.tsp b/aliases.tsp index efa1472..d42dbb3 120000 --- a/aliases.tsp +++ b/aliases.tsp @@ -1 +1 @@ -aliases-gcp.tsp \ No newline at end of file +aliases-core.tsp \ No newline at end of file diff --git a/main.tsp b/main.tsp index 741967c..a0f0913 100644 --- a/main.tsp +++ b/main.tsp @@ -21,7 +21,7 @@ using OpenAPI; */ @service(#{ title: "HyperFleet API" }) @info(#{ - version: "1.0.14", + version: "1.0.15", contact: #{ name: "HyperFleet Team", url: "https://github.com/openshift-hyperfleet", diff --git a/models-gcp/cluster/model.tsp b/models-gcp/cluster/model.tsp index ca7dd7c..a98abb9 100644 --- a/models-gcp/cluster/model.tsp +++ b/models-gcp/cluster/model.tsp @@ -22,6 +22,7 @@ model ClusterPlatform { model ReleaseSpec { image?: string; version?: string; + channelGroup?: string; } model NetworkingSpec { diff --git a/schemas/core/openapi.yaml b/schemas/core/openapi.yaml index c85003a..e89e8de 100644 --- a/schemas/core/openapi.yaml +++ b/schemas/core/openapi.yaml @@ -1,7 +1,7 @@ openapi: 3.0.0 info: title: HyperFleet API - version: 1.0.14 + version: 1.0.15 contact: name: HyperFleet Team url: https://github.com/openshift-hyperfleet diff --git a/schemas/core/swagger.yaml b/schemas/core/swagger.yaml index b1ee316..d307cb3 100644 --- a/schemas/core/swagger.yaml +++ b/schemas/core/swagger.yaml @@ -17,7 +17,7 @@ info: name: Apache 2.0 url: 'https://www.apache.org/licenses/LICENSE-2.0' title: HyperFleet API - version: 1.0.14 + version: 1.0.15 host: hyperfleet.redhat.com basePath: / schemes: diff --git a/schemas/gcp/openapi.yaml b/schemas/gcp/openapi.yaml index 3b624a0..d9920a1 100644 --- a/schemas/gcp/openapi.yaml +++ b/schemas/gcp/openapi.yaml @@ -1,7 +1,7 @@ openapi: 3.0.0 info: title: HyperFleet API - version: 1.0.14 + version: 1.0.15 contact: name: HyperFleet Team url: https://github.com/openshift-hyperfleet @@ -1753,6 +1753,8 @@ components: type: string version: type: string + channelGroup: + type: string ResourceCondition: type: object required: diff --git a/schemas/gcp/swagger.yaml b/schemas/gcp/swagger.yaml index c3801b6..a9f794e 100644 --- a/schemas/gcp/swagger.yaml +++ b/schemas/gcp/swagger.yaml @@ -17,7 +17,7 @@ info: name: Apache 2.0 url: 'https://www.apache.org/licenses/LICENSE-2.0' title: HyperFleet API - version: 1.0.14 + version: 1.0.15 host: hyperfleet.redhat.com basePath: / schemes: @@ -1917,6 +1917,8 @@ definitions: type: string ReleaseSpec: properties: + channelGroup: + type: string image: type: string version: From 0551506fd16704e3787d6cccd73275a337626f94 Mon Sep 17 00:00:00 2001 From: Cristiano Veiga Date: Fri, 15 May 2026 17:32:50 -0400 Subject: [PATCH 2/3] docs(examples): add channelGroup to GCP cluster examples Show channelGroup usage in create, patch, and GET response examples so clients can discover the new field from the API documentation. Co-Authored-By: Claude Sonnet 4.6 --- models-gcp/cluster/example_cluster.tsp | 10 ++++++---- models-gcp/cluster/example_patch.tsp | 5 +++-- models-gcp/cluster/example_post.tsp | 5 +++-- schemas/gcp/openapi.yaml | 20 ++++++++++++-------- schemas/gcp/swagger.yaml | 23 +++++++++++++++-------- 5 files changed, 39 insertions(+), 24 deletions(-) diff --git a/models-gcp/cluster/example_cluster.tsp b/models-gcp/cluster/example_cluster.tsp index 603f58f..9c8cdff 100644 --- a/models-gcp/cluster/example_cluster.tsp +++ b/models-gcp/cluster/example_cluster.tsp @@ -20,8 +20,9 @@ const exampleCluster: Cluster = #{ }, }, release: #{ - image: "registry.redhat.io/openshift4/ose-cluster-version-operator:v4.14.0", - version: "4.14.0", + image: "registry.redhat.io/openshift4/ose-cluster-version-operator:v4.22.0-ec.4", + version: "4.22.0-ec.4", + channelGroup: "candidate", }, networking: #{ clusterNetwork: #[ #{ cidr: "10.10.0.0/16", hostPrefix: 24 } ], @@ -100,8 +101,9 @@ const exampleDeletedCluster: Cluster = #{ }, }, release: #{ - image: "registry.redhat.io/openshift4/ose-cluster-version-operator:v4.14.0", - version: "4.14.0", + image: "registry.redhat.io/openshift4/ose-cluster-version-operator:v4.22.0-ec.4", + version: "4.22.0-ec.4", + channelGroup: "candidate", }, networking: #{ clusterNetwork: #[ #{ cidr: "10.10.0.0/16", hostPrefix: 24 } ], diff --git a/models-gcp/cluster/example_patch.tsp b/models-gcp/cluster/example_patch.tsp index ff7a0e7..4f4be3f 100644 --- a/models-gcp/cluster/example_patch.tsp +++ b/models-gcp/cluster/example_patch.tsp @@ -14,8 +14,9 @@ const exampleClusterPatchRequest: ClusterPatchRequest = #{ }, }, release: #{ - image: "registry.redhat.io/openshift4/ose-cluster-version-operator:v4.14.0", - version: "4.14.0", + image: "registry.redhat.io/openshift4/ose-cluster-version-operator:v4.22.0-ec.4", + version: "4.22.0-ec.4", + channelGroup: "candidate", }, networking: #{ clusterNetwork: #[#{ cidr: "10.10.0.0/16", hostPrefix: 24 }], diff --git a/models-gcp/cluster/example_post.tsp b/models-gcp/cluster/example_post.tsp index b685235..79f5d6b 100644 --- a/models-gcp/cluster/example_post.tsp +++ b/models-gcp/cluster/example_post.tsp @@ -17,8 +17,9 @@ const exampleClusterCreateRequest: ClusterCreateRequest = #{ }, }, release: #{ - image: "registry.redhat.io/openshift4/ose-cluster-version-operator:v4.14.0", - version: "4.14.0", + image: "registry.redhat.io/openshift4/ose-cluster-version-operator:v4.22.0-ec.4", + version: "4.22.0-ec.4", + channelGroup: "candidate", }, networking: #{ clusterNetwork: #[#{ cidr: "10.10.0.0/16", hostPrefix: 24 }], diff --git a/schemas/gcp/openapi.yaml b/schemas/gcp/openapi.yaml index d9920a1..460246d 100644 --- a/schemas/gcp/openapi.yaml +++ b/schemas/gcp/openapi.yaml @@ -194,8 +194,9 @@ paths: network: network-123 subnet: subnet-123 release: - image: registry.redhat.io/openshift4/ose-cluster-version-operator:v4.14.0 - version: 4.14.0 + image: registry.redhat.io/openshift4/ose-cluster-version-operator:v4.22.0-ec.4 + version: 4.22.0-ec.4 + channelGroup: candidate networking: clusterNetwork: - cidr: 10.10.0.0/16 @@ -995,8 +996,9 @@ components: network: network-123 subnet: subnet-123 release: - image: registry.redhat.io/openshift4/ose-cluster-version-operator:v4.14.0 - version: 4.14.0 + image: registry.redhat.io/openshift4/ose-cluster-version-operator:v4.22.0-ec.4 + version: 4.22.0-ec.4 + channelGroup: candidate networking: clusterNetwork: - cidr: 10.10.0.0/16 @@ -1088,8 +1090,9 @@ components: network: network-123 subnet: subnet-123 release: - image: registry.redhat.io/openshift4/ose-cluster-version-operator:v4.14.0 - version: 4.14.0 + image: registry.redhat.io/openshift4/ose-cluster-version-operator:v4.22.0-ec.4 + version: 4.22.0-ec.4 + channelGroup: candidate networking: clusterNetwork: - cidr: 10.10.0.0/16 @@ -1149,8 +1152,9 @@ components: network: network-123 subnet: subnet-123 release: - image: registry.redhat.io/openshift4/ose-cluster-version-operator:v4.14.0 - version: 4.14.0 + image: registry.redhat.io/openshift4/ose-cluster-version-operator:v4.22.0-ec.4 + version: 4.22.0-ec.4 + channelGroup: candidate networking: clusterNetwork: - cidr: 10.10.0.0/16 diff --git a/schemas/gcp/swagger.yaml b/schemas/gcp/swagger.yaml index a9f794e..d5942a6 100644 --- a/schemas/gcp/swagger.yaml +++ b/schemas/gcp/swagger.yaml @@ -170,9 +170,10 @@ paths: zone: us-central1-a type: gcp release: + channelGroup: candidate image: >- - registry.redhat.io/openshift4/ose-cluster-version-operator:v4.14.0 - version: 4.14.0 + registry.redhat.io/openshift4/ose-cluster-version-operator:v4.22.0-ec.4 + version: 4.22.0-ec.4 status: conditions: - created_time: '2021-01-01T10:00:00Z' @@ -1069,8 +1070,10 @@ definitions: zone: us-central1-a type: gcp release: - image: 'registry.redhat.io/openshift4/ose-cluster-version-operator:v4.14.0' - version: 4.14.0 + channelGroup: candidate + image: >- + registry.redhat.io/openshift4/ose-cluster-version-operator:v4.22.0-ec.4 + version: 4.22.0-ec.4 status: conditions: - created_time: '2021-01-01T10:00:00Z' @@ -1204,8 +1207,10 @@ definitions: zone: us-central1-a type: gcp release: - image: 'registry.redhat.io/openshift4/ose-cluster-version-operator:v4.14.0' - version: 4.14.0 + channelGroup: candidate + image: >- + registry.redhat.io/openshift4/ose-cluster-version-operator:v4.22.0-ec.4 + version: 4.22.0-ec.4 properties: href: description: Resource URI @@ -1287,8 +1292,10 @@ definitions: zone: us-central1-a type: gcp release: - image: 'registry.redhat.io/openshift4/ose-cluster-version-operator:v4.14.0' - version: 4.14.0 + channelGroup: candidate + image: >- + registry.redhat.io/openshift4/ose-cluster-version-operator:v4.22.0-ec.4 + version: 4.22.0-ec.4 minProperties: 1 properties: labels: From 72bd11cdd2844a0f2902634e3543a9c79743873a Mon Sep 17 00:00:00 2001 From: Cristiano Veiga Date: Fri, 15 May 2026 17:44:54 -0400 Subject: [PATCH 3/3] chore(changelog): fix comparison links for v1.0.15 Update [Unreleased] to compare from v1.0.15...HEAD and add missing [1.0.15] link per Keep a Changelog conventions. Co-Authored-By: Claude Sonnet 4.6 --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index abaedad..f6da954 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -144,7 +144,8 @@ First official stable release of the HyperFleet API specification. - Interactive API documentation -[Unreleased]: https://github.com/openshift-hyperfleet/hyperfleet-api-spec/compare/v1.0.14...HEAD +[Unreleased]: https://github.com/openshift-hyperfleet/hyperfleet-api-spec/compare/v1.0.15...HEAD +[1.0.15]: https://github.com/openshift-hyperfleet/hyperfleet-api-spec/compare/v1.0.14...v1.0.15 [1.0.14]: https://github.com/openshift-hyperfleet/hyperfleet-api-spec/compare/v1.0.13...v1.0.14 [1.0.13]: https://github.com/openshift-hyperfleet/hyperfleet-api-spec/compare/v1.0.12...v1.0.13 [1.0.12]: https://github.com/openshift-hyperfleet/hyperfleet-api-spec/compare/v1.0.11...v1.0.12