Skip to content
GitLab
    • Explore Projects Groups Snippets
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • POD POD
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 57
    • Issues 57
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 10
    • Merge requests 10
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • MemriMemri
  • PODPOD
  • Merge requests
  • !343

add overview section to plugin doc

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Eelco van der Wel requested to merge eelco/plugin-doc into dev 2 years ago
  • Overview 1
  • Commits 4
  • Pipelines 3
  • Changes 1
All threads resolved!
Compare
  • version 2
    6c33ab30
    2 years ago

  • version 1
    7bc20e39
    2 years ago

  • dev (base)

and
  • latest version
    067aaf4a
    4 commits, 2 years ago

  • version 2
    6c33ab30
    2 commits, 2 years ago

  • version 1
    7bc20e39
    1 commit, 2 years ago

1 file
+ 19
- 10

    Preferences

    File browser
    Compare changes
docs/Plugins.md
+ 19
- 10
  • View file @ 067aaf4a

  • Edit in single-file editor

  • Open in Web IDE


# About
# Overview
This documentation is part of [Pod](../README.md).
Plugins (previously also known as integrators)
are various "external" components that can enrich your data,
Plugins are various "external" components that can enrich your data,
help you import your data from external services, push some data outside if you want, etc.
This page explains how Pod runs plugins.
This page explains how Pod runs plugins, and how other components can interact with a running plugin.
## Starting a plugin
# How to trigger
Plugins are automatically started when Pod certain items are requested to be created in Pod.
This is done via [HTTP API](./HTTP_API.md).
user avatar
The pod launches a plugin when a `PluginRun` item is created by a client. This item contains the address of the docker image the Pod should launch, and an optional run configuration. Additionally, the plugin can record its `status` and `progress` in this `PluginRun` Item. The full schema of a `PluginRun` can be found in the [Memri schema](https://gitlab.memri.io/memri/schema/-/blob/dev/types/PluginRun.json).
You can also try it out locally, see section below
The [Next section](Plugins.md#manually-trigger-a-plugin-via-pod-api) describes how to manually start any plugin. However, both the [Pymemri](https://gitlab.memri.io/memri/pymemri) and [Flutter](https://gitlab.memri.io/memri/flutter-app) clients have functionalties that handle this for you. **If you just want to run a specific plugin, the readme file of a plugin contains all information to run your plugin.** For example, check out the [readme of our Whatsapp importer](https://gitlab.memri.io/memri/plugins/whatsapp-multi-device/-/blob/dev/README.md).
# Manually trigger a plugin via Pod API
## Obtaining plugin logs
For debugging and monitoring, it is useful to look at the logs of your plugin. The pod has a [Logs API](HTTP_API.md#logs-api) to obtain these logs.
## Communicating with a plugin
Some plugins have a webserver running that other parts of the stack can communicate with directly. This webserver is used for [Plugin triggers](PluginTriggering.md), and developers can add their own endpoints as well. The address of a plugin can be found in the `authUrl` property of the `PluginRun`
## Inspecting imported data
When running a plugin, you might want to inspect what data are imported to your Pod. To do this, you can go to the Pod explorer at https://data.memri.io/. Here you can browse all items present in your database.
# Manually start a plugin via the Pod HTTP API
During development, you can use the following script to make Pod start a new Plugin (container)
```sh
owner="$RANDOM$RANDOM$RANDOM$RANDOM" # replace with desired owner, or leave as-is for tests
@@ -44,7 +53,7 @@ curl -X POST -H "Content-Type: application/json" --insecure "http://localhost:30
This will start a container with the environment variables set as described below,
see [how are plugins started](#how-are-plugins-started).
# Manually trigger a plugin from the command line
# Manually start a plugin from the command line
TL&DR; please use other test methods for simplicity.
However, if you need to know how it works, you can read below.
0 Assignees
None
Assign to
0 Reviewers
Request review from
Labels
0
None
0
None
    Assign labels
  • Manage project labels

Milestone
No milestone
None
None
Time tracking
Lock merge request
Unlocked
2
2 participants
Aziz Berkay Yesilyurt
Eelco van der Wel
Reference:
Source branch: eelco/plugin-doc

Menu

Explore Projects Groups Snippets