-
Notifications
You must be signed in to change notification settings - Fork 486
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
[kong] Ingress configuration doesn't provide enough flexibility to configure an ALB with SSL redirect #140
Comments
I'd say that this is at least a little bit ugly, AWS. -_- cc @rainest |
Why do providers' native controller implementations always do weird things? I wouldn't really want to add this in--that rule can be interpreted as a normal rule by other controllers (ours included) and will create unusable configuration. The alternative is providing a means to configure arbitrary rules, and I'd aimed to make the ingress configuration simpler, not more complicated. @hbagdi do you know if there are plans to standardize a redirect convention for these rules in future versions of the Ingress spec? https://kubernetes-sigs.github.io/service-apis/concepts/#httproute is presumably where that'd be covered, but hasn't been written yet. |
I agree. How can we solve @agaffney's problem stilll? @agaffney, do you have any suggestions on a dirty hack or a way to handle this that doesn't degrade the experience for other users?
I couldn't find one so I created one: kubernetes-sigs/gateway-api#200 |
I think all that's really needed is a |
ping @rainest |
I don't disagree that this is possible, but it is a significant jump in template and configuration complexity from the existing system without any other obvious uses. Ingress templates furthermore aren't consolidated yet, so it'd have to be maintained in each separately. Given the lack of a standard to target, I recommend one of the following workarounds:
|
It would also help to work with AWS team to see how they plan to fix this feature in the long-term. |
I'd rather not have to fork the chart to get this functionality, especially since it's something that other people may want and isn't really that weird. Modifying the resource after the fact isn't really an option, since the entire deployment process is automated from Terraform, and there's no reasonably way to make these changes after the fact. We are currently handling the HTTPS redirect in Kong, but the goal of moving it to the ALB is to reduce traffic actually making it into our cluster. |
We work to be flexible with the types of environments we support, but this doesn't easily fit into our current user experience goals. One alternative route here is to use our proxy along with our controller, which would allow you to configure the Kong redirect from the Ingress directly. Would that work for you? If not, is there functionality in the AWS controller that ours can't provide, or features in the ALB proxy that we can't provide that require placing it in front? We can explore options for addressing those instead. |
The point of using an ALB in front of Kong is to use an ACM SSL cert (to keep the kong config mostly env-neutral). Using an ELB/ALB is also really the only way to expose Kong outside of the k8s cluster. The main goal of moving the HTTPS redirect functionality to the ALB was to remove the usage of a custom plugin that does the redirect. I know that Kong now natively supports this functionality, but moving to it is more effort than we really care to put in. If this is something that you just don't want to support in the helm chart for good reasons, that's fine, and it's not a blocker for us. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
When using the kong helm chart's functionality to create an
Ingress
resource for the kong proxy, it's not possible to use it with the ALB Ingress controller to configure a SSL redirect at the ALB.That configuration requires adding an additional path entry to the generated ingress rule like:
The
serviceName
andservicePort
values are arbitrary and have no relation to Kong itself. They refer to an annotation on theIngress
resource like:The helm chart only allows specifying the
path
pattern and optionally a list of hosts to create rules for (each rule with only a single path).I know this is a bit of a niche case, but it would be nice to have the flexibility to configure this with the helm chart rather than needing to create a separate
Ingress
resource outside of helm.The text was updated successfully, but these errors were encountered: