-
Notifications
You must be signed in to change notification settings - Fork 8.5k
Description
The optimizer runs in kibana releases whenever you install a plugin and whenever you start kibana after removing a plugin. This shouldn't be necessary or even possible.
The bundles that get created at build time and shipped with the core release should be immutable, and all plugins should need to create their own bundles during their own build process. Kibana should not in any way attempt to wrangle the actual plugin code itself, and plugins should not in any way be concerned with Kibana doing so.
This should mean that the optimizer does not get shipped with builds and is only used in development. That will greatly speed up plugin install/removal, will improve reliability of plugin installs and the integrity of the core kibana build, remove the need for certain permission wrangling that occurs now for package installs, and will allow us to ship Kibana with defaults for low max memory usage.
This should also free us to explore changes to the entire dev build system to make it faster and easier to use since we won't be burdened by production requirements of the optimizer. Ultimately, it will allow us to treat our tooling around the dev process as simply a part of the project rather than as part of the product itself.
Blockers:
- Status page UI (Migrate Status Page UI #67979)
- ui/styles (Migrate ui/styles to New Platform #58369)
- UiSettings injected via legacy metadata (Migrate injected UiSettings from legacyMetadata #22779)
- [build] kbn/optimizer needs ran from source [build] kbn/optimizer needs ran from source #71881
Tasks:
- Disable the legacy optimizer in development
- Disable legacy optimizer in production
- Remove clustering mechanism
- Remove
src/optimizerand related dependencies - Remove karma & related CI tasks(Tim Roes)