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

Audit backend interface for cross platform compatibility #18

Closed
bprashanth opened this issue Nov 18, 2016 · 2 comments
Closed

Audit backend interface for cross platform compatibility #18

bprashanth opened this issue Nov 18, 2016 · 2 comments
Assignees

Comments

@bprashanth
Copy link
Contributor

I haven't had the time to prototype enough loadbalancer backends (eg: envoy, h2o, cloudprovider) with the generic_controller's interface. Currently it's pretty minimalistic, and captured in this commit: f908fb9

Tl;dr is an interface:

type Controller interface {
	Test(file string) *exec.Cmd
	OnUpdate(*api.ConfigMap, Configuration) ([]byte, error)
	BackendDefaults() defaults.Backend
	Info() *BackendInfo
}

and the Configuration type

type Configuration struct {
	HealthzURL         string
	Backends           []*Backend
	Servers            []*Server
	TCPEndpoints       []*Location
	UPDEndpoints       []*Location
	PassthroughBackend []*SSLPassthroughBackend
}

We need to attack this from 2 angles:

  1. Are the methods in this interface enough to give the backends the flexibility they need?
  2. Is the information passed through OnUpdate adequate

Right now, every onUpdate effectively gets:

Configuration
  Server 
    virtual server -> location -> Backends ([]endpoitns + ssl) -> Endpoints (address:port, health check info)
                ...more locations 
    ...more virtual servers
  ...more Servers
@aledbf
Copy link
Member

aledbf commented Nov 18, 2016

@bprashanth in the location you also get information about the annotations (for instance ExternalAuth)

@aledbf
Copy link
Member

aledbf commented May 25, 2017

Closing. Interface already improved and use by third party controllers

@aledbf aledbf closed this as completed May 25, 2017
haoqing0110 referenced this issue in stolostron/management-ingress Mar 5, 2021
haoqing0110 referenced this issue in stolostron/management-ingress Mar 5, 2021
Alvaro-Campesino pushed a commit to Alvaro-Campesino/ingress-nginx-k8s that referenced this issue Feb 10, 2023
Co-authored-by: Viktor Jacynycz <[email protected]>
Co-authored-by: Unai Arríen <[email protected]>
Co-authored-by: Francisco Orselli <[email protected]>
Alvaro-Campesino added a commit to Alvaro-Campesino/ingress-nginx-k8s that referenced this issue Feb 10, 2023
…ubernetes#22)

Co-authored-by: Miguel Angel Jimenez <[email protected]>
Co-authored-by: Viktor Jacynycz <[email protected]>
Co-authored-by: Unai Arríen <[email protected]>
Co-authored-by: Francisco Orselli <[email protected]>
Alvaro-Campesino added a commit to Alvaro-Campesino/ingress-nginx-k8s that referenced this issue Feb 13, 2023
…ubernetes#22)

Co-authored-by: Miguel Angel Jimenez <[email protected]>
Co-authored-by: Viktor Jacynycz <[email protected]>
Co-authored-by: Unai Arríen <[email protected]>
Co-authored-by: Francisco Orselli <[email protected]>
Alvaro-Campesino added a commit to Alvaro-Campesino/ingress-nginx-k8s that referenced this issue Feb 14, 2023
…ubernetes#22) (kubernetes#26)

* [EOS-10808] Set explicit domain for stratio-cookie (kubernetes#18) (kubernetes#22)

Co-authored-by: Miguel Angel Jimenez <[email protected]>
Co-authored-by: Viktor Jacynycz <[email protected]>
Co-authored-by: Unai Arríen <[email protected]>
Co-authored-by: Francisco Orselli <[email protected]>

* delete test file

---------

Co-authored-by: Miguel Angel Jimenez <[email protected]>
Co-authored-by: Viktor Jacynycz <[email protected]>
Co-authored-by: Unai Arríen <[email protected]>
Co-authored-by: Francisco Orselli <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants