* Draft RFC for unblocking plugin lifecycle methods
* Draft RFC for unblocking kibana startup
* Rename rfc from 0006 to 0007
* Add references to TC39 top-level await
* Update with review suggestion
Co-Authored-By: Court Ewing <court@epixa.com>
* Update RFC#0007
* Apply suggestions from code review
Co-Authored-By: Aleh Zasypkin <aleh.zasypkin@gmail.com>
* Address review comments from @joshdover and @azasypkin
1. Fleshed out motivation, this RFC doesn't prevent errors, but isolates the
impact on the rest of Kibana.
2. Added a footnote explaining that sync lifecycles can still block on sync
for loops, so it's not a perfect guarantee (from @azasypkin).
3. Updated IContextProvider type signature in (2) to match latest master
4. Dynamically reloading configuration changes should be limited to a
whitelist, risky changes like the Elasticsearch host should still require a
complete restart. Added to (3) based on
https://github.com/elastic/kibana/pull/45796#discussion_r331277153
5. Added Section 5, "Core should expose a status signal for Core services &
plugins" (from @joshdover)
6. Added the drawback that incorrect, but valid config would not block Kibana,
and might only be surfaced when the associted API/UI gets used (from
@azasypkin)
* Formatting: number ordered list instead of letter for github rendering
* Apply suggestions from code review
Co-Authored-By: Josh Dover <me@joshdover.com>
* Update rfcs/text/0007_lifecycle_unblocked.md
Co-Authored-By: Josh Dover <me@joshdover.com>
* Example of plugin exposing API dependent on internal async operation
* Clarify that context providers won't block kibana, just their handlers
* Update adoption strategy as per latest discussion
* Fix formatting