diff --git a/content/shared/v3-core-get-started/_index.md b/content/shared/v3-core-get-started/_index.md index 847fd0ba0..789f8d73d 100644 --- a/content/shared/v3-core-get-started/_index.md +++ b/content/shared/v3-core-get-started/_index.md @@ -570,11 +570,6 @@ influxdb3 create distinct_cache -h ### Python plugins and the Processing engine -> [!Important] -> #### Processing engine only works with Docker -> -> The Processing engine is currently supported only in Docker x86 environments. Non-Docker support is coming soon. The engine, API, and developer experience are actively evolving and may change. Join our [Discord](https://discord.gg/9zaNCW2PRT) for updates and feedback. - The InfluxDB 3 Processing engine is an embedded Python VM for running code inside the database to process and transform data. To use the Processing engine, you create [plugins](#plugin) and [triggers](#trigger). @@ -609,11 +604,6 @@ InfluxDB 3 provides the following types of triggers: ### Test, create, and trigger plugin code -> [!Important] -> #### Processing engine only works with Docker -> -> The Processing engine is currently supported only in Docker x86 environments. Non-Docker support is coming soon. The engine, API, and developer experience are actively evolving and may change. Join our [Discord](https://discord.gg/9zaNCW2PRT) for updates and feedback. - ##### Example: Python plugin for WAL flush ```python @@ -699,10 +689,9 @@ Test your InfluxDB 3 plugin safely without affecting written data. During a plug To test a plugin, do the following: 1. Create a _plugin directory_--for example, `/path/to/.influxdb/plugins` -2. Make the plugin directory available to the Docker container (for example, using a bind mount) -3. Run the Docker command to [start the server](#start-influxdb) and include the `--plugin-dir` option with your plugin directory path. -4. Save the [preceding example code](#example-python-plugin) to a plugin file inside of the plugin directory. If you haven't yet written data to the table in the example, comment out the lines where it queries. -5. To run the test, enter the following command with the following options: +2. [Start the InfluxDB server](#start-influxdb) and include the `--plugin-dir` option with your plugin directory path. +3. Save the [preceding example code](#example-python-plugin) to a plugin file inside of the plugin directory. If you haven't yet written data to the table in the example, comment out the lines where it queries. +4. To run the test, enter the following command with the following options: - `--lp` or `--file`: The line protocol to test - Optional: `--input-arguments`: A comma-delimited list of `=` arguments for your plugin code diff --git a/content/shared/v3-core-plugins/_index.md b/content/shared/v3-core-plugins/_index.md index 6372276fd..db1e4456a 100644 --- a/content/shared/v3-core-plugins/_index.md +++ b/content/shared/v3-core-plugins/_index.md @@ -1,7 +1,3 @@ -> [!Important] -> #### Processing engine only works with Docker -> -> The Processing engine is currently supported only in Docker x86 environments. Non-Docker support is coming soon. The engine, API, and developer experience are actively evolving and may change. Join our [Discord](https://discord.gg/9zaNCW2PRT) for updates and feedback. Use the {{% product-name %}} Processing engine to run code and perform tasks for different database events. @@ -35,6 +31,7 @@ The Processing engine provides four types of plugins and triggers--each type cor - **On Request**: Bound to the HTTP API `/api/v3/engine/` endpoint and triggered by a GET or POST request to the endpoint. ## Activate the Processing engine + To enable the Processing engine, start the {{% product-name %}} server with the `--plugin-dir` option and a path to your plugins directory (it doesn't need to exist yet)--for example: ```bash @@ -351,6 +348,7 @@ def process_scheduled_call(influxdb3_local, time, args=None): ``` ### Schedule Trigger Configuration + Schedule plugins are set with a `trigger-spec` of `schedule:` or `every:`. The `args` parameter can be used to pass configuration to the plugin. For example, if we wanted to use the system-metrics example from the Github repo and have it collect every 10 seconds we could use the following trigger definition: ```shell @@ -361,6 +359,7 @@ influxdb3 create trigger \ ``` ## On Request Plugin + On Request plugins are triggered by a request to a specific endpoint under `/api/v3/engine`. The plugin will receive the local API, query parameters `Dict[str, str]`, request headers `Dict[str, str]`, request body (as bytes), and any arguments passed in the trigger definition. Here's an example of a simple On Request plugin: ```python @@ -387,6 +386,7 @@ def process_request(influxdb3_local, query_parameters, request_headers, request_ ``` ### On Request Trigger Configuration + On Request plugins are set with a `trigger-spec` of `request:`. The `args` parameter can be used to pass configuration to the plugin. For example, if we wanted the above plugin to run on the endpoint `/api/v3/engine/my_plugin`, we would use `request:my_plugin` as the `trigger-spec`. Trigger specs must be unique across all configured plugins, regardless of which database they are tied to, given the path is the same. Here's an example to create a request trigger tied to the "hello-world' path using a plugin in the plugin-dir: diff --git a/content/shared/v3-enterprise-get-started/_index.md b/content/shared/v3-enterprise-get-started/_index.md index 9a68ddf7f..800bc270f 100644 --- a/content/shared/v3-enterprise-get-started/_index.md +++ b/content/shared/v3-enterprise-get-started/_index.md @@ -560,11 +560,6 @@ influxdb3 create distinct_cache -h ### Python plugins and the Processing engine -> [!Important] -> #### Processing engine only works with Docker -> -> The Processing engine is currently supported only in Docker x86 environments. Non-Docker support is coming soon. The engine, API, and developer experience are actively evolving and may change. Join our [Discord](https://discord.gg/9zaNCW2PRT) for updates and feedback. - The InfluxDB 3 Processing engine is an embedded Python VM for running code inside the database to process and transform data. To use the Processing engine, you create [plugins](#plugin) and [triggers](#trigger). @@ -599,11 +594,6 @@ InfluxDB 3 provides the following types of triggers: ### Test, create, and trigger plugin code -> [!Important] -> #### Processing engine only works with Docker -> -> The Processing engine is currently supported only in Docker x86 environments. Non-Docker support is coming soon. The engine, API, and developer experience are actively evolving and may change. Join our [Discord](https://discord.gg/9zaNCW2PRT) for updates and feedback. - ##### Example: Python plugin for WAL flush ```python @@ -689,10 +679,9 @@ Test your InfluxDB 3 plugin safely without affecting written data. During a plug To test a plugin, do the following: 1. Create a _plugin directory_--for example, `/path/to/.influxdb/plugins` -2. Make the plugin directory available to the Docker container (for example, using a bind mount) -3. Run the Docker command to [start the server](#start-influxdb) and include the `--plugin-dir` option with your plugin directory path. -4. Save the [preceding example code](#example-python-plugin) to a plugin file inside of the plugin directory. If you haven't yet written data to the table in the example, comment out the lines where it queries. -5. To run the test, enter the following command with the following options: +2. [Start the InfluxDB server](#start-influxdb) and include the `--plugin-dir` option with your plugin directory path. +3. Save the [preceding example code](#example-python-plugin) to a plugin file inside of the plugin directory. If you haven't yet written data to the table in the example, comment out the lines where it queries. +4. To run the test, enter the following command with the following options: - `--lp` or `--file`: The line protocol to test - Optional: `--input-arguments`: A comma-delimited list of `=` arguments for your plugin code