Skip to content

Commit

Permalink
Update cluster api GCP CRD (#418)
Browse files Browse the repository at this point in the history
  • Loading branch information
afarbos authored Nov 19, 2024
1 parent 22e3491 commit 9adab05
Show file tree
Hide file tree
Showing 7 changed files with 1,011 additions and 129 deletions.
140 changes: 119 additions & 21 deletions infrastructure.cluster.x-k8s.io/gcpcluster_v1beta1.json

Large diffs are not rendered by default.

114 changes: 98 additions & 16 deletions infrastructure.cluster.x-k8s.io/gcpclustertemplate_v1beta1.json

Large diffs are not rendered by default.

207 changes: 185 additions & 22 deletions infrastructure.cluster.x-k8s.io/gcpmachine_v1beta1.json

Large diffs are not rendered by default.

209 changes: 186 additions & 23 deletions infrastructure.cluster.x-k8s.io/gcpmachinetemplate_v1beta1.json

Large diffs are not rendered by default.

148 changes: 123 additions & 25 deletions infrastructure.cluster.x-k8s.io/gcpmanagedcluster_v1beta1.json

Large diffs are not rendered by default.

126 changes: 114 additions & 12 deletions infrastructure.cluster.x-k8s.io/gcpmanagedcontrolplane_v1beta1.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
"description": "GCPManagedControlPlane is the Schema for the gcpmanagedcontrolplanes API.",
"properties": {
"apiVersion": {
"description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
"description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
"type": "string"
},
"kind": {
"description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
"description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
"type": "string"
},
"metadata": {
Expand All @@ -16,17 +16,85 @@
"description": "GCPManagedControlPlaneSpec defines the desired state of GCPManagedControlPlane.",
"properties": {
"clusterName": {
"description": "ClusterName allows you to specify the name of the GKE cluster. If you don't specify a name then a default name will be created based on the namespace and name of the managed control plane.",
"description": "ClusterName allows you to specify the name of the GKE cluster.\nIf you don't specify a name then a default name will be created\nbased on the namespace and name of the managed control plane.",
"type": "string"
},
"clusterNetwork": {
"description": "ClusterNetwork define the cluster network.",
"properties": {
"pod": {
"description": "Pod defines the range of CIDRBlock list from where it gets the IP address.",
"properties": {
"cidrBlock": {
"description": "CidrBlock is where all pods in the cluster are assigned an IP address from this range. Enter a range\n(in CIDR notation) within a network range, a mask, or leave this field blank to use a default range.\nThis setting is permanent.",
"type": "string"
}
},
"type": "object",
"additionalProperties": false
},
"privateCluster": {
"description": "PrivateCluster defines the private cluster spec.",
"properties": {
"controlPlaneCidrBlock": {
"description": "ControlPlaneCidrBlock is the IP range in CIDR notation to use for the hosted master network. This range must not\noverlap with any other ranges in use within the cluster's network. Honored when enabled is true.",
"type": "string"
},
"controlPlaneGlobalAccess": {
"description": "ControlPlaneGlobalAccess is whenever master is accessible globally or not. Honored when enabled is true.",
"type": "boolean"
},
"disableDefaultSNAT": {
"description": "DisableDefaultSNAT disables cluster default sNAT rules. Honored when enabled is true.",
"type": "boolean"
},
"enablePrivateEndpoint": {
"description": "EnablePrivateEndpoint: Whether the master's internal IP\naddress is used as the cluster endpoint.",
"type": "boolean"
},
"enablePrivateNodes": {
"description": "EnablePrivateNodes: Whether nodes have internal IP\naddresses only. If enabled, all nodes are given only RFC\n1918 private addresses and communicate with the master via\nprivate networking.",
"type": "boolean"
}
},
"type": "object",
"additionalProperties": false
},
"service": {
"description": "Service defines the range of CIDRBlock list from where it gets the IP address.",
"properties": {
"cidrBlock": {
"description": "CidrBlock is where cluster services will be assigned an IP address from this IP address range. Enter a range\n(in CIDR notation) within a network range, a mask, or leave this field blank to use a default range.\nThis setting is permanent.",
"type": "string"
}
},
"type": "object",
"additionalProperties": false
},
"useIPAliases": {
"description": "UseIPAliases is whether alias IPs will be used for pod IPs in the cluster. If false, routes will be used for\npod IPs in the cluster.",
"type": "boolean"
}
},
"type": "object",
"additionalProperties": false
},
"controlPlaneVersion": {
"description": "ControlPlaneVersion represents the control plane version of the GKE cluster. If not specified, the default version currently supported by GKE will be used.",
"description": "ControlPlaneVersion represents the control plane version of the GKE cluster.\nIf not specified, the default version currently supported by GKE will be\nused.",
"type": "string"
},
"description": {
"description": "Description describe the cluster.",
"type": "string"
},
"enableAutopilot": {
"description": "EnableAutopilot indicates whether to enable autopilot for this GKE cluster.",
"type": "boolean"
},
"enableIdentityService": {
"description": "EnableIdentityService indicates whether to enable Identity Service component for this GKE cluster.",
"type": "boolean"
},
"endpoint": {
"description": "Endpoint represents the endpoint used to communicate with the control plane.",
"properties": {
Expand All @@ -48,9 +116,40 @@
"additionalProperties": false
},
"location": {
"description": "Location represents the location (region or zone) in which the GKE cluster will be created.",
"description": "Location represents the location (region or zone) in which the GKE cluster\nwill be created.",
"type": "string"
},
"master_authorized_networks_config": {
"description": "MasterAuthorizedNetworksConfig represents configuration options for master authorized networks feature of the GKE cluster.\nThis feature is disabled if this field is not specified.",
"properties": {
"cidr_blocks": {
"description": "cidr_blocks define up to 50 external networks that could access\nKubernetes master through HTTPS.",
"items": {
"description": "MasterAuthorizedNetworksConfigCidrBlock contains an optional name and one CIDR block.",
"properties": {
"cidr_block": {
"description": "cidr_block must be specified in CIDR notation.",
"pattern": "^(?:[0-9]{1,3}\\.){3}[0-9]{1,3}(?:\\/([0-9]|[1-2][0-9]|3[0-2]))?$|^([a-fA-F0-9:]+:+)+[a-fA-F0-9]+\\/[0-9]{1,3}$",
"type": "string"
},
"display_name": {
"description": "display_name is an field for users to identify CIDR blocks.",
"type": "string"
}
},
"type": "object",
"additionalProperties": false
},
"type": "array"
},
"gcp_public_cidrs_access_enabled": {
"description": "Whether master is accessible via Google Compute Engine Public IP addresses.",
"type": "boolean"
}
},
"type": "object",
"additionalProperties": false
},
"project": {
"description": "Project is the name of the project to deploy the cluster to.",
"type": "string"
Expand All @@ -66,7 +165,6 @@
}
},
"required": [
"enableAutopilot",
"location",
"project"
],
Expand All @@ -82,28 +180,28 @@
"description": "Condition defines an observation of a Cluster API resource operational state.",
"properties": {
"lastTransitionTime": {
"description": "Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.",
"description": "Last time the condition transitioned from one status to another.\nThis should be when the underlying condition changed. If that is not known, then using the time when\nthe API field changed is acceptable.",
"format": "date-time",
"type": "string"
},
"message": {
"description": "A human readable message indicating details about the transition. This field may be empty.",
"description": "A human readable message indicating details about the transition.\nThis field may be empty.",
"type": "string"
},
"reason": {
"description": "The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty.",
"description": "The reason for the condition's last transition in CamelCase.\nThe specific API may choose whether or not this field is considered a guaranteed API.\nThis field may not be empty.",
"type": "string"
},
"severity": {
"description": "Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False.",
"description": "Severity provides an explicit classification of Reason code, so the users or machines can immediately\nunderstand the current situation and act accordingly.\nThe Severity field MUST be set only when Status=False.",
"type": "string"
},
"status": {
"description": "Status of the condition, one of True, False, Unknown.",
"type": "string"
},
"type": {
"description": "Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important.",
"description": "Type of condition in CamelCase or in foo.example.com/CamelCase.\nMany .condition.type values are consistent across resources like Available, but because arbitrary conditions\ncan be useful (see .node.status.conditions), the ability to deconflict is important.",
"type": "string"
}
},
Expand All @@ -121,9 +219,13 @@
"description": "CurrentVersion shows the current version of the GKE control plane.",
"type": "string"
},
"initialized": {
"description": "Initialized is true when the control plane is available for initial contact.\nThis may occur before the control plane is fully ready.",
"type": "boolean"
},
"ready": {
"default": false,
"description": "Ready denotes that the GCPManagedControlPlane API Server is ready to receive requests.",
"description": "Ready denotes that the GCPManagedControlPlane API Server is ready to\nreceive requests.",
"type": "boolean"
}
},
Expand Down
Loading

0 comments on commit 9adab05

Please sign in to comment.