Skip to content

Commit 731d0d0

Browse files
cnvergencearkodg
andauthored
api: support infra deployment in the gateway namespace (#4982)
* api: support infra deployment in the gateway namespace Signed-off-by: Karol Szwaj <[email protected]> * make generate Signed-off-by: Karol Szwaj <[email protected]> * Update api/v1alpha1/envoygateway_types.go Co-authored-by: Arko Dasgupta <[email protected]> Signed-off-by: Karol Szwaj <[email protected]> * Update api/v1alpha1/envoygateway_types.go Co-authored-by: Arko Dasgupta <[email protected]> Signed-off-by: Karol Szwaj <[email protected]> * Update kubebuilder tags Signed-off-by: Karol Szwaj <[email protected]> * make generate Signed-off-by: Karol Szwaj <[email protected]> --------- Signed-off-by: Karol Szwaj <[email protected]> Co-authored-by: Arko Dasgupta <[email protected]>
1 parent d4a0756 commit 731d0d0

File tree

4 files changed

+52
-2
lines changed

4 files changed

+52
-2
lines changed

api/v1alpha1/envoygateway_types.go

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -260,10 +260,27 @@ type KubernetesWatchMode struct {
260260
NamespaceSelector *metav1.LabelSelector `json:"namespaceSelector,omitempty"`
261261
}
262262

263+
const (
264+
// KubernetesDeployModeTypeControllerNamespace indicates that the controller namespace is used for the infra proxy deployments.
265+
KubernetesDeployModeTypeControllerNamespace = "ControllerNamespace"
266+
267+
// KubernetesDeployModeTypeGatewayNamespace indicates that the gateway namespace is used for the infra proxy deployments.
268+
KubernetesDeployModeTypeGatewayNamespace = "GatewayNamespace"
269+
)
270+
271+
// KubernetesDeployModeType defines the type of KubernetesDeployMode
272+
type KubernetesDeployModeType string
273+
263274
// KubernetesDeployMode holds configuration for how to deploy managed resources such as the Envoy Proxy
264275
// data plane fleet.
265276
type KubernetesDeployMode struct {
266-
// TODO
277+
// Type indicates what deployment mode to use. "ControllerNamespace" and
278+
// "GatewayNamespace" are currently supported.
279+
// By default, when this field is unset or empty, Envoy Gateway will deploy Envoy Proxy fleet in the Controller namespace.
280+
// +optional
281+
// +kubebuilder:default=ControllerNamespace
282+
// +kubebuilder:validation:Enum=ControllerNamespace;GatewayNamespace
283+
Type *KubernetesDeployModeType `json:"type,omitempty"`
267284
}
268285

269286
// EnvoyGatewayCustomProvider defines configuration for the Custom provider.

api/v1alpha1/zz_generated.deepcopy.go

Lines changed: 6 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

site/content/en/latest/api/extension_types.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2489,6 +2489,20 @@ data plane fleet.
24892489
_Appears in:_
24902490
- [EnvoyGatewayKubernetesProvider](#envoygatewaykubernetesprovider)
24912491

2492+
| Field | Type | Required | Description |
2493+
| --- | --- | --- | --- |
2494+
| `type` | _[KubernetesDeployModeType](#kubernetesdeploymodetype)_ | false | Type indicates what deployment mode to use. "ControllerNamespace" and<br />"GatewayNamespace" are currently supported.<br />By default, when this field is unset or empty, Envoy Gateway will deploy Envoy Proxy fleet in the Controller namespace. |
2495+
2496+
2497+
#### KubernetesDeployModeType
2498+
2499+
_Underlying type:_ _string_
2500+
2501+
KubernetesDeployModeType defines the type of KubernetesDeployMode
2502+
2503+
_Appears in:_
2504+
- [KubernetesDeployMode](#kubernetesdeploymode)
2505+
24922506

24932507

24942508
#### KubernetesDeploymentSpec

site/content/zh/latest/api/extension_types.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2489,6 +2489,20 @@ data plane fleet.
24892489
_Appears in:_
24902490
- [EnvoyGatewayKubernetesProvider](#envoygatewaykubernetesprovider)
24912491

2492+
| Field | Type | Required | Description |
2493+
| --- | --- | --- | --- |
2494+
| `type` | _[KubernetesDeployModeType](#kubernetesdeploymodetype)_ | false | Type indicates what deployment mode to use. "ControllerNamespace" and<br />"GatewayNamespace" are currently supported.<br />By default, when this field is unset or empty, Envoy Gateway will deploy Envoy Proxy fleet in the Controller namespace. |
2495+
2496+
2497+
#### KubernetesDeployModeType
2498+
2499+
_Underlying type:_ _string_
2500+
2501+
KubernetesDeployModeType defines the type of KubernetesDeployMode
2502+
2503+
_Appears in:_
2504+
- [KubernetesDeployMode](#kubernetesdeploymode)
2505+
24922506

24932507

24942508
#### KubernetesDeploymentSpec

0 commit comments

Comments
 (0)