Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Configure Envoy Gateway in different Deployment modes #1117

Closed
3 of 6 tasks
arkodg opened this issue Mar 9, 2023 · 2 comments
Closed
3 of 6 tasks

Configure Envoy Gateway in different Deployment modes #1117

arkodg opened this issue Mar 9, 2023 · 2 comments
Labels
area/api API-related issues area/infra-mgr Issues related to the provisioner used for provisioning the managed Envoy Proxy fleet. area/provider help wanted Extra attention is needed kind/enhancement New feature or request
Milestone

Comments

@arkodg
Copy link
Contributor

arkodg commented Mar 9, 2023

Description:
Today by default, Envoy Gateway watches for resources (Gateways, HTTPRoutes) in all namespaces, and deploys managed resources (Envoy Deployment, Service) in a single namespace (where EG is running e.g. envoy-gateway-system)
It would be great if the project supported other modes such as

  • watch for resources in a single namespace and/or
  • deploy in multiple namespaces (where Gateway is created)
  • API
  • Implement
  • Docs

This intent could be defined in the EnvoyGateway config

[optional Relevant Links:]
Relates to #1067

@arkodg arkodg added kind/enhancement New feature or request help wanted Extra attention is needed area/api API-related issues area/infra-mgr Issues related to the provisioner used for provisioning the managed Envoy Proxy fleet. area/provider labels Mar 9, 2023
@zirain
Copy link
Member

zirain commented Mar 9, 2023

+1 for option (2)

@arkodg
Copy link
Contributor Author

arkodg commented Mar 31, 2023

thinking out loud, potential API could look like

deploymentMode:
  watch:
    namespaces: .........
  deploy:
    envoy:
      namespaceType: GatewayNamespace  
  • By default (when this field is unset), EG watches all resources in all namespaces, and depoys infra in the namespace where EG is running (ControllerNamespace)
  • watch.namespaces can be used to set the specific namespaces to watch resources (Gateway, xRoute, Service etc)
  • deploy.envoy.namespaceType can be used to specify to EG to deploy proxy infra to deploy envoy deployments in the namespace where the Gateway is created in. This option will need a helm knob too, to configure added permissions to be able to create deployments and services in other namespaces

arkodg added a commit to arkodg/gateway that referenced this issue May 10, 2023
Relates to envoyproxy#1117

```
apiVersion: config.gateway.envoyproxy.io/v1alpha1
kind: EnvoyGateway
gateway:
  controllerName: gateway.envoyproxy.io/gatewayclass-controller
provider:
  type: Kubernetes
  kubernetes:
    mode:
      watch:
        namespaces:
	- "ns-1"
	- "ns-2"
```

Signed-off-by: Arko Dasgupta <[email protected]>
zirain pushed a commit that referenced this issue May 17, 2023
* Add API for Deployment Mode

Relates to #1117

```
apiVersion: config.gateway.envoyproxy.io/v1alpha1
kind: EnvoyGateway
gateway:
  controllerName: gateway.envoyproxy.io/gatewayclass-controller
provider:
  type: Kubernetes
  kubernetes:
    mode:
      watch:
        namespaces:
	- "ns-1"
	- "ns-2"
```

Signed-off-by: Arko Dasgupta <[email protected]>

* rm top level mode

Signed-off-by: Arko Dasgupta <[email protected]>

* fix

Signed-off-by: Arko Dasgupta <[email protected]>

---------

Signed-off-by: Arko Dasgupta <[email protected]>
tanujd11 pushed a commit to tanujd11/gateway that referenced this issue May 20, 2023
* Add API for Deployment Mode

Relates to envoyproxy#1117

```
apiVersion: config.gateway.envoyproxy.io/v1alpha1
kind: EnvoyGateway
gateway:
  controllerName: gateway.envoyproxy.io/gatewayclass-controller
provider:
  type: Kubernetes
  kubernetes:
    mode:
      watch:
        namespaces:
	- "ns-1"
	- "ns-2"
```

Signed-off-by: Arko Dasgupta <[email protected]>

* rm top level mode

Signed-off-by: Arko Dasgupta <[email protected]>

* fix

Signed-off-by: Arko Dasgupta <[email protected]>

---------

Signed-off-by: Arko Dasgupta <[email protected]>
arkodg added a commit to arkodg/gateway that referenced this issue Jun 30, 2023
Relates to envoyproxy#1117

Signed-off-by: Arko Dasgupta <[email protected]>
arkodg added a commit that referenced this issue Jul 4, 2023
* Implement Watch Namespaces

Relates to #1117

Signed-off-by: Arko Dasgupta <[email protected]>
@Xunzhuo Xunzhuo added this to the v1.0.0-rc1 milestone Dec 7, 2023
@arkodg arkodg removed the road-to-ga label Feb 8, 2024
@arkodg arkodg modified the milestones: v1.0.0-rc1, Backlog Feb 8, 2024
@arkodg arkodg closed this as completed Feb 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/api API-related issues area/infra-mgr Issues related to the provisioner used for provisioning the managed Envoy Proxy fleet. area/provider help wanted Extra attention is needed kind/enhancement New feature or request
Projects
No open projects
Development

No branches or pull requests

3 participants