elastic / kibana

Your window into the Elastic Stack
https://www.elastic.co/products/kibana
Other
19.64k stars 8.23k forks source link

[Discuss] Public URLs in Kibana and Cloud #161370

Open alisonelizabeth opened 1 year ago

alisonelizabeth commented 1 year ago

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

Kibana page URL
Management /app/management
Data retention TBD - not implemented yet

in Kibana

Cloud page URL
Users and roles -
Performance -
Billing and subscription -
elasticmachine commented 1 year ago

Pinging @elastic/platform-deployment-management (Team:Deployment Management)

alisonelizabeth commented 1 year ago

cc @clintandrewhall @zinckiwi

clintandrewhall commented 1 year ago

@lukeelmers if you have any ideas on a “universal” way of maintaining this.

lukeelmers commented 1 year ago

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.

jloleysens commented 1 year ago

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:

In this case, it would be up to Cloud to provide us a way to link back.