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

[P3] validate Ingress parameter combination #197

Open
wasaga opened this issue May 4, 2022 · 2 comments
Open

[P3] validate Ingress parameter combination #197

wasaga opened this issue May 4, 2022 · 2 comments
Assignees
Labels
enhancement New feature or request NeedsMoreData Waiting for additional user feedback or case studies

Comments

@wasaga
Copy link
Collaborator

wasaga commented May 4, 2022

Is your feature request related to a problem? Please describe.

Not all combinations of parameters are compatible, i.e.

  1. TCP routes do not support certain annotations such as secure_upstream
  2. prefix_rewrite would only affect routes that have pathType: Prefix
  3. there's likely more

It is relatively easy to make a mistake (i.e. when starting from a template or example),
and may be impossible to debug or figure out what is wrong.

We currently only detect certain obviously invalid parameter combinations, and validate the configuration via Envoy.

Describe the solution you'd like

  1. add validation to parameter values
  2. add validation for parameter compatibility
  3. do not reconcile Ingress resources that are incorrect / invalid.

Describe alternatives you've considered

Explain any additional use-cases

Additional context

@wasaga wasaga added the enhancement New feature or request label May 4, 2022
@desimone
Copy link

desimone commented May 5, 2022

We should have a single source of "validation" truth if possible. Probably a lot of subtleties here.

  • We also need to consider and account for the envoy dependency.
  • We have multiple passes of Go objects to Protobuf and vice versa

Can we abstract the validation code we have across several packages (core, console, ingress-controller) into a centralized validation package in core that can be imported by other projects.

@desimone
Copy link

desimone commented May 5, 2022

Let's take a first pass for sizing before starting work on this.

@wasaga wasaga changed the title validate Ingress parameter combination [P3] validate Ingress parameter combination Jun 22, 2022
@desimone desimone added the NeedsMoreData Waiting for additional user feedback or case studies label Jan 4, 2023
@desimone desimone assigned desimone and unassigned wasaga Jan 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request NeedsMoreData Waiting for additional user feedback or case studies
Projects
None yet
Development

No branches or pull requests

2 participants