Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Meta] Migrate Kibana plugins to TS project references #80508

Closed
mshustov opened this issue Oct 14, 2020 · 61 comments · Fixed by #90916 or #100447
Closed

[Meta] Migrate Kibana plugins to TS project references #80508

mshustov opened this issue Oct 14, 2020 · 61 comments · Fixed by #90916 or #100447

Comments

@mshustov
Copy link
Contributor

mshustov commented Oct 14, 2020

Documentation
Preparatory work #46773

Security Solution team

Blockers: ✅ Circular dependency between security_solution <--> lists #80513
Blockers: ✅ Circular dependency between actions <--> lists
Blockers: ✅ Circular dependency between security_solution <--> fleet #91111

@elastic/siem
@elastic/endpoint-app-team

plugin migration status
security_solution #100447
cases
lists #100447

App team

@elastic/kibana-app
Issue #84750

  • ✅ Circular dependency between charts <--> expressions
  • ✅ Circular dependency between charts <--> vis_default_editor [Visualizations] Remove charts - editor plugins cyclic dependencies #84887
  • ✅ Circular dependency between vis_default_editor <--> visualizations
  • ✅ Circular dependency between vis_default_editor <--> visualize
  • ✅ Circular dependency between visualizations <--> visualize
plugin migration status
discover_enhanced
lens
graph
advanced_settings
charts
discover
management
kibana_legacy (#80992)
timelion
vis_default_editor
vis_type_metric
vis_type_table
vis_type_tagcloud
vis_type_timelion
vis_type_timeseries
vis_type_timeseries_enhanced
vis_type_vega
vis_type_vislib
vis_type_xy
visualize
visualizations

AppServices team

Blockers:

@elastic/kibana-app-services

plugin migration status
bfetch
data
embeddable
expressions
inspector (#81792)
kibana_react
kibana_utils
navigation
share (#82051)
ui_actions
data_enhanced
embeddable_enhanced
ui_actions_enhanced
index_pattern_management (#89759)
runtime_fields (#89809)
url_drilldown #91194

APM team

@elastic/apm-ui

plugin migration status
apm (#81003)
apm_oss (#81003)

Presentation team

@elastic/kibana-presentation
Conversion draft PR: #86019

plugin migration status
canvas
dashboard
dashboard_enhanced
input_control_vis
dashboard_mode
presentation_util
vis_type_markdown

Core team

@elastic/kibana-core

plugin migration status
src/core
features
global_search
cloud
licensing
saved_objects
saved_objects_management
saved_objects_tagging
saved_objects_tagging_oss
beats_management
legacy_export
code
xpack_legacy #91194

Core UI team

@elastic/kibana-core-ui

plugin migration status
home
kibana_overview
global_search_bar

Logs metrics UI team

@elastic/logs-metrics-ui

plugin migration status
infra (#80995)

Fleet

@elastic/fleet

plugin migration status
fleet (#82220)

Observability UI team

@elastic/observability-ui

plugin migration status
observability

Stack monitoring UI team

@elastic/stack-monitoring-ui

plugin migration status
monitoring #89293

Uptime team

@elastic/uptime

plugin migration status
uptime #87170

ML team

@elastic/ml-ui

plugin migration status
ml (#89270)
transform (#89271)

Maps team

@elastic/kibana-gis

plugin migration status
maps
maps_legacy
maps_oss
maps_file_upload
maps_legacy_licensing
tile_map
region_map

Operations team

@elastic/kibana-operations

plugin migration status
src/dev 🔴

Security team

Blockers: ⚠️ Circular dependency between security <--> spaces #80496 (resolved via #81891)

@elastic/kibana-security

plugin migration status
security_oss (#82135)
spaces_oss
spaces (#88365)
encrypted_saved_objects (#88365)
security (#88365)

Kibana telemetry team

@elastic/kibana-telemetry

plugin migration status
kibana_usage_collection (#81265)
newsfeed (#81254)
telemetry (#81090)
telemetry_collection_manager (#81090)
telemetry_management_section (#88073)
usage_collection (#81090)
telemetry_collection_xpack (#81269)

Kibana Alerting team

@elastic/kibana-alerting-services

plugin migration status
alerts
actions
event_log
task_manager
triggers_actions_ui
stack_alerts

Enterprise Alerting team

@elastic/enterprise-search-frontend

plugin migration status
enterprise_search

Elasticsearch UI team

Blockers: ✅ Circular dependency between infra <--> apm <--> infra for
cross_cluster_replication, index_lifecycle_management, index_management, remote_clusters, rollup
(fixed in #89739)

Track progress here: #89321
@elastic/es-ui

plugin migration status
dev_tool (#82197)
console
es_ui_shared
cross_cluster_replication
index_lifecycle_management
console_extensions
grokdebugger (#89652)
index_management (#89809)
license_management (#89472)
painless_lab (#89626)
remote_clusters
rollup
searchprofiler
snapshot_restore (#89653)
upgrade_assistant (#89949)
watcher
ingest_pipelines (#89505)

Logstash team

@elastic/logstash

plugin migration status
logstash #91194

Reporting team

@elastic/kibana-reporting-services

plugin migration status
reporting

security-asset-management

@elastic/security-asset-management

plugin migration status
osquery
@ryankeairns
Copy link
Contributor

@restrry for our planning purposes, is there a target release or deadline for this effort? ty

smith added a commit to smith/kibana that referenced this issue Oct 19, 2020
To support project references.

References elastic#80508.
@sorenlouv sorenlouv added [zube]: Inbox and removed Team:APM All issues that need APM UI Team support [zube]: Inbox labels Oct 19, 2020
smith added a commit that referenced this issue Oct 20, 2020
* Add TS config for kibana_legacy

To support project references.

References #80508.
smith added a commit to smith/kibana that referenced this issue Oct 20, 2020
* Add TS config for kibana_legacy

To support project references.

References elastic#80508.
smith added a commit to smith/kibana that referenced this issue Oct 20, 2020
Also add missing pieces to kibana_react, as a follow-up to elastic#80992.

References elastic#80508
References elastic#81003
smith added a commit that referenced this issue Oct 21, 2020
To support project references.

References #80508.
@mshustov
Copy link
Contributor Author

@ryankeairns @timroes
Making every plugin an independent TS project is a prerequisite for Phase 2 of #69706. That @elastic/kibana-operations team plans to start in v7.12 (cc @tylersmalley, @mistic)
Ideally, all the plugins migrate to TypeScript projects in v7.11, beginning of v7.12.
The main blocker at the moment is data plugin, I suppose (cc @lukeelmers)

@lukeelmers
Copy link
Member

Ack @restrry -- we're sorting out how we want to handle the changes required for data and I'll report back once updates are being made

smith added a commit that referenced this issue Oct 27, 2020
Also add missing pieces to kibana_react, as a follow-up to #80992.

References #80508
References #81003
smith added a commit to smith/kibana that referenced this issue Oct 27, 2020
Also add missing pieces to kibana_react, as a follow-up to elastic#80992.

References elastic#80508
References elastic#81003

# Conflicts:
#	tsconfig.json
smith added a commit that referenced this issue Oct 27, 2020
Also add missing pieces to kibana_react, as a follow-up to #80992.

References #80508
References #81003
@cjcenizal
Copy link
Contributor

@restrry According to the docs migration order matters, so plugins at the leaves of the dependency tree won't be able to begin migration until their dependencies have been migrated. Because of the sequential nature of this work, I'd like to set expectations. There are 6 weeks until feature freeze, and ES UI's apps have many unmigrated dependencies. For example, here are Index Management's dependencies:

      home
      data
      expressions
      uiActions
      management
      features
      visTypeTimelion
      visualizations
      embeddable
      savedObjects
      discover
      charts
      visDefaultEditor
      navigation
      security
      taskManager
      securityOss
      spaces
      advancedSettings
      savedObjectsManagement
      dashboard
      esUiShared
      ingestManager
      encryptedSavedObjects
      cloud

Looking at how many dependencies remain to be migrated and how much time remains in the dev cycle, it seems likely that we'll be unblocked with a week or two remaining. This is also typically the time when we're focused on polishing and testing new features in preparation for feature freeze. Sometimes we uncover bugs or opportunities for improvement that we need to execute on in order to ship. With this in mind, i think there's a high probability that some percentage of ES UI's apps (~75%) won't be migrated to TS projects by 7.11 feature freeze.

@legrego
Copy link
Member

legrego commented Oct 30, 2020

It's also very likely that the security team's plugins won't be migrated either, as we first have to resolve the circular dependency between security and spaces. I've been working on a POC for this, but time has not been on my side this week. And based on CJ's list ^, we are one of the teams blocking their work.

I am rather surprised that Index Management has a dependency on the spaces plugin though. Is that transient by way of another dependency?

@cjcenizal
Copy link
Contributor

@legrego Yes, it's a transient dependency. Here's the package.json. It has an optional dependency upon security, which is probably the cause of the spaces transient dependency.

@TinaHeiligers
Copy link
Contributor

TinaHeiligers commented Feb 1, 2021

Index Pattern Management is done and merged folks!

@smith
Copy link
Contributor

smith commented Feb 2, 2021

Observability (#89320) is done.

smith added a commit that referenced this issue Feb 2, 2021
References #80508. References #81003.
# Conflicts:
#	x-pack/tsconfig.refs.json
@peteharverson
Copy link
Contributor

ML (#90021) is done.

@smith
Copy link
Contributor

smith commented Feb 8, 2021

Infra (#90118) is done.

@flash1293
Copy link
Contributor

KibanaApp should be done as well in case I didn't forget a plugin (we own way too many)

@mshustov
Copy link
Contributor Author

mshustov commented Feb 8, 2021

@flash1293 node scripts/find_plugins_ready_to_migrate_to_ts_refs.js on master branch shows drilldown/url_drilldown is not migrated yet. It seems to be the last one

@justinkambic
Copy link
Contributor

Uptime (#90510) is done.

@jfsiii
Copy link
Contributor

jfsiii commented Feb 9, 2021

Fleet (#82220) is ✅

@flash1293
Copy link
Contributor

scripts/find_plugins_ready_to_migrate_to_ts_refs.js on master branch shows drilldown/url_drilldown is not migrated yet. It seems to be the last one

@restrry It seems like those belong to app-services.

@mshustov
Copy link
Contributor Author

mshustov commented Feb 9, 2021

@flash1293 my bad!

@TinaHeiligers
Copy link
Contributor

index_lifecycle_management, cross_cluster_replication, remote_clusters and rollup are all done.

@patrykkopycinski
Copy link
Contributor

patrykkopycinski commented Feb 10, 2021

osquery done in #90916

@smith
Copy link
Contributor

smith commented Feb 16, 2021

APM is done.

@smith
Copy link
Contributor

smith commented Feb 16, 2021

Monitoring is done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet