-
-
Notifications
You must be signed in to change notification settings - Fork 45
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
Helm Chart Finalization #633
Comments
Having some troubles with common ingress controller annotations for rewrite as there is no standard implementations across controllers. nginx-ingress: Most common ingress controller
haproxy: 2nd most common
nginx inc:
traefik:
caddy:
The next api replacing ingresses, GatewayAPI, handles rewrites in a standardized way spec:
rules:
- matches:
- path:
type: PathPrefix
value: /api
backendRefs:
- name: kyoo-back
port: 5000
filters:
- type: URLRewrite
urlRewrite:
path:
type: ReplacePrefixMatch
replacePrefixMatch: /
- matches:
- path:
type: PathPrefix
value: /
backendRefs:
- name: kyoo-front
port: 8901 Honestly did not realize how painful it is to handle rewrites. @onedr0p / @joryirving / @bo0tzz any thoughts on how to approach templating ingresses that support rewrite rules? |
I'm not a fan of rewrites for these sort of reasons tbh. How feasible is it to just get rid of the need on an app level, eg by having kyoo-back listen directly on /api @zoriya? |
I could add a env var to prefix every routes if needed yes |
I think that is that is the solution. Until that feature is added, can add in docs the above links on how to manage the rewrite rules. Created for tracking #653. |
New Kyoo user here 👋, I discovered yesterday how installation works on Kubernetes. I proposed a small PR for the Helm chart and discovered this ingress problem while testing it. I have the same conclusions as you (kyoo_back which doesn't require rewrite rules would just be gold.
Until #653 is implemented (and the release of GatewayAPI for most commons Ingress controller), we could just add another component inside the cluster. This would be an equivalent to the Traefik in the docker setup. I suggest using HAProxy, which is IMO the easiest (and most flexible) middleware to configure, but it's open to debate (see #708) |
Adding that ingress complexity in the helm chart means eventually removing it and breaking those that rely upon it. I think just offering a basic ingress definition would be better than trying to address every edge case. Most helm charts do not address these ingress complexities. I plan on adding some documentation to highlight ingress and provide users a way to address it. Users can use the I'll reply to your #708 MR later today. Wish you would have started a discussion before suggesting a large amount of changes. |
In my opinion, the Sorry for not discussing this here before proposing the changes. Depending on your review, I can split in two merge requests to separate the two topics (value management and 'route' component) |
Feature description
Follow up from #560 MR. Here is a checklist of items to improve the helm chart further and prepare it for prime time!
Add common ingress controller annotations for rewrite needed on ingress(Will add docs if Add prefix every route to kyoo_back #653 is not added before then)The text was updated successfully, but these errors were encountered: