Skip to content

Commit 5a57359

Browse files
Google APIscopybara-github
authored andcommitted
feat: add a API field to enable FQDN Network Policy on clusters
--- feat: turn on public visibility for best effort provision --- feat: add CheckAutopilotCompatibility API to get autopilot compatibility issues for a given standard cluster PiperOrigin-RevId: 537987027
1 parent a924ecc commit 5a57359

1 file changed

Lines changed: 104 additions & 0 deletions

File tree

google/container/v1/cluster_service.proto

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -505,6 +505,15 @@ service ClusterManager {
505505
get: "/v1/{parent=projects/*}/aggregated/usableSubnetworks"
506506
};
507507
}
508+
509+
// Checks the cluster compatibility with Autopilot mode, and returns a list of
510+
// compatibility issues.
511+
rpc CheckAutopilotCompatibility(CheckAutopilotCompatibilityRequest)
512+
returns (CheckAutopilotCompatibilityResponse) {
513+
option (google.api.http) = {
514+
get: "/v1/{name=projects/*/locations/*/clusters/*}:checkAutopilotCompatibility"
515+
};
516+
}
508517
}
509518

510519
// Parameters that can be configured on Linux nodes.
@@ -1901,6 +1910,15 @@ message Cluster {
19011910

19021911
// Fleet information for the cluster.
19031912
Fleet fleet = 140;
1913+
1914+
// Beta APIs Config
1915+
K8sBetaAPIConfig enable_k8s_beta_apis = 143;
1916+
}
1917+
1918+
// K8sBetaAPIConfig , configuration for beta APIs
1919+
message K8sBetaAPIConfig {
1920+
// Enabled k8s beta APIs.
1921+
repeated string enabled_apis = 1;
19041922
}
19051923

19061924
// Node pool configs that apply to all auto-provisioned node pools
@@ -2123,6 +2141,15 @@ message ClusterUpdate {
21232141
// The pod ranges specified here must have been specified earlier in the
21242142
// 'additional_pod_ranges_config' argument.
21252143
AdditionalPodRangesConfig removed_additional_pod_ranges_config = 121;
2144+
2145+
// Kubernetes open source beta apis enabled on the cluster. Only beta apis
2146+
K8sBetaAPIConfig enable_k8s_beta_apis = 122;
2147+
2148+
// Enable/Disable FQDN Network Policy for the cluster.
2149+
optional bool desired_enable_fqdn_network_policy = 126;
2150+
2151+
// Desired Beta APIs to be enabled for cluster.
2152+
K8sBetaAPIConfig desired_k8s_beta_apis = 131;
21262153
}
21272154

21282155
// AdditionalPodRangesConfig is the configuration for additional pod secondary
@@ -3367,6 +3394,9 @@ message NodePool {
33673394
// fields, and may be sent on update requests to ensure the client has an
33683395
// up-to-date value before proceeding.
33693396
string etag = 110;
3397+
3398+
// Enable best effort provisioning for nodes
3399+
BestEffortProvisioning best_effort_provisioning = 113;
33703400
}
33713401

33723402
// NodeManagement defines the set of node management services turned on for the
@@ -3387,6 +3417,19 @@ message NodeManagement {
33873417
AutoUpgradeOptions upgrade_options = 10;
33883418
}
33893419

3420+
// Best effort provisioning.
3421+
message BestEffortProvisioning {
3422+
// When this is enabled, cluster/node pool creations will ignore non-fatal
3423+
// errors like stockout to best provision as many nodes as possible right now
3424+
// and eventually bring up all target number of nodes
3425+
bool enabled = 1;
3426+
3427+
// Minimum number of nodes to be provisioned to be considered as succeeded,
3428+
// and the rest of nodes will be provisioned gradually and eventually when
3429+
// stockout issue has been resolved.
3430+
int32 min_provision_nodes = 2;
3431+
}
3432+
33903433
// AutoUpgradeOptions defines the set of options for the user to control how
33913434
// the Auto Upgrades will proceed.
33923435
message AutoUpgradeOptions {
@@ -4096,6 +4139,9 @@ message NetworkConfig {
40964139
// GatewayAPIConfig contains the desired config of Gateway API on this
40974140
// cluster.
40984141
GatewayAPIConfig gateway_api_config = 16;
4142+
4143+
// Whether FQDN Network Policy is enabled on this cluster.
4144+
optional bool enable_fqdn_network_policy = 19;
40994145
}
41004146

41014147
// GatewayAPIConfig contains the desired config of Gateway API on this cluster.
@@ -4206,6 +4252,64 @@ message GetJSONWebKeysResponse {
42064252
repeated Jwk keys = 1;
42074253
}
42084254

4255+
// CheckAutopilotCompatibilityRequest requests getting the blockers for the
4256+
// given operation in the cluster.
4257+
message CheckAutopilotCompatibilityRequest {
4258+
// The name (project, location, cluster) of the cluster to retrieve.
4259+
// Specified in the format `projects/*/locations/*/clusters/*`.
4260+
string name = 1;
4261+
}
4262+
4263+
// AutopilotCompatibilityIssue contains information about a specific
4264+
// compatibility issue with Autopilot mode.
4265+
message AutopilotCompatibilityIssue {
4266+
// The type of the reported issue.
4267+
enum IssueType {
4268+
// Default value, should not be used.
4269+
UNSPECIFIED = 0;
4270+
4271+
// Indicates that the issue is a known incompatibility between the
4272+
// cluster and Autopilot mode.
4273+
INCOMPATIBILITY = 1;
4274+
4275+
// Indicates the issue is an incompatibility if customers take no further
4276+
// action to resolve.
4277+
ADDITIONAL_CONFIG_REQUIRED = 2;
4278+
4279+
// Indicates the issue is not an incompatibility, but depending on the
4280+
// workloads business logic, there is a potential that they won't work on
4281+
// Autopilot.
4282+
PASSED_WITH_OPTIONAL_CONFIG = 3;
4283+
}
4284+
4285+
// The last time when this issue was observed.
4286+
google.protobuf.Timestamp last_observation = 1;
4287+
4288+
// The constraint type of the issue.
4289+
string constraint_type = 2;
4290+
4291+
// The incompatibility type of this issue.
4292+
IssueType incompatibility_type = 3;
4293+
4294+
// The name of the resources which are subject to this issue.
4295+
repeated string subjects = 4;
4296+
4297+
// A URL to a public documnetation, which addresses resolving this issue.
4298+
string documentation_url = 5;
4299+
4300+
// The description of the issue.
4301+
string description = 6;
4302+
}
4303+
4304+
// CheckAutopilotCompatibilityResponse has a list of compatibility issues.
4305+
message CheckAutopilotCompatibilityResponse {
4306+
// The list of issues for the given operation.
4307+
repeated AutopilotCompatibilityIssue issues = 1;
4308+
4309+
// The summary of the autopilot compatibility response.
4310+
string summary = 2;
4311+
}
4312+
42094313
// ReleaseChannel indicates which release channel a cluster is
42104314
// subscribed to. Release channels are arranged in order of risk.
42114315
//

0 commit comments

Comments
 (0)