I'm developing a plugin with Kibana v7.5.1, and I have it in a state where I want to build the plugin and install it into a docker container, and recommit the container and save it to my private registry.
All of these steps works just fine
yarn kbn bootstrap
yarn start # for development
yarn build
builds just fine, then trying to install and run, the following steps are actually in a Dockerfile, but behave the same done this way.
docker run --rm -it --name kb docker.elastic.co/kibana/kibana:7.5.1 bash
Hi, it looks to me like you're using the right steps to make this Docker image.
Have you tried running your plugin in "dist" mode before this? Instead of yarn start give this a try: node scripts/kibana --config=config/kibana.dev.yml and see if Kibana can run with your plugin in non-dev mode.
Can you include more of the error message? I want to see if there is a stack trace that is pointing to the problem
So when I run the container, the follow log gets dumped:
Error: Cannot find module '/usr/share/kibana/plugins/cadence'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:581:15)
at Function.Module._load (internal/modules/cjs/loader.js:507:25)
at Module.require (internal/modules/cjs/loader.js:637:17)
at require (internal/modules/cjs/helpers.js:22:18)
at createPack (/usr/share/kibana/src/legacy/plugin_discovery/plugin_pack/create_pack.js:33:18)
at MapSubscriber.packageJson$.pipe [as project] (/usr/share/kibana/src/legacy/plugin_discovery/plugin_pack/create_pack.js:66:11)
at MapSubscriber._next (/usr/share/kibana/node_modules/rxjs/internal/operators/map.js:46:35)
at MapSubscriber.Subscriber.next (/usr/share/kibana/node_modules/rxjs/internal/Subscriber.js:64:18)
at RefCountSubscriber.Subscriber._next (/usr/share/kibana/node_modules/rxjs/internal/Subscriber.js:87:26)
at RefCountSubscriber.Subscriber.next (/usr/share/kibana/node_modules/rxjs/internal/Subscriber.js:64:18)
at Subject.next (/usr/share/kibana/node_modules/rxjs/internal/Subject.js:57:25)
at ConnectableSubscriber.Subscriber._next (/usr/share/kibana/node_modules/rxjs/internal/Subscriber.js:87:26)
at ConnectableSubscriber.Subscriber.next (/usr/share/kibana/node_modules/rxjs/internal/Subscriber.js:64:18)
at DistinctSubscriber._finalizeNext (/usr/share/kibana/node_modules/rxjs/internal/operators/distinct.js:70:30)
at DistinctSubscriber._useKeySelector (/usr/share/kibana/node_modules/rxjs/internal/operators/distinct.js:64:14)
at DistinctSubscriber._next (/usr/share/kibana/node_modules/rxjs/internal/operators/distinct.js:48:18) code: 'MODULE_NOT_FOUND'
Followed by a couple lines saying its stopping other (builtin) plugins, then by:
I'm sorry but I'm really not sure what's going wrong. It's hard to say without access to the code.
Just a wild guess, but there is an index.js file in this path, correct? One thing to check is that Typescript conversion is happening properly, if that's applicable.
Actually, yeah. Thanks for pointing that out. I am using typescript everywhere, including the index.ts. When I unpack the .zip, there is no index.js next to the node_modules.
All other files in the server code is correctly compiled down from typescript to js.
I just checked, and if I change index.ts to index.js, index.js will now be in the package after I build it.
After installing, it looks like Kibana will run, but I do not see my plugin at the moment. I'll continue investigating later today.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.