Skip to content

Commit 9de1438

Browse files
gcf-owl-bot[bot]quirogaspearigee
authored
feat: [gkehub] A new field kubernetes_api_server_version is added to message .google.cloud.gkehub.configmanagement.v1beta.MembershipState (#7534)
* feat: A new field `kubernetes_api_server_version` is added to message `.google.cloud.gkehub.configmanagement.v1beta.MembershipState` feat: A new field `deployment_overrides` is added to message `.google.cloud.gkehub.configmanagement.v1beta.ConfigSync` feat: A new message `DeploymentOverride` is added feat: A new message `ContainerOverride` is added feat: The `management` field is deprecated. docs: clarify field behavior for GKE Hub "configmanagement" Feature Clients can now override resource requests and limits for Config Sync components. See https://docs.cloud.google.com/kubernetes-engine/config-sync/docs/how-to/installing-config-sync#override. PiperOrigin-RevId: 879849424 Source-Link: googleapis/googleapis@8f70147 Source-Link: googleapis/googleapis-gen@c8c8447 Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWdrZWh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiYzhjODQ0NzQ3ZjBkNzg1ZWZhOGRhMWQ2YTdhMWFkNzIwMzY2MjAwYiJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --------- Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com> Co-authored-by: Santiago Quiroga <22756465+quirogas@users.noreply.github.com> Co-authored-by: Gabe Pearhill <86282859+pearigee@users.noreply.github.com>
1 parent 771544b commit 9de1438

4 files changed

Lines changed: 1059 additions & 30 deletions

File tree

packages/google-cloud-gkehub/protos/google/cloud/gkehub/v1beta/configmanagement/configmanagement.proto

Lines changed: 96 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright 2025 Google LLC
1+
// Copyright 2026 Google LLC
22
//
33
// Licensed under the Apache License, Version 2.0 (the "License");
44
// you may not use this file except in compliance with the License.
@@ -75,6 +75,10 @@ message MembershipState {
7575
// Output only. Hierarchy Controller status
7676
HierarchyControllerState hierarchy_controller_state = 7
7777
[(google.api.field_behavior) = OUTPUT_ONLY];
78+
79+
// Output only. The Kubernetes API server version of the cluster.
80+
string kubernetes_api_server_version = 8
81+
[(google.api.field_behavior) = OUTPUT_ONLY];
7882
}
7983

8084
// **Anthos Config Management**: Configuration for a single cluster.
@@ -101,8 +105,8 @@ message MembershipSpec {
101105
PolicyController policy_controller = 2
102106
[deprecated = true, (google.api.field_behavior) = OPTIONAL];
103107

104-
// Optional. Binauthz conifguration for the cluster. Deprecated: This field
105-
// will be ignored and should not be set.
108+
// Optional. Deprecated: Binauthz configuration will be ignored and should not
109+
// be set.
106110
BinauthzConfig binauthz = 3
107111
[deprecated = true, (google.api.field_behavior) = OPTIONAL];
108112

@@ -113,43 +117,53 @@ message MembershipSpec {
113117
HierarchyControllerConfig hierarchy_controller = 4
114118
[deprecated = true, (google.api.field_behavior) = OPTIONAL];
115119

116-
// Optional. Version of ACM installed.
120+
// Optional. Version of Config Sync to install. Defaults to the latest
121+
// supported Config Sync version if the config_sync field is enabled. See
122+
// supported versions at
123+
// https://cloud.google.com/kubernetes-engine/config-sync/docs/get-support-config-sync#version_support_policy.
117124
string version = 10 [(google.api.field_behavior) = OPTIONAL];
118125

119-
// Optional. The user-specified cluster name used by Config Sync
120-
// cluster-name-selector annotation or ClusterSelector, for applying configs
121-
// to only a subset of clusters. Omit this field if the cluster's fleet
122-
// membership name is used by Config Sync cluster-name-selector annotation or
123-
// ClusterSelector. Set this field if a name different from the cluster's
124-
// fleet membership name is used by Config Sync cluster-name-selector
125-
// annotation or ClusterSelector.
126+
// Optional. User-specified cluster name used by the Config Sync
127+
// cluster-name-selector annotation or ClusterSelector object, for applying
128+
// configs to only a subset of clusters. Read more about the
129+
// cluster-name-selector annotation and ClusterSelector object at
130+
// https://docs.cloud.google.com/kubernetes-engine/config-sync/docs/how-to/cluster-scoped-objects#limiting-configs.
131+
// Only set this field if a name different from the cluster's fleet membership
132+
// name is used by the Config Sync cluster-name-selector annotation or
133+
// ClusterSelector.
126134
string cluster = 11 [(google.api.field_behavior) = OPTIONAL];
127135

128-
// Optional. Enables automatic Feature management.
129-
Management management = 12 [(google.api.field_behavior) = OPTIONAL];
136+
// Optional. Deprecated: From version 1.21.0, automatic Feature management is
137+
// unavailable, and Config Sync only supports manual upgrades.
138+
Management management = 12
139+
[deprecated = true, (google.api.field_behavior) = OPTIONAL];
130140
}
131141

132142
// Configuration for Config Sync
133143
message ConfigSync {
134144
// Optional. Git repo configuration for the cluster.
135145
GitConfig git = 7 [(google.api.field_behavior) = OPTIONAL];
136146

137-
// Optional. Specifies whether the Config Sync Repo is
138-
// in "hierarchical" or "unstructured" mode.
147+
// Optional. Specifies whether the Config Sync repo is in `hierarchical` or
148+
// `unstructured` mode. Defaults to `hierarchical`. See
149+
// https://docs.cloud.google.com/kubernetes-engine/config-sync/docs/concepts/configs#organize-configs
150+
// for an explanation.
139151
string source_format = 8 [(google.api.field_behavior) = OPTIONAL];
140152

141-
// Optional. Enables the installation of ConfigSync.
142-
// If set to true, ConfigSync resources will be created and the other
143-
// ConfigSync fields will be applied if exist.
144-
// If set to false, all other ConfigSync fields will be ignored, ConfigSync
145-
// resources will be deleted.
146-
// If omitted, ConfigSync resources will be managed depends on the presence
147-
// of the git or oci field.
153+
// Optional. Enables the installation of Config Sync.
154+
// If set to true, the Feature will manage Config Sync resources,
155+
// and apply the other ConfigSync fields if they exist.
156+
// If set to false, the Feature will ignore all other ConfigSync fields and
157+
// delete the Config Sync resources.
158+
// If omitted, ConfigSync is considered enabled if the git or oci field is
159+
// present.
148160
optional bool enabled = 10 [(google.api.field_behavior) = OPTIONAL];
149161

150162
// Optional. Set to true to enable the Config Sync admission webhook to
151-
// prevent drifts. If set to `false`, disables the Config Sync admission
152-
// webhook and does not prevent drifts.
163+
// prevent drifts. If set to false, disables the Config Sync admission webhook
164+
// and does not prevent drifts. Defaults to false. See
165+
// https://docs.cloud.google.com/kubernetes-engine/config-sync/docs/how-to/prevent-config-drift
166+
// for details.
153167
bool prevent_drift = 11 [(google.api.field_behavior) = OPTIONAL];
154168

155169
// Optional. OCI repo configuration for the cluster
@@ -158,6 +172,56 @@ message ConfigSync {
158172
// Optional. Set to true to stop syncing configs for a single cluster.
159173
// Default to false.
160174
bool stop_syncing = 16 [(google.api.field_behavior) = OPTIONAL];
175+
176+
// Optional. Configuration for deployment overrides.
177+
// Applies only to Config Sync deployments with containers that are not a root
178+
// or namespace reconciler: `reconciler-manager`, `otel-collector`,
179+
// `resource-group-controller-manager`, `admission-webhook`.
180+
// To override a root or namespace reconciler, use the rootsync or reposync
181+
// fields at
182+
// https://docs.cloud.google.com/kubernetes-engine/config-sync/docs/reference/rootsync-reposync-fields#override-resources
183+
// instead.
184+
repeated DeploymentOverride deployment_overrides = 17
185+
[(google.api.field_behavior) = OPTIONAL];
186+
}
187+
188+
// Configuration for a deployment override.
189+
message DeploymentOverride {
190+
// Required. The name of the deployment resource to be overridden.
191+
string deployment_name = 1 [(google.api.field_behavior) = REQUIRED];
192+
193+
// Required. The namespace of the deployment resource to be overridden.
194+
string deployment_namespace = 2 [(google.api.field_behavior) = REQUIRED];
195+
196+
// Optional. The containers of the deployment resource to be overridden.
197+
repeated ContainerOverride containers = 3
198+
[(google.api.field_behavior) = OPTIONAL];
199+
}
200+
201+
// Configuration for a container override.
202+
message ContainerOverride {
203+
// Required. The name of the container.
204+
string container_name = 1 [(google.api.field_behavior) = REQUIRED];
205+
206+
// Optional. The cpu request of the container. Use the following CPU resource
207+
// units:
208+
// https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-cpu.
209+
string cpu_request = 2 [(google.api.field_behavior) = OPTIONAL];
210+
211+
// Optional. The cpu limit of the container. Use the following CPU resource
212+
// units:
213+
// https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-cpu.
214+
string cpu_limit = 3 [(google.api.field_behavior) = OPTIONAL];
215+
216+
// Optional. The memory request of the container. Use the following memory
217+
// resource units:
218+
// https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-memory.
219+
string memory_request = 4 [(google.api.field_behavior) = OPTIONAL];
220+
221+
// Optional. The memory limit of the container. Use the following memory
222+
// resource units:
223+
// https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-memory.
224+
string memory_limit = 5 [(google.api.field_behavior) = OPTIONAL];
161225
}
162226

163227
// Git repo configuration for a single cluster.
@@ -179,17 +243,18 @@ message GitConfig {
179243
string sync_rev = 5 [(google.api.field_behavior) = OPTIONAL];
180244

181245
// Required. Type of secret configured for access to the Git repo.
182-
// Must be one of ssh, cookiefile, gcenode, token, gcpserviceaccount,
183-
// githubapp or none.
246+
// Must be one of `ssh`, `cookiefile`, `gcenode`, `token`,
247+
// `gcpserviceaccount`, `githubapp` or `none`.
184248
// The validation of this is case-sensitive.
185249
string secret_type = 6 [(google.api.field_behavior) = REQUIRED];
186250

187251
// Optional. URL for the HTTPS proxy to be used when communicating with the
188-
// Git repo.
252+
// Git repo. Only specify when secret_type is `cookiefile`, `token`, or
253+
// `none`.
189254
string https_proxy = 7 [(google.api.field_behavior) = OPTIONAL];
190255

191256
// Optional. The Google Cloud Service Account Email used for auth when
192-
// secret_type is gcpServiceAccount.
257+
// secret_type is `gcpserviceaccount`.
193258
string gcp_service_account_email = 8 [(google.api.field_behavior) = OPTIONAL];
194259
}
195260

@@ -207,12 +272,13 @@ message OciConfig {
207272
int64 sync_wait_secs = 3 [(google.api.field_behavior) = OPTIONAL];
208273

209274
// Required. Type of secret configured for access to the OCI repo.
210-
// Must be one of gcenode, gcpserviceaccount, k8sserviceaccount or none.
275+
// Must be one of `gcenode`, `gcpserviceaccount`, `k8sserviceaccount` or
276+
// `none`.
211277
// The validation of this is case-sensitive.
212278
string secret_type = 4 [(google.api.field_behavior) = REQUIRED];
213279

214280
// Optional. The Google Cloud Service Account Email used for auth when
215-
// secret_type is gcpServiceAccount.
281+
// secret_type is `gcpserviceaccount`.
216282
string gcp_service_account_email = 5 [(google.api.field_behavior) = OPTIONAL];
217283
}
218284

0 commit comments

Comments
 (0)