Skip to content

[Licensing] Enabling and disabling functionality based on current license in public #55985

@jloleysens

Description

@jloleysens

The idea

Currently setting up plugins that depend on a valid license being present (like Watcher) face some challenges on the public side in particular:

  1. We do not always know license at setup time and must assume it is unknown (there is no license if it hasn't been set in session storage). Plugins must therefore register against dependencies (like ES management section), immediately disable and then re-enable once we receive a valid license post-setup time.
  2. In Watcher's case specifically we can disable ES section through it's public API, but not home.

The following actions could be taken to address the above points, respectively:

  1. Given [RFC][skip-ci] Prevent plugins from blocking Kibana startup #45796 (comment) setup logic of plugins that expose/hide functionality based on licenses can be simplified if we know an initial license value at setup time. Plugins should still receive an observable against which they can respond for subsequent license values.
    2. Home plugin could be updated to allow for enabling and disabling registered apps.

[UPDATE]

Created a separate issue for (2) here #57184

CC @restrry @rudolf

Additional information

Watcher setup PR: #55831

Metadata

Metadata

Assignees

No one assigned

    Labels

    Team:CorePlatform Core services: plugins, logging, config, saved objects, http, ES client, i18n, etc t//discussenhancementNew value added to drive a business result

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions