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

[Reporting] New Platform Migration #53898

Closed
17 of 19 tasks
tsullivan opened this issue Jan 2, 2020 · 8 comments · Fixed by #67904
Closed
17 of 19 tasks

[Reporting] New Platform Migration #53898

tsullivan opened this issue Jan 2, 2020 · 8 comments · Fixed by #67904
Labels
Feature:NP Migration Feature:Reporting:Framework Reporting issues pertaining to the overall framework needs-team Issues missing a team label

Comments

@tsullivan
Copy link
Member

tsullivan commented Jan 2, 2020

Describe the feature:
The Kibana Reporting plugin code needs to be migrated to the New Platform interface.

The Reporting plugin definition in NP will share a contract with other plugins that will allow them to pass a Kibana URL and some options to a function and receive an observable that resolves to a PNG payload of the screenshot. This was already possible in the legacy Reporting code, but the interface to the screenshot observable is cumbersome and undocumented.

Tasks:

Concerns:

@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-reporting-services (Team:Reporting Services)

@rudolf
Copy link
Contributor

rudolf commented Jan 8, 2020

Should we detect ES connection health to influence how we poll for pending jobs? #18297

NP will expose status for it's sub-services like elasticsearch in a similar way to what Legacy did (using an observable instead of a event emitter) we're tracking the work here #41983 I've updated the issue description with this as a blocker.

@rudolf
Copy link
Contributor

rudolf commented Jan 8, 2020

Test that spawns a Hapi server needs to be re-written

We've created #51150 for making it easier to test controllers by mocking their dependencies like what you're doing in these tests.

@tsullivan
Copy link
Member Author

tsullivan commented Jan 16, 2020

We don't need middleware to do what we're currently doing with middleware. We can just as easily make a route handler wrapper that runs the auth checks needed for the custom Reporting authentication model. Resolved in #54082 (comment)

@tsullivan
Copy link
Member Author

We use config.set on the server side in some places to update to a configuration that will work with Reporting. We always log a warning and explain how to update the configuration and silence the warning. Will this be possible in the New Platform?

We'll handle this by refactoring Reporting's usage of config. A createConfig$ function will invoke dynamic changes to the set configuration before it touches the application

@tsullivan
Copy link
Member Author

New Platform license checking service provides an observable. Do all the parts of the Reporting code that depend on license status need to subscribe to that observable? It is unclear how this works in the legacy Reporting code

It looks like a few plugins in are now implementing license checks in the New Platform. I think we'll be able to find a solution based on example.

@tsullivan
Copy link
Member Author

(updated description)

alexwizp added a commit to alexwizp/kibana that referenced this issue Jan 31, 2020
tsullivan added a commit that referenced this issue Feb 3, 2020
…tingPlugin.start (#56563)

* [Reporting] New Platform Migration

Part of #53898

* fix CI

* fix typescript

Co-authored-by: Alexey Antonov <alexwizp@gmail.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
cauemarcondes pushed a commit to cauemarcondes/kibana that referenced this issue Feb 5, 2020
…tingPlugin.start (elastic#56563)

* [Reporting] New Platform Migration

Part of elastic#53898

* fix CI

* fix typescript

Co-authored-by: Alexey Antonov <alexwizp@gmail.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
tsullivan added a commit to tsullivan/kibana that referenced this issue Feb 5, 2020
…tingPlugin.start (elastic#56563)

* [Reporting] New Platform Migration

Part of elastic#53898

* fix CI

* fix typescript

Co-authored-by: Alexey Antonov <alexwizp@gmail.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
tsullivan added a commit that referenced this issue Feb 5, 2020
…tingPlugin.start (#56563) (#56875)

* [Reporting] New Platform Migration

Part of #53898

* fix CI

* fix typescript

Co-authored-by: Alexey Antonov <alexwizp@gmail.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>

Co-authored-by: Alexey Antonov <alexwizp@gmail.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
majagrubic pushed a commit to majagrubic/kibana that referenced this issue Feb 10, 2020
…tingPlugin.start (elastic#56563)

* [Reporting] New Platform Migration

Part of elastic#53898

* fix CI

* fix typescript

Co-authored-by: Alexey Antonov <alexwizp@gmail.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
@mshustov
Copy link
Contributor

mshustov commented May 25, 2020

Could you switch to elasticsearch client & licensing plugin API exposed from start contract when migrating the shim to the Kibana Platform? We are deprecating elasticsearch API exposed from setup contract. We are depreciating async lifecycles as well. It means runValidations should be moved to the setup and transformed into unblocking operations.

@sophiec20 sophiec20 added Feature:Reporting:Framework Reporting issues pertaining to the overall framework and removed (Deprecated) Team:Reporting Services labels Aug 21, 2024
@botelastic botelastic bot added the needs-team Issues missing a team label label Aug 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature:NP Migration Feature:Reporting:Framework Reporting issues pertaining to the overall framework needs-team Issues missing a team label
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants