Skip to content

Commit

Permalink
api: add mergeGateways field to EnvoyProxy spec (#1289)
Browse files Browse the repository at this point in the history
* Add mergeGateways field to EnvoyProxy spec

Signed-off-by: Karol Szwaj <[email protected]>

* Update api/config/v1alpha1/envoyproxy_types.go

Co-authored-by: Arko Dasgupta <[email protected]>
Signed-off-by: Karol Szwaj <[email protected]>

* Fix dot

Signed-off-by: Karol Szwaj <[email protected]>

---------

Signed-off-by: Karol Szwaj <[email protected]>
Co-authored-by: Arko Dasgupta <[email protected]>
  • Loading branch information
cnvergence and arkodg authored Sep 26, 2023
1 parent 34d477f commit c70144b
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 0 deletions.
8 changes: 8 additions & 0 deletions api/config/v1alpha1/envoyproxy_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,14 @@ type EnvoyProxySpec struct {
//
// +optional
Concurrency *int32 `json:"concurrency,omitempty"`

// MergeGateways defines if Gateway resources should be merged onto the same Envoy Proxy Infrastructure.
// Setting this field to true would merge all Gateway Listeners under the parent Gateway Class.
// This means that the port, protocol and hostname tuple must be unique for every listener.
// If a duplicate listener is detected, the newer listener (based on timestamp) will be rejected and its status will be updated with a "Accepted=False" condition.
//
// +optional
MergeGateways *bool `json:"mergeGateways,omitempty"`
}

type ProxyTelemetry struct {
Expand Down
5 changes: 5 additions & 0 deletions api/config/v1alpha1/zz_generated.deepcopy.go

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

Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,15 @@ spec:
unspecified, defaults to "default: warn".'
type: object
type: object
mergeGateways:
description: MergeGateways defines if Gateway resources should be
merged onto the same Envoy Proxy Infrastructure. Setting this field
to true would merge all Gateway Listeners under the parent Gateway
Class. This means that the port, protocol and hostname tuple must
be unique for every listener. If a duplicate listener is detected,
the newer listener (based on timestamp) will be rejected and its
status will be updated with a "Accepted=False" condition.
type: boolean
provider:
description: Provider defines the desired resource provider and provider-specific
configuration. If unspecified, the "Kubernetes" resource provider
Expand Down
1 change: 1 addition & 0 deletions docs/latest/api/config_types.md
Original file line number Diff line number Diff line change
Expand Up @@ -334,6 +334,7 @@ _Appears in:_
| `telemetry` _[ProxyTelemetry](#proxytelemetry)_ | Telemetry defines telemetry parameters for managed proxies. |
| `bootstrap` _[ProxyBootstrap](#proxybootstrap)_ | Bootstrap defines the Envoy Bootstrap as a YAML string. Visit https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/bootstrap/v3/bootstrap.proto#envoy-v3-api-msg-config-bootstrap-v3-bootstrap to learn more about the syntax. If set, this is the Bootstrap configuration used for the managed Envoy Proxy fleet instead of the default Bootstrap configuration set by Envoy Gateway. Some fields within the Bootstrap that are required to communicate with the xDS Server (Envoy Gateway) and receive xDS resources from it are not configurable and will result in the `EnvoyProxy` resource being rejected. Backward compatibility across minor versions is not guaranteed. We strongly recommend using `egctl x translate` to generate a `EnvoyProxy` resource with the `Bootstrap` field set to the default Bootstrap configuration used. You can edit this configuration, and rerun `egctl x translate` to ensure there are no validation errors. |
| `concurrency` _integer_ | Concurrency defines the number of worker threads to run. If unset, it defaults to the number of cpuset threads on the platform. |
| `mergeGateways` _boolean_ | MergeGateways defines if Gateway resources should be merged onto the same Envoy Proxy Infrastructure. Setting this field to true would merge all Gateway Listeners under the parent Gateway Class. This means that the port, protocol and hostname tuple must be unique for every listener. If a duplicate listener is detected, the newer listener (based on timestamp) will be rejected and its status will be updated with a "Accepted=False" condition. |



Expand Down

0 comments on commit c70144b

Please sign in to comment.