-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
Integrate new platform (core) server side into Kibana #18951
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was reviewed over the last year in a long series of individual PRs. I just did a high level once over on the code to double check, and it looks good.
Please update the PR title and description though. To most people, this PR represents the first addition of the new platform. Can you update this PR to detail the changes?
LGTM
Question about the kbn-observable that we changed into src/core/lib/kbn_observable: why didn't we move the share_last operator over? Should we make a note about this, in case we plan to reimplement that? I assume we don't want it anymore at all? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we either add some follow up about the stuff that we didn't pull over from kbn-observable, or include them here? If this gets merged as is, the things that didn't make it will be lost/forgotten.
@archanid Are you referring to kbn-observable functionality from the The |
@epixa yes, indeed. |
@archanid Our stance with code has always been to delete it if it's not being used, and it's not being used. I'm not sure if that's why it was omitted, but it's why I would have omitted it had I made the change :) |
I just removed everything we don't need in the initial merge, and it was the only operator that depended on RxJS, but not used elsewhere. Since we have this in |
@archanid woo! @azasypkin Please update the title/description and fix the dependency conflicts and get this beautiful beast merged! |
kbn-core
into master
💚 Build Succeeded |
Co-authored-by: Kim Joar Bekkelund <kjbekkelund@gmail.com> Co-authored-by: archana <archanid@users.noreply.github.com> Co-authored-by: Spencer <spalger@users.noreply.github.com> Co-authored-by: Court Ewing <court@epixa.com>
6.x/6.4: f88d0b9 |
💔 Build Failed |
Hmm, why CI is still running for this PR? :) Anyway it seems CI failed because of flaky test... Will be monitoring master today. |
This PR broke Canvas. We just see a bunch of 404 errors in the console and nothing loads. There's an extra slash in the basepath now, not sure if that's related. I opened #20802 |
In this PR we're integrating base parts of the new platform (later
core
) server side into Kibana. At this point there are only two major touch points between newcore
and the rest of Kibana:core
who listens on HTTP ports, handles TLS configuration and base path proxy. All requests to Kibana will hit HTTP server exposed by thecore
first and it will decide whether request can be solely handled by the new platform or request should be forwarded to the legacy Kibana. Technically we have two Hapi servers now (one forcore
and one for legacy Kibana), but only one underlying Node HTTP listener. This setup allows us to gradually introduce any "pre-route" processing code, expose new routes or replace old ones handled by the legacy platform currently.core
so that we can make config validation stricter with the new config validation system (even though it's based on Joi internally we introduced custom rules tailored to our needs likebyteSize
orduration
). That means you can notice new config validation error messages if config value has been accepted by legacy config validation code, but rejected by thecore
.With this PR legacy Kibana will still be started first using existing CLI and will bootstrap
core
only when needed, but we're going to inverse this in #19994.New platform formerly resided in
new-platform
feature branch and then major part of it has been migrated tokbn-core
feature branch.new-platform
feature branch is going to stay for a while so that we can migrate the missing parts when we're ready. Here is a list of notablekbn-core
vsnew-platform
differences:platform
(nowcore
) directory structure according to Directory structure with the new platform #12466core
and moved it tosrc/core/lib
to use relative paths, removed unused operators@kbn/utils
intosrc/core/server/config/schema
and based it on Joi internally