Difference between cloned kibana vs tar.gz?

Pretty new to this stuff still trying to figure some stuff out. I am looking into developing some Kibana plugins and while following the steps to do so they state you should clone the repo, then from within kibana directory run yarn kbn bootstrap. I was also working with Elasticsearch a bit and have a direct download of the kibana-6.2.2-darwin or whatever and tried to run the same command yarn kbn bootstrap from within that install but couldn't. I am wondering what the difference is and do I now have to maintain 2 copies of kibana in order to develop plugins, and do other stuff with the other one? Just curious is all.

Cloning the code from GitHub and downloading the published executables are two separate things. You can, however, build an executable from the source, or you can even run Kibana from source (that's how we do it in development). After you run yarn kbn boostrap you should be able to run yarn start to actually start Kibana.

Thanks for the explanation. If you could potentially answer this as well as i feel it is a problem with having 2 versions installed.

Originally I followed the get Kibana up and running procedures found here and had no issues getting the elasticsearch up and running, as well as kibana and a simple kibana plugin using the generator. Subsequently I followed a 'Get X-Pack up and running' procedure where it had me download the tar.gz's for each respectively then install the x-pack plagin via ./bin/elasticsearch-plugin install x-pack and same for kibana - which worked fine in it's own respect.

But now going back to the plugin development portion of things I try and do a ./bin/kibana within the cloned version of kibana and not the tar.gz it tells me no node executable. yarn start does work as you just recommended. But if I go into the plugin and run yarn start (within kibana extra) it doesn't play nice with the version of elasticsearch installed i get the following error:

This version of Kibana requires Elasticsearch v7.0.0-alpha1 on all nodes. I found the following incompatible nodes in your cluster: v6.2.2

It seems the two tar.gz which are both 6.2.2 can play nice together (obviously) but the cloned version from the repo is looking for a 7.0.0-alpha1 version of elastic? Is there anyways to make the two play nice together so I don't have to maintain 2 versions of both elasticsearch and kibana? (if I have to, how would I download 7.0.0-alpha1 of elasticsearch)?

Longwinded sorry. but I feel like the problem is stemming from the multiple / different types of installs.

Which version of Kibana are you targeting your plugin for? You have a couple options here.... Checkout the version of Kibana that matches the version of ES you're running, or clone ES and either run it from source or build it off master.

One preface question - Does plugin development have to happen on the alpha version or can it happen on 6.2.2 for example ( just 6.2.x right? ).

So if I clone the elasticsearch would that be the alpha version?

I understand that they both need to be the same otherwise they won't work together. I'm pretty sure when I followed the prompt for setting up the plugin I said 6.2.2 just because that was the version of elastic I had, though I guess I didn't know at the time the Kibana from the cloned repo was 7.0.0-alpha1.

Also I just cloned elasticsearch, how would I then build that(?) to run locally as I do with ./bin/elasticsearch on the tar.gz version?

If you just want to change the version of your local version of Kibana you should be able to do something like

git checkout 6.x

in your kibana directory. Use 6.2 for 6.2.x, or 6.x for 6.3.x (unreleased).

If you'd rather clone and build Elasticsearch, you should be able to run

./gradlew assemble

from the elasticsearch directory. Hope that helps!

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.