Argo Workflows BaseHref Issue After Upgrade To 0.46.1
Upgrading Argo Workflows can sometimes introduce unexpected issues. This article addresses a bug reported where the baseHref setting is not honored after upgrading to version 0.46.1. This can lead to broken links and a malfunctioning user interface. Let's dive into the details of this issue, how to reproduce it, and potential solutions.
Describe the bug
After upgrading to argo-workflows 0.46.1, the custom baseHref setting configured in the Helm chart is no longer being respected. This means that when accessing Argo Workflows through an ingress that removes the baseHref, the returned URLs do not include the baseHref, resulting in 404 errors and a broken UI.
To illustrate, consider the following behavior observed before and after the upgrade:
Behavior on v0.45.23 (Correct):
127.0.0.1 - - [04/Dec/2025:23:10:25 +0000] "GET /workflows HTTP/2.0" 200 497 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:145.0) Gecko/20100101 Firefox/145.0" 55 0.007 [argocd-argo-workflows-server-2746]...
127.0.0.1 - - [04/Dec/2025:23:10:25 +0000] "GET /workflows/main.9d868009c6519460dd88.js HTTP/2.0" 200 1927515 "https://<the host name>/workflows" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:145.0) Gecko/20100101 Firefox/145.0"
127.0.0.1 - - [04/Dec/2025:23:10:25 +0000] "GET /workflows/assets/images/logo.png HTTP/2.0" 200 41771 "https://<the host name>/workflows" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:145.0) Gecko/20100101 Firefox/145.0" 41 0.00
In this case, the URLs correctly include the /workflows baseHref.
Behavior on v0.46.1 (Incorrect):
127.0.0.1 - - [04/Dec/2025:23:13:13 +0000] "GET /workflows HTTP/2.0" 200 498 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:145.0) Gecko/20100101 Firefox/145.0" 50 0.001 [argocd-argo-workflows-server-2746] []...
127.0.0.1 - - [04/Dec/2025:23:13:13 +0000] "GET /main.58e168f59200da718bc6.js HTTP/2.0" 404 43 "https://<the host name>/workflows" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:145.0) Gecko/20100101 Firefox/145.0" 36 0.007 [argo
Here, the returned URL is missing the /workflows baseHref, leading to a 404 error.
Impact:
The missing baseHref results in the application failing to load static assets (JavaScript, CSS, images), causing a broken user interface. Users will likely experience a blank page or a partially loaded application with numerous errors in the browser console.
Related Helm Chart
This issue is related to the argo-workflows Helm chart.
Helm Chart Version
The affected Helm chart version is 0.46.1.
Steps to Reproduce
To reproduce this bug, follow these steps:
- Configure a
baseHref: Set a custombaseHrefvalue in yourargo-workflowsHelm chart configuration. For example, you might setbaseHref: /workflows. - Deploy via Ingress: Deploy Argo Workflows via an ingress that is configured to remove the
baseHreffrom the incoming request path. This is a common setup when hosting multiple applications under the same domain. - Access Argo Workflows: Attempt to access the Argo Workflows UI through the ingress.
- Observe the Error: Inspect the browser's developer console and network requests. You will observe 404 errors for static assets, and the URLs will be missing the configured
baseHref. - Revert to v0.45.23: Revert the Argo Workflows deployment back to version 0.45.23, using the same configuration.
- Verify Correct Behavior: Access the Argo Workflows UI again. The application should load correctly, and the URLs will include the
baseHref.
Expected Behavior
The expected behavior is that all returned URIs include the configured baseHref. This ensures that the application can correctly load all necessary assets and function as intended. When a baseHref is configured, Argo Workflows should prepend it to all relative URLs generated by the UI.
Potential Causes and Solutions
While the exact cause of this bug requires further investigation, here are some potential areas to explore and possible solutions:
- Incorrect Path Resolution: The upgrade to 0.46.1 might have introduced changes in how Argo Workflows resolves paths to static assets. The application might be incorrectly generating relative URLs without considering the
baseHref. - Helm Chart Template Issues: There might be an issue with the Helm chart templates in version 0.46.1. The templates might not be correctly injecting the
baseHrefinto the application's configuration. - Configuration Overrides: Ensure that no other configurations are inadvertently overriding the
baseHrefsetting. Check for environment variables, command-line arguments, or other configuration sources that might be interfering.
Workarounds:
- Revert to v0.45.23: The simplest workaround is to revert back to version 0.45.23, which does not exhibit this issue. This will allow you to continue using Argo Workflows with the correct
baseHrefbehavior. - Adjust Ingress Configuration: As a temporary measure, you could adjust your ingress configuration to not remove the
baseHref. This would require accessing Argo Workflows through a URL that includes thebaseHref. However, this might not be feasible in all environments.
Further Investigation
To properly address this bug, the Argo Workflows team needs to investigate the code changes between versions 0.45.23 and 0.46.1 to identify the root cause. Specifically, they should focus on changes related to path resolution, static asset handling, and Helm chart templating.
Conclusion
This article has highlighted a critical bug in Argo Workflows version 0.46.1 where the baseHref setting is not honored, leading to a broken user interface. By understanding the steps to reproduce the issue and exploring potential causes and workarounds, users can mitigate the impact of this bug while the Argo Workflows team works on a permanent fix. Remember to monitor the Argo Workflows release notes and issue tracker for updates on this issue.
For more information about Argo Workflows and its configuration options, refer to the official Argo Workflows Documentation.