Description
Is your feature request related to a problem? Please describe.
We deploy multiple services on the same VM, each using a different port. Every service has its own CNAME DNS record pointing to the VM hostname. For example, service-1
will be accessible only at service-a.apps.example.com:port
and not at service-b.apps.example.com:port
. However, the dashboard is currently accessible at each of these CNAME addresses because it listens on localhost.
Describe the solution you'd like
Extend the Fluent API to include methods that allow specifying the desired hostname, e.g.:
JobRunr.configure()
.useDashboardIf(true, usingStandardDashboardConfiguration()
.andHostname("my-app.example.com")
.andPort(8090))
...
Then, the HttpServer creation, which currently looks like this: HttpServer.create(new InetSocketAddress(port), 0)
, can be updated to use the provided hostname (if present): new InetSocketAddress(hostname, port)
.
Describe alternatives you've considered
I noticed that the Pro version allows hosting the dashboard on the same address as the application. However, we are currently using JobRunr for a simple service that handles a small part of our processes. Given this, it may be difficult to justify purchasing a license to management.
Additional context
I know that the issue probably affects a small number of users, but adding an option in the configuration seems to have little impact. While going through the issues, I found one report that might potentially be related: #394
I'd be happy to prepare a PR if the change is accepted.