Interactive setup mode UI/UX #102538
Labels
Feature:New Feature
New feature not correlating to an existing feature label
impact:high
Addressing this issue will have a high level of impact on the quality/strength of our product.
loe:small
Small Level of Effort
Team:Security
Team focused on: Auth, Users, Roles, Spaces, Audit Logging, and more!
v8.0.0
Interactive setup mode is the mode Kibana enters to on the first launch if it detects that user hasn't explicitly configured their own connection to Elasticsearch. In this mode, Kibana will present an interface to the user that would allow them to provide Elasticsearch connection information and potentially any other configuration information. Once the information is verified, Kibana will write it to the disk and allow the rest of Kibana to start.
This issue is solely dedicated to the UI/UX aspects of the interactive setup mode.
Not all requirements are clearly defined yet, and it will surely take several iterations before we get to the ideal UI/UX state. The goal is to start from the minimal functional UI which we can gradually improve.
Below is a brain dump of the requirements we're aware of to date and a very rough UI mockup:
The interactive setup mode UI (later just "UI") is basically a standalone application without Kibana chrome and other standard navigation elements. It proposes two separate flows to a user:
Enrollment flow
In this flow user is prompted to enter a special enrollment token (long opaque string generated by the Elasticsearch node, named as
magic string
at the mockup above). Kibana validates and parses this token, and displays some of the extracted information in the UI:Once enrollment token is validated, user can click on the
Connect to cluster
button to trigger Kibana automatic configuration. Under the hood Kibana tries to connect to Elasticsearch, calls a number of enrollment APIs, stores configuration information to the disk. This process can take some time and once it's complete user is automatically redirected to a home page (or originally requested URL).Before we finally redirect user to a fully functional Kibana we might want to display some of the configuration information that user, for example, can copy and use to automatically configure other Kibana instances without going through setup UI again.
Manual configuration flow
In this flow user is prompted to enter the following information:
Once all required fields are filled, user can click on the
Connect to cluster
button to let Kibana validate connection information and save it to the disk. This process can take some time and once it's complete user is automatically redirected to a home page (or originally requested URL).Errors
There are a variety of things that can go wrong during any of the aforementioned flows: the enrollment token can be malformed, the Elasticsearch can have an incompatible version or be unavailable at the moment, Kibana process may lack permissions to store configuration information to the disk, etc.
For some of the failures we can offer recovery steps, for others we cannot. But in case we should try to make errors as much clear and actionable as possible.
Miscellaneous
If Kibana is properly configured, interactive setup mode won't be activated during next restart. But Kibana bootstrap can still take a considerable amount of time and we'd like to display a special
Kibana server is not ready
UI that we may or may not want to make somewhat visually similar to the interactive setup mode UI.Related: #89287, #104068
@legrego @arisonl @ryankeairns @andreadelrio @MichaelMarcialis
The text was updated successfully, but these errors were encountered: