How do I build a branding plugin offline in kibana 7.9?

I created a plugin for Kibana 7.6.2 that's used to brand the UI, ie add a new logo and run some javascript to do some other customizations. Unfortunately, I'm also offline doing this so I'm not developing the plugin leveraging the kibana repo. I previously used zip to create the build artifact to install on Kibana using /bin/kibana-plugin install

Now we are upgrading to 7.9 and the existing plugin doesn't work so I'm trying to figure out how it needs to be modified. I have read over the documentation for the new plugin framework. I am trying to figure out how I build a plugin outside of the kibana git repo. I don't have access to @kbn/plugin-helpers.

The basic question, will I be able to inject javascript on a page to add a security banner and will I be able to change the logos with css.

I can upload my zip if that would be helpful. I don't see in this form how to add the zip.

Any insight is appreciated.

Blockquote

Now we are upgrading to 7.9 and the existing plugin doesn't work so I'm trying to figure out how it needs to be modified.

The legacy plugin support is going to be removed in v7.10.0. So you still should be able to inject javascript on a page to add a security banner and will I be able to change the logos with css.

I don't have access to @kbn/plugin-helpers.

Yes, the newer version of @kbn/plugin-helpers with the Kibana platform support is going to be released in v7.10.0 - https://github.com/elastic/kibana/pull/75019
About the same time, we are going to provide documentation for plugin development https://github.com/elastic/kibana/issues/75786

I can't get the example plugins to work in my local instance running 'yarn start --run-examples'. Lastly, we saw performance issues in the browser, out of memory on chrome, so we are going to try 7.8

rhonda.gregory@wvhn-gregoryr examples] yarn start --run-examples yarn run v1.22.5 node scripts/kibana --dev --run-examples
log [09:29:34.983] [warning][plugins-discovery] Explicit plugin paths [/home/rhonda.gregory/dev/kibana/x-pack] should only be used in development. Relative imports may not work properly in production.
log [09:29:35.010] [warning][plugins-discovery] Expect plugin "id" in camelCase, but found: triggers_actions_ui
[BABEL] Note: The code generator has deoptimised the styling of /home/rhonda.gregory/dev/kibana/x-pack/plugins/canvas/server/templates/pitch_presentation.ts as it exceeds the max of 500KB.
[BABEL] Note: The code generator has deoptimised the styling of /home/rhonda.gregory/dev/kibana/x-pack/plugins/security_solution/server/utils/beat_schema/8.0.0/filebeat.ts as it exceeds the max of 500KB.
log [09:30:10.958] [info][plugins-service] Plugin "visTypeXy" is disabled.
log [09:30:10.958] [info][plugins-service] Plugin "auditTrail" is disabled.
log [09:30:11.165] [info][plugins-service] Plugin initialization disabled.
log [09:30:11.171] [warning][savedobjects-service] Skipping Saved Object migrations on startup. Note: Individual documents will still be migrated when read or written.
failed to watch files! Error: ENOSPC: System limit for number of file watchers reached, watch '/home/rhonda.gregory/dev/kibana/src/plugins/console/server/lib/spec_definitions/json/generated/cluster.health.json'
at FSWatcher.start (internal/fs/watchers.js:165:26)
at Object.watch (fs.js:1258:11)
at createFsWatchInstance (/home/rhonda.gregory/dev/kibana/node_modules/chokidar/lib/nodefs-handler.js:109:15)
at setFsWatchListener (/home/rhonda.gregory/dev/kibana/node_modules/chokidar/lib/nodefs-handler.js:156:15)
at NodeFsHandler._watchWithNodeFs (/home/rhonda.gregory/dev/kibana/node_modules/chokidar/lib/nodefs-handler.js:318:14)
at NodeFsHandler._handleFile (/home/rhonda.gregory/dev/kibana/node_modules/chokidar/lib/nodefs-handler.js:348:23)
at NodeFsHandler._addToNodeFs (/home/rhonda.gregory/dev/kibana/node_modules/chokidar/lib/nodefs-handler.js:619:21)

<--- Last few GCs --->

[24020:0x336ea10] 48577 ms: Mark-sweep 807.1 (1146.0) -> 807.0 (1079.5) MB, 110.0 / 0.0 ms (average mu = 0.835, current mu = 0.000) last resort GC in old space requested
[24020:0x336ea10] 48681 ms: Mark-sweep 807.0 (1079.5) -> 807.0 (1054.5) MB, 103.5 / 0.0 ms (average mu = 0.711, current mu = 0.000) last resort GC in old space requested

<--- JS stacktrace --->

==== JS stack trace =========================================

0: ExitFrame [pc: 0x1d87e855be1d]
Security context: 0x1b988da9e6c1
1: byteLength(aka byteLength) [0x1e8c72f7a681] [buffer.js:531] [bytecode=0x25d9887f4ac9 offset=204](this=0x23792ac826f1 ,string=0x0da6bb747b99 <Very long string[236501382]>,encoding=0x1b988dabdd81 <String[4]: utf8>)
2: arguments adaptor frame: 3->2
3: fromString(aka fromString) [0x1cfb28313379] [buffer.js:342] [bytecode=0x25d9887eeb69 ...

FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
1: 0x8fb090 node::Abort() [/usr/bin/node]
2: 0x8fb0dc [/usr/bin/node]
3: 0xb033ae v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [/usr/bin/node]
4: 0xb035e4 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [/usr/bin/node]
5: 0xef7642 [/usr/bin/node]
6: 0xf06e5f v8::internal::Heap::AllocateRawWithRetryOrFail(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) [/usr/bin/node]
7: 0xed6a0b v8::internal::factory::NewRawTwoByteString(int, v8::internal::PretenureFlag) [/usr/bin/node]
8: 0x1020293 v8::internal::String::SlowFlatten(v8::internal::Handlev8::internal::ConsString, v8::internal::PretenureFlag) [/usr/bin/node]
9: 0xb00d54 v8::internal::String::Flatten(v8::internal::Handlev8::internal::String, v8::internal::PretenureFlag) [/usr/bin/node]
10: 0xb0e720 v8::String::Utf8Length() const [/usr/bin/node]
11: 0x9148f9 [/usr/bin/node]
12: 0xb917ef [/usr/bin/node]
13: 0xb92359 v8::internal::Builtin_HandleApiCall(int, v8::internal::Object**, v8::internal::Isolate*) [/usr/bin/node]
14: 0x1d87e855be1d
error Command failed with signal "SIGABRT".

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