Describe the bug
I am deploying Argo CD using argo-helm 8.0.0 with Argo CD v3.4.1 on AKS behind NGINX Gateway Fabric (Gateway API). Argo CD is exposed under a subpath:
https://.com/argo/
The Argo CD backend APIs are reachable and return valid responses, but the UI consistently renders a blank page in the browser.
The issue occurs regardless of whether local admin authentication or Microsoft Entra ID OIDC SSO is enabled.
Related helm chart
argo-cd
Helm chart version
8.0.0
To Reproduce
Environment
Argo CD version: v3.4.1
Helm chart: argo-helm argo-cd-8.0.0
Kubernetes: AKS
Gateway: NGINX Gateway Fabric (Gateway API HTTPRoute)
Authentication: Tested with both:
Local admin login only (admin.enabled=true, Dex/OIDC disabled).
Microsoft Entra ID OIDC SSO enabled.
The issue occurs in both scenarios.
Problem
I am deploying Argo CD behind a Gateway API HTTPRoute under a subpath:
https:///argo/
The backend API endpoints are reachable and return valid responses, but the UI consistently renders a blank page.
Configuration
Helm values
server:
extraArgs:
- --rootpath=/argo
- --basehref=/argo/
service:
type: ClusterIP
configs:
cm:
"admin.enabled": "true"
url: ".com/argo/"
params:
"server.basehref": "/argo/"
"server.rootpath": "/argo"
"server.insecure": "true"
HTTPRoute
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
name: argocd-argocd
namespace: ch-ns-dev-argocd
labels:
app.kubernetes.io/name: argocd
app.kubernetes.io/part-of: argocd
spec:
parentRefs:
- name: gateway-platform
namespace: nginx-gateway
sectionName: https
hostnames:
- .com
rules:
- matches:
- path:
type: PathPrefix
value: /argo
filters:
- type: URLRewrite
urlRewrite:
path:
type: ReplacePrefixMatch
replacePrefixMatch: /argo
backendRefs:
- name: argocd-server
namespace: ch-ns-dev-argocd
port: 80
I have tested both:
Gateway API URL rewrite disabled.
Gateway API URL rewrite enabled (ReplacePrefixMatch: "/", i.e. /argo -> /).
Verification
argocd-cmd-params-cm
The generated ConfigMap contains:
server.basehref: /argo/
server.rootpath: /argo
server.insecure: "true"
Deployment
The argocd-server deployment receives:
ARGOCD_SERVER_BASEHREF
ARGOCD_SERVER_ROOTPATH
ARGOCD_SERVER_INSECURE
via environment variables.
Browser behavior
UI renders a blank page.
Browser developer console shows JavaScript errors.
Issue persists after clearing cache.
Issue persists in Incognito mode and a completely fresh browser profile.
Troubleshooting already performed
I have tested all of the following combinations:
server.basehref enabled/disabled.
server.rootpath enabled/disabled.
server.extraArgs vs only using configs.params.
Gateway API URL rewrite enabled and disabled.
Local admin authentication only.
Microsoft Entra ID OIDC SSO enabled.
server.basehref and server.rootpath with and without trailing slashes:
/argo
/argo/
url configured as:
https:///argo
https:///argo/
Expected behavior
Expected Behavior
Argo CD should successfully render the UI when accessed under a subpath (/argo) behind Gateway API, and the login page should be displayed instead of a blank page.
Screenshots
Additional context
Is expected behavior in Argo CD v3.4.1 even when server.basehref=/argo/ is configured?
Is there a known issue or regression affecting subpath deployments with argo-helm 8.0.0 / Argo CD v3.4.1?
Is there a recommended configuration for using Argo CD behind NGINX Gateway Fabric (Gateway API) with a subpath such as /argo?
Any guidance or known working configuration would be greatly appreciated.
Describe the bug
I am deploying Argo CD using argo-helm 8.0.0 with Argo CD v3.4.1 on AKS behind NGINX Gateway Fabric (Gateway API). Argo CD is exposed under a subpath:
https://.com/argo/
The Argo CD backend APIs are reachable and return valid responses, but the UI consistently renders a blank page in the browser.
The issue occurs regardless of whether local admin authentication or Microsoft Entra ID OIDC SSO is enabled.
Related helm chart
argo-cd
Helm chart version
8.0.0
To Reproduce
Environment
Argo CD version: v3.4.1
Helm chart: argo-helm argo-cd-8.0.0
Kubernetes: AKS
Gateway: NGINX Gateway Fabric (Gateway API HTTPRoute)
Authentication: Tested with both:
Local admin login only (admin.enabled=true, Dex/OIDC disabled).
Microsoft Entra ID OIDC SSO enabled.
The issue occurs in both scenarios.
Problem
I am deploying Argo CD behind a Gateway API HTTPRoute under a subpath:
https:///argo/
The backend API endpoints are reachable and return valid responses, but the UI consistently renders a blank page.
Configuration
Helm values
server:
extraArgs:
service:
type: ClusterIP
configs:
cm:
"admin.enabled": "true"
url: ".com/argo/"
params:
"server.basehref": "/argo/"
"server.rootpath": "/argo"
"server.insecure": "true"
HTTPRoute
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
name: argocd-argocd
namespace: ch-ns-dev-argocd
labels:
app.kubernetes.io/name: argocd
app.kubernetes.io/part-of: argocd
spec:
parentRefs:
namespace: nginx-gateway
sectionName: https
hostnames:
rules:
type: PathPrefix
value: /argo
filters:
urlRewrite:
path:
type: ReplacePrefixMatch
replacePrefixMatch: /argo
backendRefs:
namespace: ch-ns-dev-argocd
port: 80
I have tested both:
Gateway API URL rewrite disabled.
Gateway API URL rewrite enabled (ReplacePrefixMatch: "/", i.e. /argo -> /).
Verification
argocd-cmd-params-cm
The generated ConfigMap contains:
server.basehref: /argo/
server.rootpath: /argo
server.insecure: "true"
Deployment
The argocd-server deployment receives:
ARGOCD_SERVER_BASEHREF
ARGOCD_SERVER_ROOTPATH
ARGOCD_SERVER_INSECURE
via environment variables.
Browser behavior
UI renders a blank page.
Browser developer console shows JavaScript errors.
Issue persists after clearing cache.
Issue persists in Incognito mode and a completely fresh browser profile.
Troubleshooting already performed
I have tested all of the following combinations:
server.basehref enabled/disabled.
server.rootpath enabled/disabled.
server.extraArgs vs only using configs.params.
Gateway API URL rewrite enabled and disabled.
Local admin authentication only.
Microsoft Entra ID OIDC SSO enabled.
server.basehref and server.rootpath with and without trailing slashes:
/argo
/argo/
url configured as:
https:///argo
https:///argo/
Expected behavior
Expected Behavior
Argo CD should successfully render the UI when accessed under a subpath (/argo) behind Gateway API, and the login page should be displayed instead of a blank page.
Screenshots
Additional context
Is expected behavior in Argo CD v3.4.1 even when server.basehref=/argo/ is configured?
Is there a known issue or regression affecting subpath deployments with argo-helm 8.0.0 / Argo CD v3.4.1?
Is there a recommended configuration for using Argo CD behind NGINX Gateway Fabric (Gateway API) with a subpath such as /argo?
Any guidance or known working configuration would be greatly appreciated.