Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 30 additions & 2 deletions openapi/generated_openapi/zz_generated.openapi.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

19 changes: 17 additions & 2 deletions openapi/openapi.json
Original file line number Diff line number Diff line change
Expand Up @@ -23446,6 +23446,16 @@
}
}
},
"com.github.openshift.api.operator.v1.IBMLoadBalancerParameters": {
"description": "IBMLoadBalancerParameters provides configuration settings that are specific to IBM Cloud load balancers.",
"type": "object",
"properties": {
"protocol": {
"description": "protocol specifies whether the load balancer uses PROXY protocol to forward connections to the IngressController. See \"service.kubernetes.io/ibm-load-balancer-cloud-provider-enable-features: \"proxy-protocol\"\" at https://cloud.ibm.com/docs/containers?topic=containers-vpc-lbaas\"\n\nPROXY protocol can be used with load balancers that support it to communicate the source addresses of client connections when forwarding those connections to the IngressController. Using PROXY protocol enables the IngressController to report those source addresses instead of reporting the load balancer's address in HTTP headers and logs. Note that enabling PROXY protocol on the IngressController will cause connections to fail if you are not using a load balancer that uses PROXY protocol to forward connections to the IngressController. See http://www.haproxy.org/download/2.2/doc/proxy-protocol.txt for information about PROXY protocol.\n\nValid values for protocol are TCP, PROXY and omitted. When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. The current default is TCP, without the proxy protocol enabled.",
"type": "string"
}
}
},
"com.github.openshift.api.operator.v1.IPAMConfig": {
"description": "IPAMConfig contains configurations for IPAM (IP Address Management)",
"type": "object",
Expand Down Expand Up @@ -25831,8 +25841,12 @@
"description": "gcp provides configuration settings that are specific to GCP load balancers.\n\nIf empty, defaults will be applied. See specific gcp fields for details about their defaults.",
"$ref": "#/definitions/com.github.openshift.api.operator.v1.GCPLoadBalancerParameters"
},
"ibm": {
"description": "ibm provides configuration settings that are specific to IBM Cloud load balancers.\n\nIf empty, defaults will be applied. See specific ibm fields for details about their defaults.",
"$ref": "#/definitions/com.github.openshift.api.operator.v1.IBMLoadBalancerParameters"
},
"type": {
"description": "type is the underlying infrastructure provider for the load balancer. Allowed values are \"AWS\", \"Azure\", \"BareMetal\", \"GCP\", \"Nutanix\", \"OpenStack\", and \"VSphere\".",
"description": "type is the underlying infrastructure provider for the load balancer. Allowed values are \"AWS\", \"Azure\", \"BareMetal\", \"GCP\", \"IBM\", \"Nutanix\", \"OpenStack\", and \"VSphere\".",
"type": "string",
"default": ""
}
Expand All @@ -25842,7 +25856,8 @@
"discriminator": "type",
"fields-to-discriminateBy": {
"aws": "AWS",
"gcp": "GCP"
"gcp": "GCP",
"ibm": "IBM"
}
}
]
Expand Down
26 changes: 24 additions & 2 deletions operator/v1/0000_50_ingress-operator_00-ingresscontroller.crd.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -161,8 +161,19 @@ spec:
- Local
type: string
type: object
ibm:
description: "ibm provides configuration settings that are specific to IBM Cloud load balancers. \n If empty, defaults will be applied. See specific ibm fields for details about their defaults."
properties:
protocol:
description: "protocol specifies whether the load balancer uses PROXY protocol to forward connections to the IngressController. See \"service.kubernetes.io/ibm-load-balancer-cloud-provider-enable-features: \"proxy-protocol\"\" at https://cloud.ibm.com/docs/containers?topic=containers-vpc-lbaas\" \n PROXY protocol can be used with load balancers that support it to communicate the source addresses of client connections when forwarding those connections to the IngressController. Using PROXY protocol enables the IngressController to report those source addresses instead of reporting the load balancer's address in HTTP headers and logs. Note that enabling PROXY protocol on the IngressController will cause connections to fail if you are not using a load balancer that uses PROXY protocol to forward connections to the IngressController. See http://www.haproxy.org/download/2.2/doc/proxy-protocol.txt for information about PROXY protocol. \n Valid values for protocol are TCP, PROXY and omitted. When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. The current default is TCP, without the proxy protocol enabled."
enum:
- ""
- TCP
- PROXY
type: string
type: object
type:
description: type is the underlying infrastructure provider for the load balancer. Allowed values are "AWS", "Azure", "BareMetal", "GCP", "Nutanix", "OpenStack", and "VSphere".
description: type is the underlying infrastructure provider for the load balancer. Allowed values are "AWS", "Azure", "BareMetal", "GCP", "IBM", "Nutanix", "OpenStack", and "VSphere".
enum:
- AWS
- Azure
Expand Down Expand Up @@ -827,8 +838,19 @@ spec:
- Local
type: string
type: object
ibm:
description: "ibm provides configuration settings that are specific to IBM Cloud load balancers. \n If empty, defaults will be applied. See specific ibm fields for details about their defaults."
properties:
protocol:
description: "protocol specifies whether the load balancer uses PROXY protocol to forward connections to the IngressController. See \"service.kubernetes.io/ibm-load-balancer-cloud-provider-enable-features: \"proxy-protocol\"\" at https://cloud.ibm.com/docs/containers?topic=containers-vpc-lbaas\" \n PROXY protocol can be used with load balancers that support it to communicate the source addresses of client connections when forwarding those connections to the IngressController. Using PROXY protocol enables the IngressController to report those source addresses instead of reporting the load balancer's address in HTTP headers and logs. Note that enabling PROXY protocol on the IngressController will cause connections to fail if you are not using a load balancer that uses PROXY protocol to forward connections to the IngressController. See http://www.haproxy.org/download/2.2/doc/proxy-protocol.txt for information about PROXY protocol. \n Valid values for protocol are TCP, PROXY and omitted. When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. The current default is TCP, without the proxy protocol enabled."
enum:
- ""
- TCP
- PROXY
type: string
type: object
type:
description: type is the underlying infrastructure provider for the load balancer. Allowed values are "AWS", "Azure", "BareMetal", "GCP", "Nutanix", "OpenStack", and "VSphere".
description: type is the underlying infrastructure provider for the load balancer. Allowed values are "AWS", "Azure", "BareMetal", "GCP", "IBM", "Nutanix", "OpenStack", and "VSphere".
enum:
- AWS
- Azure
Expand Down
64 changes: 50 additions & 14 deletions operator/v1/types_ingress.go
Original file line number Diff line number Diff line change
Expand Up @@ -280,18 +280,18 @@ type HTTPCompressionPolicy struct {
//
// The format should follow the Content-Type definition in RFC 1341:
// Content-Type := type "/" subtype *[";" parameter]
// - The type in Content-Type can be one of:
// application, audio, image, message, multipart, text, video, or a custom
// type preceded by "X-" and followed by a token as defined below.
// - The token is a string of at least one character, and not containing white
// space, control characters, or any of the characters in the tspecials set.
// - The tspecials set contains the characters ()<>@,;:\"/[]?.=
// - The subtype in Content-Type is also a token.
// - The optional parameter/s following the subtype are defined as:
// token "=" (token / quoted-string)
// - The quoted-string, as defined in RFC 822, is surrounded by double quotes
// and can contain white space plus any character EXCEPT \, ", and CR.
// It can also contain any single ASCII character as long as it is escaped by \.
// - The type in Content-Type can be one of:
// application, audio, image, message, multipart, text, video, or a custom
// type preceded by "X-" and followed by a token as defined below.
// - The token is a string of at least one character, and not containing white
// space, control characters, or any of the characters in the tspecials set.
// - The tspecials set contains the characters ()<>@,;:\"/[]?.=
// - The subtype in Content-Type is also a token.
// - The optional parameter/s following the subtype are defined as:
// token "=" (token / quoted-string)
// - The quoted-string, as defined in RFC 822, is surrounded by double quotes
// and can contain white space plus any character EXCEPT \, ", and CR.
// It can also contain any single ASCII character as long as it is escaped by \.
//
// +kubebuilder:validation:Pattern=`^(?i)(x-[^][ ()\\<>@,;:"/?.=\x00-\x1F\x7F]+|application|audio|image|message|multipart|text|video)/[^][ ()\\<>@,;:"/?.=\x00-\x1F\x7F]+(; *[^][ ()\\<>@,;:"/?.=\x00-\x1F\x7F]+=([^][ ()\\<>@,;:"/?.=\x00-\x1F\x7F]+|"(\\[\x00-\x7F]|[^\x0D"\\])*"))*$`
type CompressionMIMEType string
Expand Down Expand Up @@ -448,7 +448,7 @@ const (
// +union
type ProviderLoadBalancerParameters struct {
// type is the underlying infrastructure provider for the load balancer.
// Allowed values are "AWS", "Azure", "BareMetal", "GCP", "Nutanix",
// Allowed values are "AWS", "Azure", "BareMetal", "GCP", "IBM", "Nutanix",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where is the change to the discriminator enum to allow this? Can't see a change to LoadBalancerProviderType included here

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It was already changed here: https://github.com/openshift/api/blob/master/operator/v1/types_ingress.go#L473-#L490. Comment was not up to date.

// "OpenStack", and "VSphere".
//
// +unionDiscriminator
Expand All @@ -473,10 +473,19 @@ type ProviderLoadBalancerParameters struct {
//
// +optional
GCP *GCPLoadBalancerParameters `json:"gcp,omitempty"`

// ibm provides configuration settings that are specific to IBM Cloud
// load balancers.
//
// If empty, defaults will be applied. See specific ibm fields for
// details about their defaults.
//
// +optional
IBM *IBMLoadBalancerParameters `json:"ibm,omitempty"`
}

// LoadBalancerProviderType is the underlying infrastructure provider for the
// load balancer. Allowed values are "AWS", "Azure", "BareMetal", "GCP", "Nutanix",
// load balancer. Allowed values are "AWS", "Azure", "BareMetal", "GCP", "IBM", "Nutanix",
// "OpenStack", and "VSphere".
//
// +kubebuilder:validation:Enum=AWS;Azure;BareMetal;GCP;Nutanix;OpenStack;VSphere;IBM
Expand Down Expand Up @@ -573,6 +582,33 @@ const (
GCPLocalAccess GCPClientAccess = "Local"
)

// IBMLoadBalancerParameters provides configuration settings that are
// specific to IBM Cloud load balancers.
type IBMLoadBalancerParameters struct {
// protocol specifies whether the load balancer uses PROXY protocol to forward connections to
// the IngressController. See "service.kubernetes.io/ibm-load-balancer-cloud-provider-enable-features:
// "proxy-protocol"" at https://cloud.ibm.com/docs/containers?topic=containers-vpc-lbaas"
//
// PROXY protocol can be used with load balancers that support it to
// communicate the source addresses of client connections when
// forwarding those connections to the IngressController. Using PROXY
// protocol enables the IngressController to report those source
// addresses instead of reporting the load balancer's address in HTTP
// headers and logs. Note that enabling PROXY protocol on the
// IngressController will cause connections to fail if you are not using
// a load balancer that uses PROXY protocol to forward connections to
// the IngressController. See
// http://www.haproxy.org/download/2.2/doc/proxy-protocol.txt for
// information about PROXY protocol.
//
// Valid values for protocol are TCP, PROXY and omitted.
// When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time.
// The current default is TCP, without the proxy protocol enabled.
//
// +optional
Protocol IngressControllerProtocol `json:"protocol,omitempty"`
}

// AWSClassicLoadBalancerParameters holds configuration parameters for an
// AWS Classic load balancer.
type AWSClassicLoadBalancerParameters struct {
Expand Down
21 changes: 21 additions & 0 deletions operator/v1/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading