Copy LoadBalancerStatus from core to networking

This type should never have been shared between Service and Ingress.
The `ports` field is unfortunate, but it is needed to stay compatible.
This commit is contained in:
Tim Hockin
2021-11-08 17:06:59 -08:00
parent de95671f0c
commit 0153bfad16
46 changed files with 4712 additions and 632 deletions

View File

@@ -166,6 +166,7 @@ API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,DeploymentSt
API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,FSGroupStrategyOptions,Ranges
API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,HTTPIngressRuleValue,Paths
API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,IPBlock,Except
API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,IngressLoadBalancerStatus,Ingress
API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,IngressSpec,Rules
API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,IngressSpec,TLS
API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,IngressTLS,Hosts
@@ -194,6 +195,7 @@ API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,RuntimeClass
API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,SupplementalGroupsStrategyOptions,Ranges
API rule violation: list_type_missing,k8s.io/api/imagepolicy/v1alpha1,ImageReviewSpec,Containers
API rule violation: list_type_missing,k8s.io/api/networking/v1,IPBlock,Except
API rule violation: list_type_missing,k8s.io/api/networking/v1,IngressLoadBalancerStatus,Ingress
API rule violation: list_type_missing,k8s.io/api/networking/v1,NetworkPolicyEgressRule,Ports
API rule violation: list_type_missing,k8s.io/api/networking/v1,NetworkPolicyEgressRule,To
API rule violation: list_type_missing,k8s.io/api/networking/v1,NetworkPolicyIngressRule,From
@@ -202,6 +204,7 @@ API rule violation: list_type_missing,k8s.io/api/networking/v1,NetworkPolicySpec
API rule violation: list_type_missing,k8s.io/api/networking/v1,NetworkPolicySpec,Ingress
API rule violation: list_type_missing,k8s.io/api/networking/v1,NetworkPolicySpec,PolicyTypes
API rule violation: list_type_missing,k8s.io/api/networking/v1beta1,HTTPIngressRuleValue,Paths
API rule violation: list_type_missing,k8s.io/api/networking/v1beta1,IngressLoadBalancerStatus,Ingress
API rule violation: list_type_missing,k8s.io/api/networking/v1beta1,IngressSpec,Rules
API rule violation: list_type_missing,k8s.io/api/networking/v1beta1,IngressSpec,TLS
API rule violation: list_type_missing,k8s.io/api/networking/v1beta1,IngressTLS,Hosts

View File

@@ -11238,6 +11238,64 @@
}
]
},
"io.k8s.api.networking.v1.IngressLoadBalancerIngress": {
"description": "IngressLoadBalancerIngress represents the status of a load-balancer ingress point.",
"properties": {
"hostname": {
"description": "Hostname is set for load-balancer ingress points that are DNS based.",
"type": "string"
},
"ip": {
"description": "IP is set for load-balancer ingress points that are IP based.",
"type": "string"
},
"ports": {
"description": "Ports provides information about the ports exposed by this LoadBalancer.",
"items": {
"$ref": "#/definitions/io.k8s.api.networking.v1.IngressPortStatus"
},
"type": "array",
"x-kubernetes-list-type": "atomic"
}
},
"type": "object"
},
"io.k8s.api.networking.v1.IngressLoadBalancerStatus": {
"description": "IngressLoadBalancerStatus represents the status of a load-balancer.",
"properties": {
"ingress": {
"description": "Ingress is a list containing ingress points for the load-balancer.",
"items": {
"$ref": "#/definitions/io.k8s.api.networking.v1.IngressLoadBalancerIngress"
},
"type": "array"
}
},
"type": "object"
},
"io.k8s.api.networking.v1.IngressPortStatus": {
"description": "IngressPortStatus represents the error condition of a service port",
"properties": {
"error": {
"description": "Error is to record the problem with the service port The format of the error shall comply with the following rules: - built-in error values shall be specified in this file and those shall use\n CamelCase names\n- cloud provider specific error values must have names that comply with the\n format foo.example.com/CamelCase.",
"type": "string"
},
"port": {
"description": "Port is the port number of the ingress port.",
"format": "int32",
"type": "integer"
},
"protocol": {
"description": "Protocol is the protocol of the ingress port. The supported values are: \"TCP\", \"UDP\", \"SCTP\"\n\n",
"type": "string"
}
},
"required": [
"port",
"protocol"
],
"type": "object"
},
"io.k8s.api.networking.v1.IngressRule": {
"description": "IngressRule represents the rules mapping the paths under a specified host to the related backend services. Incoming requests are first evaluated for a host match, then routed to the backend associated with the matching IngressRuleValue.",
"properties": {
@@ -11302,7 +11360,7 @@
"description": "IngressStatus describe the current state of the Ingress.",
"properties": {
"loadBalancer": {
"$ref": "#/definitions/io.k8s.api.core.v1.LoadBalancerStatus",
"$ref": "#/definitions/io.k8s.api.networking.v1.IngressLoadBalancerStatus",
"description": "LoadBalancer contains the current status of the load-balancer."
}
},

View File

@@ -1,75 +1,6 @@
{
"components": {
"schemas": {
"io.k8s.api.core.v1.LoadBalancerIngress": {
"description": "LoadBalancerIngress represents the status of a load-balancer ingress point: traffic intended for the service should be sent to an ingress point.",
"properties": {
"hostname": {
"description": "Hostname is set for load-balancer ingress points that are DNS based (typically AWS load-balancers)",
"type": "string"
},
"ip": {
"description": "IP is set for load-balancer ingress points that are IP based (typically GCE or OpenStack load-balancers)",
"type": "string"
},
"ports": {
"description": "Ports is a list of records of service ports If used, every port defined in the service should have an entry in it",
"items": {
"allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.core.v1.PortStatus"
}
],
"default": {}
},
"type": "array",
"x-kubernetes-list-type": "atomic"
}
},
"type": "object"
},
"io.k8s.api.core.v1.LoadBalancerStatus": {
"description": "LoadBalancerStatus represents the status of a load-balancer.",
"properties": {
"ingress": {
"description": "Ingress is a list containing ingress points for the load-balancer. Traffic intended for the service should be sent to these ingress points.",
"items": {
"allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.core.v1.LoadBalancerIngress"
}
],
"default": {}
},
"type": "array"
}
},
"type": "object"
},
"io.k8s.api.core.v1.PortStatus": {
"properties": {
"error": {
"description": "Error is to record the problem with the service port The format of the error shall comply with the following rules: - built-in error values shall be specified in this file and those shall use\n CamelCase names\n- cloud provider specific error values must have names that comply with the\n format foo.example.com/CamelCase.",
"type": "string"
},
"port": {
"default": 0,
"description": "Port is the port number of the service port of which status is recorded here",
"format": "int32",
"type": "integer"
},
"protocol": {
"default": "",
"description": "Protocol is the protocol of the service port of which status is recorded here The supported values are: \"TCP\", \"UDP\", \"SCTP\"\n\n",
"type": "string"
}
},
"required": [
"port",
"protocol"
],
"type": "object"
},
"io.k8s.api.core.v1.TypedLocalObjectReference": {
"description": "TypedLocalObjectReference contains enough information to let you locate the typed referenced object inside the same namespace.",
"properties": {
@@ -415,6 +346,76 @@
}
]
},
"io.k8s.api.networking.v1.IngressLoadBalancerIngress": {
"description": "IngressLoadBalancerIngress represents the status of a load-balancer ingress point.",
"properties": {
"hostname": {
"description": "Hostname is set for load-balancer ingress points that are DNS based.",
"type": "string"
},
"ip": {
"description": "IP is set for load-balancer ingress points that are IP based.",
"type": "string"
},
"ports": {
"description": "Ports provides information about the ports exposed by this LoadBalancer.",
"items": {
"allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.networking.v1.IngressPortStatus"
}
],
"default": {}
},
"type": "array",
"x-kubernetes-list-type": "atomic"
}
},
"type": "object"
},
"io.k8s.api.networking.v1.IngressLoadBalancerStatus": {
"description": "IngressLoadBalancerStatus represents the status of a load-balancer.",
"properties": {
"ingress": {
"description": "Ingress is a list containing ingress points for the load-balancer.",
"items": {
"allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.networking.v1.IngressLoadBalancerIngress"
}
],
"default": {}
},
"type": "array"
}
},
"type": "object"
},
"io.k8s.api.networking.v1.IngressPortStatus": {
"description": "IngressPortStatus represents the error condition of a service port",
"properties": {
"error": {
"description": "Error is to record the problem with the service port The format of the error shall comply with the following rules: - built-in error values shall be specified in this file and those shall use\n CamelCase names\n- cloud provider specific error values must have names that comply with the\n format foo.example.com/CamelCase.",
"type": "string"
},
"port": {
"default": 0,
"description": "Port is the port number of the ingress port.",
"format": "int32",
"type": "integer"
},
"protocol": {
"default": "",
"description": "Protocol is the protocol of the ingress port. The supported values are: \"TCP\", \"UDP\", \"SCTP\"\n\n",
"type": "string"
}
},
"required": [
"port",
"protocol"
],
"type": "object"
},
"io.k8s.api.networking.v1.IngressRule": {
"description": "IngressRule represents the rules mapping the paths under a specified host to the related backend services. Incoming requests are first evaluated for a host match, then routed to the backend associated with the matching IngressRuleValue.",
"properties": {
@@ -501,7 +502,7 @@
"loadBalancer": {
"allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.core.v1.LoadBalancerStatus"
"$ref": "#/components/schemas/io.k8s.api.networking.v1.IngressLoadBalancerStatus"
}
],
"default": {},