-
Notifications
You must be signed in to change notification settings - Fork 2.8k
Description
Component
c/v3-console
Console -> c/v3-console
What is the current behaviour?
When deploying the v3-engine to a Kubernetes cluster and accessing it via a public HTTPS URL, the Hasura Console UI fails to load. The page remains stuck on "Loading...".
The browser's developer console shows critical errors indicating that it's trying to fetch UI assets from unpkg.com. These requests fail with a combination of a 404 Not Found error and a CORS policy error. This prevents the GraphiQL interface from initializing, leading to a fatal ReferenceError: GraphiQL is not defined.
The /graphql endpoint itself works correctly for API requests; only the Console UI is affected. The issue has been observed in both v2025.06.26 and v2025.07.02 versions of the v3-engine.
What is the expected behaviour?
The Hasura Console UI should load successfully in a self-hosted Kubernetes environment, just as it does when running locally. The UI assets should be fetched successfully without CORS or 404 errors. Ideally, there should be a configuration option to serve all console assets locally from the container itself, to avoid reliance on external CDNs in a production environment.
How to reproduce the issue?
1.Deploy the ghcr.io/hasura/v3-engine:v2025.07.02 Docker image to a Kubernetes cluster.
2.Configure the necessary environment variables for it to connect to a metadata database.
3.Expose the service on port 8080 via a Kubernetes Service and Ingress controller, configured with a public HTTPS domain.
4.Navigate to the public domain in a web browser.
5.Open the developer console and observe the network and console tabs. The UI will be stuck on "Loading..." and the errors will be present in the console.
Screenshots or Screencast
Please provide any traces or logs that could help here.
The following errors are observed in the browser's JavaScript console:
Access to script at 'https://unpkg.com/@graphiql/[email protected]/dist/index.umd.js' (redirected from 'https://unpkg.com/@graphiql/plugin-explorer/dist/index.umd.js') from origin 'https://ddn-dev.kaktu.al' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
GET https://unpkg.com/@graphiql/[email protected]/dist/index.umd.js net::ERR_FAILED 404 (Not Found)
Uncaught ReferenceError: GraphiQL is not defined
at (index):79:23
Any possible solutions/workarounds you're aware of?
The primary issue seems to be that the v3-engine container has hard-coded URLs to external CDN assets that are now resulting in a 404.
A robust solution would be to introduce an environment variable (e.g., HASURA_GRAPHQL_SERVE_CONSOLE_ASSETS=true) that forces the container to serve all console assets locally. This would make deployments self-contained, remove the external dependency on unpkg.com, and inherently solve any CORS issues. This is a common pattern in previous versions of Hasura and other web applications.
Keywords
Hasura v3, Console, UI, CORS, 404 Not Found, unpkg, self-hosted, Kubernetes, Docker, deployment, GraphiQL is not defined, stuck on loading, v3-engine, connector.