-
Notifications
You must be signed in to change notification settings - Fork 373
bug: apisix-ingress-controller not supporting Hostnames when specified in gatewayproxy.spec.statusAddress #2730
Description
Current Behavior
I'm trying to setup APISIX 3.15 in standalone api-driven mode (suitable for Ingress controller as per docs) using helm in AWS EKS. When deploying in EKS, we are deploying the apisix-gateway service as CLusterIP and enabling Ingress to create ALB in front of APISIX deployments. As per the docs, we to use statusAddress or publishService to make the ingress controller attach the address to the ingress/Gateway objects referencing the ingress class of type apisix . But when we pass the ingress hostname we got from cloud providers, it's throwing an error saying provided statusAddress is not valid IPAddress.
Expected Behavior
When deploying APISIX in cloud environments
Case 1: PublishService
Using ClusterIP service with Ingress enabled and PublishService flag is passed with a service name, We should support both IPAddress and Hostname Types and populate the status.ingress.hostname or ingress.status.ip based on the values from Ingress that's referencing the service provided and fetch the status.ingress.hostname/ip .
Case 2: StatusAddress
When gatewayproxy.spec.statusAddress is provided, check if the address is ip or hostname and update the gateway/ingress resources depending on the type of address provided.
Error Logs
provided statusAddress is not valid IPAddress.
Steps to Reproduce
- Install APISIX in standalone -apidriven mode with ingress controller enabled.
- Enable ingress for APISIX and make the apisix-gateway service as ClusterIP
- Pass the hostname returned in the status,ingress.hostname gatewayproxy.spec.statusAddress
- look in the apisix-ingress-controller pods for the error
Environment
- APISIX Ingress controller version : 2.0.1
- Kubernetes cluster version : v1.34