Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Add plugin system #12

Merged
merged 1 commit into from
Mar 27, 2021
Merged

Add plugin system #12

merged 1 commit into from
Mar 27, 2021

Conversation

ricoberger
Copy link
Member

@ricoberger ricoberger commented Mar 27, 2021

This commit introduces a new plugin system for kobs. The new plugin
system can be used to extend the functionality of kobs. Each plugin is
described by his own ".proto" file. The plugin can then be registered
in the "pkg/api/plugins/plugins/plugins.go" file. The frontend
components must be registered in the "app/src/utils/plugins.tsx" file.
Each plugin must define two React components: One component is
responsible for directly using the plugin. THe other component allows
the usage of the plugin within an application.

We also readding Prometheus and Elasticsearch as plugins (previously
known as datasources). The Prometheus plugin allows a user to define
variables and charts within the Application CR, The metrics are then
shown as charts under the corresponding plugin tab. Next to this the
plugin also allows a user to directly query a configured Prometheus
instance. The Elasticsearch plugin allows a user to define queries
within the Application CR. The retrieved logs are then shown in the
corresponding plugin tab. The Elasticsearch plugin also allows to
directly query an Elasticsearch instance.

This commit introduces a new plugin system for kobs. The new plugin
system can be used to extend the functionality of kobs. Each plugin is
described by his own ".proto" file. The plugin can then be registered
in the "pkg/api/plugins/plugins/plugins.go" file. The frontend
components must be registered in the "app/src/utils/plugins.tsx" file.
Each plugin must define two React components: One component is
responsible for directly using the plugin. THe other component allows
the usage of the plugin within an application.

We also readding Prometheus and Elasticsearch as plugins (previously
known as datasources). The Prometheus plugin allows a user to define
variables and charts within the Application CR, The metrics are then
shown as charts under the corresponding plugin tab. Next to this the
plugin also allows a user to directly query a configured Prometheus
instance. The Elasticsearch plugin allows a user to define queries
within the Application CR. The retrieved logs are then shown in the
corresponding plugin tab. The Elasticsearch plugin also allows to
directly query an Elasticsearch instance.
@ricoberger ricoberger merged commit 3e9d3a6 into main Mar 27, 2021
@ricoberger ricoberger deleted the add-plugin-system branch March 27, 2021 15:58
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant