Arvados websocket unable to start with azure DB

I am running arvados in azure with the managed postgres service. All other services are able to work with the DB correctly, however it appears the websocket service does an initial database ping without any authentication credential which in my case causes the service to fail. Any suggestions on how to either prevent the initial ping or send authentication credentials along with the request?

{"error":"pq: Invalid Username specified. Please check the Username and retry connection. The Username should be in \u003cusername@hostname\u003e format.","level":"error","msg":"db.Ping failed"

We haven’t tried it the managed Postgres service, with self-hosted Postgres it works fine, so that is a possible workaround. Supporting hosted Postgres on Azure and AWS is something we could work on.

So the solution was just making sure the username had an @ and was double quoted. Percent encoding works for the controller but not sso or websocket.

That’s useful to know. Could you give an example of what did work? Does the service itself need to be doing some encoding of the username?

Also, could you file a bug about your problem with the Websocket server and put a link here?

So for azure usernames for Postgres are built as username@dbname it seems in the arvados controller this needs to be escaped either by percent encoding username%40dbname or by double quoting "username@dbname". The websocket server and the sso server however only accept the double quoted non-percent escaped string.