Skip to content

Commit e1de7d7

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: 537883922
1 parent a765812 commit e1de7d7

1 file changed

Lines changed: 104 additions & 0 deletions

File tree

google/container/v1beta1/cluster_service.proto

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -489,6 +489,15 @@ service ClusterManager {
489489
option (google.api.method_signature) = "parent";
490490
}
491491

492+
// Checks the cluster compatibility with Autopilot mode, and returns a list of
493+
// compatibility issues.
494+
rpc CheckAutopilotCompatibility(CheckAutopilotCompatibilityRequest)
495+
returns (CheckAutopilotCompatibilityResponse) {
496+
option (google.api.http) = {
497+
get: "/v1beta1/{name=projects/*/locations/*/clusters/*}:checkAutopilotCompatibility"
498+
};
499+
}
500+
492501
// Fetches locations that offer Google Kubernetes Engine.
493502
rpc ListLocations(ListLocationsRequest) returns (ListLocationsResponse) {
494503
option (google.api.http) = {
@@ -1843,6 +1852,9 @@ message Cluster {
18431852
// creation.
18441853
bool enable_kubernetes_alpha = 14;
18451854

1855+
// Kubernetes open source beta apis enabled on the cluster. Only beta apis.
1856+
K8sBetaAPIConfig enable_k8s_beta_apis = 143;
1857+
18461858
// The resource labels for the cluster to use to annotate any related
18471859
// Google Compute Engine resources.
18481860
map<string, string> resource_labels = 15;
@@ -2088,6 +2100,12 @@ message Cluster {
20882100
Fleet fleet = 140;
20892101
}
20902102

2103+
// Kubernetes open source beta apis enabled on the cluster.
2104+
message K8sBetaAPIConfig {
2105+
// api name, e.g. storage.k8s.io/v1beta1/csistoragecapacities.
2106+
repeated string enabled_apis = 1;
2107+
}
2108+
20912109
// WorkloadConfig defines the flags to enable or disable the
20922110
// workload configurations for the cluster.
20932111
message WorkloadConfig {
@@ -2383,6 +2401,15 @@ message ClusterUpdate {
23832401
// The pod ranges specified here must have been specified earlier in the
23842402
// 'additional_pod_ranges_config' argument.
23852403
AdditionalPodRangesConfig removed_additional_pod_ranges_config = 121;
2404+
2405+
// Kubernetes open source beta apis enabled on the cluster. Only beta apis
2406+
K8sBetaAPIConfig enable_k8s_beta_apis = 122;
2407+
2408+
// Enable/Disable FQDN Network Policy for the cluster.
2409+
optional bool desired_enable_fqdn_network_policy = 126;
2410+
2411+
// Beta APIs enabled for cluster.
2412+
K8sBetaAPIConfig desired_k8s_beta_apis = 131;
23862413
}
23872414

23882415
// AdditionalPodRangesConfig is the configuration for additional pod secondary
@@ -3291,6 +3318,19 @@ message ServerConfig {
32913318
map<string, WindowsVersions> windows_version_maps = 10;
32923319
}
32933320

3321+
// Best effort provisioning.
3322+
message BestEffortProvisioning {
3323+
// When this is enabled, cluster/node pool creations will ignore non-fatal
3324+
// errors like stockout to best provision as many nodes as possible right now
3325+
// and eventually bring up all target number of nodes
3326+
bool enabled = 1;
3327+
3328+
// Minimum number of nodes to be provisioned to be considered as succeeded,
3329+
// and the rest of nodes will be provisioned gradually and eventually when
3330+
// stockout issue has been resolved.
3331+
int32 min_provision_nodes = 2;
3332+
}
3333+
32943334
// Windows server versions.
32953335
message WindowsVersions {
32963336
// Windows server version.
@@ -3706,6 +3746,9 @@ message NodePool {
37063746
// fields, and may be sent on update requests to ensure the client has an
37073747
// up-to-date value before proceeding.
37083748
string etag = 110;
3749+
3750+
// Enable best effort provisioning for nodes
3751+
BestEffortProvisioning best_effort_provisioning = 113;
37093752
}
37103753

37113754
// NodeManagement defines the set of node management services turned on for the
@@ -4556,6 +4599,9 @@ message NetworkConfig {
45564599
// GatewayAPIConfig contains the desired config of Gateway API on this
45574600
// cluster.
45584601
GatewayAPIConfig gateway_api_config = 16;
4602+
4603+
// Whether FQDN Network Policy is enabled on this cluster.
4604+
optional bool enable_fqdn_network_policy = 19;
45594605
}
45604606

45614607
// GatewayAPIConfig contains the desired config of Gateway API on this cluster.
@@ -4953,6 +4999,64 @@ message GetJSONWebKeysResponse {
49534999
repeated Jwk keys = 1;
49545000
}
49555001

5002+
// CheckAutopilotCompatibilityRequest requests getting the blockers for the
5003+
// given operation in the cluster.
5004+
message CheckAutopilotCompatibilityRequest {
5005+
// The name (project, location, cluster) of the cluster to retrieve.
5006+
// Specified in the format `projects/*/locations/*/clusters/*`.
5007+
string name = 1;
5008+
}
5009+
5010+
// AutopilotCompatibilityIssue contains information about a specific
5011+
// compatibility issue with Autopilot mode.
5012+
message AutopilotCompatibilityIssue {
5013+
// The type of the reported issue.
5014+
enum IssueType {
5015+
// Default value, should not be used.
5016+
UNSPECIFIED = 0;
5017+
5018+
// Indicates that the issue is a known incompatibility between the
5019+
// cluster and Autopilot mode.
5020+
INCOMPATIBILITY = 1;
5021+
5022+
// Indicates the issue is an incompatibility if customers take no further
5023+
// action to resolve.
5024+
ADDITIONAL_CONFIG_REQUIRED = 2;
5025+
5026+
// Indicates the issue is not an incompatibility, but depending on the
5027+
// workloads business logic, there is a potential that they won't work on
5028+
// Autopilot.
5029+
PASSED_WITH_OPTIONAL_CONFIG = 3;
5030+
}
5031+
5032+
// The last time when this issue was observed.
5033+
google.protobuf.Timestamp last_observation = 1;
5034+
5035+
// The constraint type of the issue.
5036+
string constraint_type = 2;
5037+
5038+
// The incompatibility type of this issue.
5039+
IssueType incompatibility_type = 3;
5040+
5041+
// The name of the resources which are subject to this issue.
5042+
repeated string subjects = 4;
5043+
5044+
// A URL to a public documnetation, which addresses resolving this issue.
5045+
string documentation_url = 5;
5046+
5047+
// The description of the issue.
5048+
string description = 6;
5049+
}
5050+
5051+
// CheckAutopilotCompatibilityResponse has a list of compatibility issues.
5052+
message CheckAutopilotCompatibilityResponse {
5053+
// The list of issues for the given operation.
5054+
repeated AutopilotCompatibilityIssue issues = 1;
5055+
5056+
// The summary of the autopilot compatibility response.
5057+
string summary = 2;
5058+
}
5059+
49565060
// ReleaseChannel indicates which release channel a cluster is
49575061
// subscribed to. Release channels are arranged in order of risk.
49585062
//

0 commit comments

Comments
 (0)