Open alisonelizabeth opened 1 year ago
Pinging @elastic/platform-deployment-management (Team:Deployment Management)
cc @clintandrewhall @zinckiwi
@lukeelmers if you have any ideas on a “universal” way of maintaining this.
When it comes to Cloud talking to Kibana:
We really shouldn't be making breaking changes to these URLs in the first place without adding redirects, so IMO adding some integration tests in Kibana to verify the routes work is the simplest path forward. That way self-managed Kibana would benefit from the additional test coverage as well. These test would be owned by whichever team owns the applications that register the routes cloud needs.
It might also help on the Cloud UI side to have these consts consolidated into a single file that the deployment management team could be codeowners for, to ensure that someone in AppEx is always aware if any changes are ever made to these.
Iterating on what Luke said:
Kibana has a redirect app that uses locators (the most formalised version of deep-linking we have). This app lives at:
/app/r?l=<locator_id>&v=<version>&p=<params>
See src/plugins/share/public/url_service/redirect/redirect_manager.ts
.
Locators are more work than "just linking", but they provide a few things:
With locators we could:
<div data-test-subj="kibana-deep-link-target" />
In this case, it would be up to Cloud to provide us a way to link back.
In serverless, there are several instances where cloud UI will need to link to Kibana and vice versa.
We need to find a way to document or enforce the public URLs that cloud is putting in their interface. For example, create a constants file of routes that we should support in cloud and create integration tests to verify they are available.
in Cloud
in Kibana