commit
5b33042fab
|
@ -2,11 +2,11 @@
|
|||
applyTo: "content/**/*.md, layouts/**/*.html"
|
||||
---
|
||||
|
||||
# GitHub Copilot Instructions for InfluxData Documentation
|
||||
# Contributing instructions for InfluxData Documentation
|
||||
|
||||
## Purpose and scope
|
||||
|
||||
GitHub Copilot should help document InfluxData products
|
||||
Help document InfluxData products
|
||||
by creating clear, accurate technical content with proper
|
||||
code examples, frontmatter, shortcodes, and formatting.
|
||||
|
||||
|
@ -375,6 +375,9 @@ list_query_example:# Code examples included with article descriptions in childre
|
|||
# References to examples in data/query_examples
|
||||
canonical: # Path to canonical page, overrides auto-gen'd canonical URL
|
||||
v2: # Path to v2 equivalent page
|
||||
alt_links: # Alternate pages in other products/versions for cross-product navigation
|
||||
cloud-dedicated: /influxdb3/cloud-dedicated/path/to/page/
|
||||
core: /influxdb3/core/path/to/page/
|
||||
prepend: # Prepend markdown content to an article (especially powerful with cascade)
|
||||
block: # (Optional) Wrap content in a block style (note, warn, cloud)
|
||||
content: # Content to prepend to article
|
||||
|
@ -466,6 +469,29 @@ add the following frontmatter to the 1.x page:
|
|||
v2: /influxdb/v2.0/get-started/
|
||||
```
|
||||
|
||||
### Alternative links for cross-product navigation
|
||||
|
||||
Use the `alt_links` frontmatter to specify equivalent pages in other InfluxDB products,
|
||||
for example, when a page exists at a different path in a different version or if
|
||||
the feature doesn't exist in that product.
|
||||
This enables the product switcher to navigate users to the corresponding page when they
|
||||
switch between products. If a page doesn't exist in another product (for example, an
|
||||
Enterprise-only feature), point to the nearest parent page if relevant.
|
||||
|
||||
```yaml
|
||||
alt_links:
|
||||
cloud-dedicated: /influxdb3/cloud-dedicated/admin/tokens/create-token/
|
||||
cloud-serverless: /influxdb3/cloud-serverless/admin/tokens/create-token/
|
||||
core: /influxdb3/core/reference/cli/influxdb3/update/ # Points to parent if exact page doesn't exist
|
||||
```
|
||||
|
||||
Supported product keys for InfluxDB 3:
|
||||
- `core`
|
||||
- `enterprise`
|
||||
- `cloud-serverless`
|
||||
- `cloud-dedicated`
|
||||
- `clustered`
|
||||
|
||||
### Prepend and append content to a page
|
||||
|
||||
Use the `prepend` and `append` frontmatter to add content to the top or bottom of a page.
|
||||
|
|
|
@ -363,6 +363,9 @@ list_query_example:# Code examples included with article descriptions in childre
|
|||
# References to examples in data/query_examples
|
||||
canonical: # Path to canonical page, overrides auto-gen'd canonical URL
|
||||
v2: # Path to v2 equivalent page
|
||||
alt_links: # Alternate pages in other products/versions for cross-product navigation
|
||||
cloud-dedicated: /influxdb3/cloud-dedicated/path/to/page/
|
||||
core: /influxdb3/core/path/to/page/
|
||||
prepend: # Prepend markdown content to an article (especially powerful with cascade)
|
||||
block: # (Optional) Wrap content in a block style (note, warn, cloud)
|
||||
content: # Content to prepend to article
|
||||
|
@ -454,6 +457,29 @@ add the following frontmatter to the 1.x page:
|
|||
v2: /influxdb/v2.0/get-started/
|
||||
```
|
||||
|
||||
### Alternative links for cross-product navigation
|
||||
|
||||
Use the `alt_links` frontmatter to specify equivalent pages in other InfluxDB products,
|
||||
for example, when a page exists at a different path in a different version or if
|
||||
the feature doesn't exist in that product.
|
||||
This enables the product switcher to navigate users to the corresponding page when they
|
||||
switch between products. If a page doesn't exist in another product (for example, an
|
||||
Enterprise-only feature), point to the nearest parent page if relevant.
|
||||
|
||||
```yaml
|
||||
alt_links:
|
||||
cloud-dedicated: /influxdb3/cloud-dedicated/admin/tokens/create-token/
|
||||
cloud-serverless: /influxdb3/cloud-serverless/admin/tokens/create-token/
|
||||
core: /influxdb3/core/reference/cli/influxdb3/update/ # Points to parent if exact page doesn't exist
|
||||
```
|
||||
|
||||
Supported product keys for InfluxDB 3:
|
||||
- `core`
|
||||
- `enterprise`
|
||||
- `cloud-serverless`
|
||||
- `cloud-dedicated`
|
||||
- `clustered`
|
||||
|
||||
### Prepend and append content to a page
|
||||
|
||||
Use the `prepend` and `append` frontmatter to add content to the top or bottom of a page.
|
||||
|
|
|
@ -922,9 +922,25 @@ paths:
|
|||
summary: Delete a database
|
||||
description: |
|
||||
Soft deletes a database.
|
||||
The database is scheduled for deletion and unavailable for querying.
|
||||
The database is scheduled for deletion and unavailable for querying.
|
||||
Use the `hard_delete_at` parameter to schedule a hard deletion.
|
||||
parameters:
|
||||
- $ref: '#/components/parameters/db'
|
||||
- name: hard_delete_at
|
||||
in: query
|
||||
required: false
|
||||
schema:
|
||||
type: string
|
||||
format: date-time
|
||||
description: |
|
||||
Schedule the database for hard deletion at the specified time.
|
||||
If not provided, the database will be soft deleted.
|
||||
Use ISO 8601 date-time format (for example, "2025-12-31T23:59:59Z").
|
||||
|
||||
#### Deleting a database cannot be undone
|
||||
|
||||
Deleting a database is a destructive action.
|
||||
Once a database is deleted, data stored in that database cannot be recovered.
|
||||
responses:
|
||||
'200':
|
||||
description: Success. Database deleted.
|
||||
|
@ -961,7 +977,13 @@ paths:
|
|||
summary: Delete a table
|
||||
description: |
|
||||
Soft deletes a table.
|
||||
The table is scheduled for deletion and unavailable for querying.
|
||||
The table is scheduled for deletion and unavailable for querying.
|
||||
Use the `hard_delete_at` parameter to schedule a hard deletion.
|
||||
|
||||
#### Deleting a table cannot be undone
|
||||
|
||||
Deleting a table is a destructive action.
|
||||
Once a table is deleted, data stored in that table cannot be recovered.
|
||||
parameters:
|
||||
- $ref: '#/components/parameters/db'
|
||||
- name: table
|
||||
|
@ -969,6 +991,16 @@ paths:
|
|||
required: true
|
||||
schema:
|
||||
type: string
|
||||
- name: hard_delete_at
|
||||
in: query
|
||||
required: false
|
||||
schema:
|
||||
type: string
|
||||
format: date-time
|
||||
description: |
|
||||
Schedule the table for hard deletion at the specified time.
|
||||
If not provided, the table will be soft deleted.
|
||||
Use ISO 8601 format (for example, "2025-12-31T23:59:59Z").
|
||||
responses:
|
||||
'200':
|
||||
description: Success (no content). The table has been deleted.
|
||||
|
@ -1078,7 +1110,7 @@ paths:
|
|||
In `"cron:CRON_EXPRESSION"`, `CRON_EXPRESSION` uses extended 6-field cron format.
|
||||
The cron expression `0 0 6 * * 1-5` means the trigger will run at 6:00 AM every weekday (Monday to Friday).
|
||||
value:
|
||||
db: DATABASE_NAME
|
||||
db: mydb
|
||||
plugin_filename: schedule.py
|
||||
trigger_name: schedule_cron_trigger
|
||||
trigger_specification: cron:0 0 6 * * 1-5
|
||||
|
@ -1136,7 +1168,7 @@ paths:
|
|||
db: mydb
|
||||
plugin_filename: request.py
|
||||
trigger_name: hello_world_trigger
|
||||
trigger_specification: path:hello-world
|
||||
trigger_specification: request:hello-world
|
||||
cron_friday_afternoon:
|
||||
summary: Cron trigger for Friday afternoons
|
||||
description: |
|
||||
|
@ -1365,16 +1397,16 @@ paths:
|
|||
description: Plugin not enabled.
|
||||
tags:
|
||||
- Processing engine
|
||||
/api/v3/engine/{plugin_path}:
|
||||
/api/v3/engine/{request_path}:
|
||||
parameters:
|
||||
- name: plugin_path
|
||||
- name: request_path
|
||||
description: |
|
||||
The path configured in the request trigger specification "path:<plugin_path>"` for the plugin.
|
||||
The path configured in the request trigger specification for the plugin.
|
||||
|
||||
For example, if you define a trigger with the following:
|
||||
|
||||
```json
|
||||
trigger-spec: "path:hello-world"
|
||||
trigger_specification: "request:hello-world"
|
||||
```
|
||||
|
||||
then, the HTTP API exposes the following plugin endpoint:
|
||||
|
@ -1390,7 +1422,7 @@ paths:
|
|||
operationId: GetProcessingEnginePluginRequest
|
||||
summary: On Request processing engine plugin request
|
||||
description: |
|
||||
Executes the On Request processing engine plugin specified in `<plugin_path>`.
|
||||
Executes the On Request processing engine plugin specified in the trigger's `plugin_filename`.
|
||||
The request can include request headers, query string parameters, and a request body, which InfluxDB passes to the plugin.
|
||||
|
||||
An On Request plugin implements the following signature:
|
||||
|
@ -1417,7 +1449,7 @@ paths:
|
|||
operationId: PostProcessingEnginePluginRequest
|
||||
summary: On Request processing engine plugin request
|
||||
description: |
|
||||
Executes the On Request processing engine plugin specified in `<plugin_path>`.
|
||||
Executes the On Request processing engine plugin specified in the trigger's `plugin_filename`.
|
||||
The request can include request headers, query string parameters, and a request body, which InfluxDB passes to the plugin.
|
||||
|
||||
An On Request plugin implements the following signature:
|
||||
|
@ -1868,7 +1900,7 @@ components:
|
|||
`schedule.py` or `endpoints/report.py`.
|
||||
The path can be absolute or relative to the `--plugins-dir` directory configured when starting InfluxDB 3.
|
||||
|
||||
The plugin file must implement the trigger interface associated with the trigger's specification (`trigger_spec`).
|
||||
The plugin file must implement the trigger interface associated with the trigger's specification.
|
||||
trigger_name:
|
||||
type: string
|
||||
trigger_specification:
|
||||
|
@ -1911,12 +1943,12 @@ components:
|
|||
- `table:TABLE_NAME` - Triggers on write events to a specific table
|
||||
|
||||
### On-demand triggers
|
||||
Format: `path:ENDPOINT_NAME`
|
||||
Format: `request:REQUEST_PATH`
|
||||
|
||||
Creates an HTTP endpoint `/api/v3/engine/ENDPOINT_NAME` for manual invocation:
|
||||
- `path:hello-world` - Creates endpoint `/api/v3/engine/hello-world`
|
||||
- `path:data-export` - Creates endpoint `/api/v3/engine/data-export`
|
||||
pattern: ^(cron:[0-9 *,/-]+|every:[0-9]+[smhd]|all_tables|table:[a-zA-Z_][a-zA-Z0-9_]*|path:[a-zA-Z0-9_-]+)$
|
||||
Creates an HTTP endpoint `/api/v3/engine/REQUEST_PATH` for manual invocation:
|
||||
- `request:hello-world` - Creates endpoint `/api/v3/engine/hello-world`
|
||||
- `request:data-export` - Creates endpoint `/api/v3/engine/data-export`
|
||||
pattern: ^(cron:[0-9 *,/-]+|every:[0-9]+[smhd]|all_tables|table:[a-zA-Z_][a-zA-Z0-9_]*|request:[a-zA-Z0-9_-]+)$
|
||||
example: cron:0 0 6 * * 1-5
|
||||
trigger_arguments:
|
||||
type: object
|
||||
|
@ -2013,6 +2045,65 @@ components:
|
|||
- m
|
||||
- h
|
||||
type: string
|
||||
UpdateDatabaseRequest:
|
||||
type: object
|
||||
properties:
|
||||
retention_period:
|
||||
type: string
|
||||
description: |
|
||||
The retention period for the database. Specifies how long data should be retained.
|
||||
Use duration format (for example, "1d", "1h", "30m", "7d").
|
||||
example: "7d"
|
||||
description: Request schema for updating database configuration.
|
||||
UpdateTableRequest:
|
||||
type: object
|
||||
properties:
|
||||
db:
|
||||
type: string
|
||||
description: The name of the database containing the table.
|
||||
table:
|
||||
type: string
|
||||
description: The name of the table to update.
|
||||
retention_period:
|
||||
type: string
|
||||
description: |
|
||||
The retention period for the table. Specifies how long data in this table should be retained.
|
||||
Use duration format (for example, "1d", "1h", "30m", "7d").
|
||||
example: "30d"
|
||||
required:
|
||||
- db
|
||||
- table
|
||||
description: Request schema for updating table configuration.
|
||||
LicenseResponse:
|
||||
type: object
|
||||
properties:
|
||||
license_type:
|
||||
type: string
|
||||
description: The type of license (for example, "enterprise", "trial").
|
||||
example: "enterprise"
|
||||
expires_at:
|
||||
type: string
|
||||
format: date-time
|
||||
description: The expiration date of the license in ISO 8601 format.
|
||||
example: "2025-12-31T23:59:59Z"
|
||||
features:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
description: List of features enabled by the license.
|
||||
example:
|
||||
- "clustering"
|
||||
- "processing_engine"
|
||||
- "advanced_auth"
|
||||
status:
|
||||
type: string
|
||||
enum:
|
||||
- "active"
|
||||
- "expired"
|
||||
- "invalid"
|
||||
description: The current status of the license.
|
||||
example: "active"
|
||||
description: Response schema for license information.
|
||||
responses:
|
||||
Unauthorized:
|
||||
description: Unauthorized access.
|
||||
|
|
|
@ -922,9 +922,25 @@ paths:
|
|||
summary: Delete a database
|
||||
description: |
|
||||
Soft deletes a database.
|
||||
The database is scheduled for deletion and unavailable for querying.
|
||||
The database is scheduled for deletion and unavailable for querying.
|
||||
Use the `hard_delete_at` parameter to schedule a hard deletion.
|
||||
parameters:
|
||||
- $ref: '#/components/parameters/db'
|
||||
- name: hard_delete_at
|
||||
in: query
|
||||
required: false
|
||||
schema:
|
||||
type: string
|
||||
format: date-time
|
||||
description: |
|
||||
Schedule the database for hard deletion at the specified time.
|
||||
If not provided, the database will be soft deleted.
|
||||
Use ISO 8601 date-time format (for example, "2025-12-31T23:59:59Z").
|
||||
|
||||
#### Deleting a database cannot be undone
|
||||
|
||||
Deleting a database is a destructive action.
|
||||
Once a database is deleted, data stored in that database cannot be recovered.
|
||||
responses:
|
||||
'200':
|
||||
description: Success. Database deleted.
|
||||
|
@ -961,7 +977,13 @@ paths:
|
|||
summary: Delete a table
|
||||
description: |
|
||||
Soft deletes a table.
|
||||
The table is scheduled for deletion and unavailable for querying.
|
||||
The table is scheduled for deletion and unavailable for querying.
|
||||
Use the `hard_delete_at` parameter to schedule a hard deletion.
|
||||
|
||||
#### Deleting a table cannot be undone
|
||||
|
||||
Deleting a table is a destructive action.
|
||||
Once a table is deleted, data stored in that table cannot be recovered.
|
||||
parameters:
|
||||
- $ref: '#/components/parameters/db'
|
||||
- name: table
|
||||
|
@ -969,6 +991,16 @@ paths:
|
|||
required: true
|
||||
schema:
|
||||
type: string
|
||||
- name: hard_delete_at
|
||||
in: query
|
||||
required: false
|
||||
schema:
|
||||
type: string
|
||||
format: date-time
|
||||
description: |
|
||||
Schedule the table for hard deletion at the specified time.
|
||||
If not provided, the table will be soft deleted.
|
||||
Use ISO 8601 format (for example, "2025-12-31T23:59:59Z").
|
||||
responses:
|
||||
'200':
|
||||
description: Success (no content). The table has been deleted.
|
||||
|
@ -978,6 +1010,77 @@ paths:
|
|||
description: Table not found.
|
||||
tags:
|
||||
- Table
|
||||
patch:
|
||||
operationId: PatchConfigureTable
|
||||
summary: Update a table
|
||||
description: |
|
||||
Updates table configuration, such as retention period.
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/UpdateTableRequest'
|
||||
responses:
|
||||
'200':
|
||||
description: Success. The table has been updated.
|
||||
'400':
|
||||
description: Bad request.
|
||||
'401':
|
||||
$ref: '#/components/responses/Unauthorized'
|
||||
'404':
|
||||
description: Table not found.
|
||||
tags:
|
||||
- Table
|
||||
/api/v3/configure/database/{db}:
|
||||
patch:
|
||||
operationId: PatchConfigureDatabase
|
||||
summary: Update a database
|
||||
description: |
|
||||
Updates database configuration, such as retention period.
|
||||
parameters:
|
||||
- name: db
|
||||
in: path
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
description: The name of the database to update.
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/UpdateDatabaseRequest'
|
||||
responses:
|
||||
'200':
|
||||
description: Success. The database has been updated.
|
||||
'400':
|
||||
description: Bad request.
|
||||
'401':
|
||||
$ref: '#/components/responses/Unauthorized'
|
||||
'404':
|
||||
description: Database not found.
|
||||
tags:
|
||||
- Database
|
||||
/api/v3/show/license:
|
||||
get:
|
||||
operationId: GetShowLicense
|
||||
summary: Show license information
|
||||
description: |
|
||||
Retrieves information about the current InfluxDB 3 Enterprise license.
|
||||
responses:
|
||||
'200':
|
||||
description: Success. The response body contains license information.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/LicenseResponse'
|
||||
'401':
|
||||
$ref: '#/components/responses/Unauthorized'
|
||||
'403':
|
||||
description: Access denied.
|
||||
tags:
|
||||
- Server information
|
||||
/api/v3/configure/distinct_cache:
|
||||
post:
|
||||
operationId: PostConfigureDistinctCache
|
||||
|
@ -1136,7 +1239,8 @@ paths:
|
|||
db: mydb
|
||||
plugin_filename: request.py
|
||||
trigger_name: hello_world_trigger
|
||||
trigger_specification: path:hello-world
|
||||
# trigger_specification: "request:hello-world" - For 3.2.1 (issue#6171)
|
||||
trigger_specification: {"request_path": {"path": "hello-world"}}
|
||||
cron_friday_afternoon:
|
||||
summary: Cron trigger for Friday afternoons
|
||||
description: |
|
||||
|
@ -1365,23 +1469,26 @@ paths:
|
|||
description: Plugin not enabled.
|
||||
tags:
|
||||
- Processing engine
|
||||
/api/v3/engine/{plugin_path}:
|
||||
/api/v3/engine/{request_path}:
|
||||
parameters:
|
||||
- name: plugin_path
|
||||
- name: request_path
|
||||
description: |
|
||||
The path configured in the request trigger specification "path:<plugin_path>"` for the plugin.
|
||||
The path configured in the request trigger specification for the plugin.
|
||||
|
||||
For example, if you define a trigger with the following:
|
||||
|
||||
```json
|
||||
trigger-spec: "path:hello-world"
|
||||
trigger_specification: {"request_path": {"path": "hello-world"}}
|
||||
```
|
||||
|
||||
|
||||
then, the HTTP API exposes the following plugin endpoint:
|
||||
|
||||
```
|
||||
<INFLUXDB3_HOST>/api/v3/engine/hello-world
|
||||
```
|
||||
|
||||
***Note:*** Currently, due to a bug in InfluxDB 3 Enterprise, the request trigger specification is different from Core.
|
||||
|
||||
in: path
|
||||
required: true
|
||||
schema:
|
||||
|
@ -1390,7 +1497,7 @@ paths:
|
|||
operationId: GetProcessingEnginePluginRequest
|
||||
summary: On Request processing engine plugin request
|
||||
description: |
|
||||
Executes the On Request processing engine plugin specified in `<plugin_path>`.
|
||||
Executes the On Request processing engine plugin specified in the trigger's `plugin_filename`.
|
||||
The request can include request headers, query string parameters, and a request body, which InfluxDB passes to the plugin.
|
||||
|
||||
An On Request plugin implements the following signature:
|
||||
|
@ -1417,7 +1524,7 @@ paths:
|
|||
operationId: PostProcessingEnginePluginRequest
|
||||
summary: On Request processing engine plugin request
|
||||
description: |
|
||||
Executes the On Request processing engine plugin specified in `<plugin_path>`.
|
||||
Executes the On Request processing engine plugin specified in the trigger's `plugin_filename`.
|
||||
The request can include request headers, query string parameters, and a request body, which InfluxDB passes to the plugin.
|
||||
|
||||
An On Request plugin implements the following signature:
|
||||
|
@ -1812,6 +1919,16 @@ components:
|
|||
properties:
|
||||
db:
|
||||
type: string
|
||||
pattern: '^[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]$|^[a-zA-Z0-9]$'
|
||||
description: |-
|
||||
The database name. Database names cannot contain underscores (_).
|
||||
Names must start and end with alphanumeric characters and can contain hyphens (-) in the middle.
|
||||
retention_period:
|
||||
type: string
|
||||
description: |-
|
||||
The retention period for the database. Specifies how long data should be retained.
|
||||
Use duration format (for example, "1d", "1h", "30m", "7d").
|
||||
example: "7d"
|
||||
required:
|
||||
- db
|
||||
CreateTableRequest:
|
||||
|
@ -1843,6 +1960,12 @@ components:
|
|||
required:
|
||||
- name
|
||||
- type
|
||||
retention_period:
|
||||
type: string
|
||||
description: |-
|
||||
The retention period for the table. Specifies how long data in this table should be retained.
|
||||
Use duration format (for example, "1d", "1h", "30m", "7d").
|
||||
example: "30d"
|
||||
required:
|
||||
- db
|
||||
- table
|
||||
|
@ -1929,11 +2052,10 @@ components:
|
|||
`schedule.py` or `endpoints/report.py`.
|
||||
The path can be absolute or relative to the `--plugins-dir` directory configured when starting InfluxDB 3.
|
||||
|
||||
The plugin file must implement the trigger interface associated with the trigger's specification (`trigger_spec`).
|
||||
The plugin file must implement the trigger interface associated with the trigger's specification.
|
||||
trigger_name:
|
||||
type: string
|
||||
trigger_specification:
|
||||
type: string
|
||||
description: |
|
||||
Specifies when and how the processing engine trigger should be invoked.
|
||||
|
||||
|
@ -1972,12 +2094,25 @@ components:
|
|||
- `table:TABLE_NAME` - Triggers on write events to a specific table
|
||||
|
||||
### On-demand triggers
|
||||
Format: `path:ENDPOINT_NAME`
|
||||
Format: `{"request_path": {"path": "REQUEST_PATH"}}`
|
||||
|
||||
Creates an HTTP endpoint `/api/v3/engine/ENDPOINT_NAME` for manual invocation:
|
||||
- `path:hello-world` - Creates endpoint `/api/v3/engine/hello-world`
|
||||
- `path:data-export` - Creates endpoint `/api/v3/engine/data-export`
|
||||
pattern: ^(cron:[0-9 *,/-]+|every:[0-9]+[smhd]|all_tables|table:[a-zA-Z_][a-zA-Z0-9_]*|path:[a-zA-Z0-9_-]+)$
|
||||
Creates an HTTP endpoint `/api/v3/engine/REQUEST_PATH` for manual invocation:
|
||||
- `{"request_path": {"path": "hello-world"}}` - Creates endpoint `/api/v3/engine/hello-world`
|
||||
- `{"request_path": {"path": "data-export"}}` - Creates endpoint `/api/v3/engine/data-export`
|
||||
|
||||
***Note:*** Currently, due to a bug in InfluxDB 3 Enterprise, the request trigger specification is different from Core. Use the JSON object format shown above.
|
||||
|
||||
oneOf:
|
||||
- type: string
|
||||
pattern: ^(cron:[0-9 *,/-]+|every:[0-9]+[smhd]|all_tables|table:[a-zA-Z_][a-zA-Z0-9_]*)$
|
||||
- type: object
|
||||
properties:
|
||||
request_path:
|
||||
type: object
|
||||
properties:
|
||||
path:
|
||||
type: string
|
||||
pattern: ^[a-zA-Z0-9_-]+$
|
||||
example: cron:0 0 6 * * 1-5
|
||||
trigger_arguments:
|
||||
type: object
|
||||
|
@ -2074,6 +2209,65 @@ components:
|
|||
- m
|
||||
- h
|
||||
type: string
|
||||
UpdateDatabaseRequest:
|
||||
type: object
|
||||
properties:
|
||||
retention_period:
|
||||
type: string
|
||||
description: |
|
||||
The retention period for the database. Specifies how long data should be retained.
|
||||
Use duration format (for example, "1d", "1h", "30m", "7d").
|
||||
example: "7d"
|
||||
description: Request schema for updating database configuration.
|
||||
UpdateTableRequest:
|
||||
type: object
|
||||
properties:
|
||||
db:
|
||||
type: string
|
||||
description: The name of the database containing the table.
|
||||
table:
|
||||
type: string
|
||||
description: The name of the table to update.
|
||||
retention_period:
|
||||
type: string
|
||||
description: |
|
||||
The retention period for the table. Specifies how long data in this table should be retained.
|
||||
Use duration format (for example, "1d", "1h", "30m", "7d").
|
||||
example: "30d"
|
||||
required:
|
||||
- db
|
||||
- table
|
||||
description: Request schema for updating table configuration.
|
||||
LicenseResponse:
|
||||
type: object
|
||||
properties:
|
||||
license_type:
|
||||
type: string
|
||||
description: The type of license (for example, "enterprise", "trial").
|
||||
example: "enterprise"
|
||||
expires_at:
|
||||
type: string
|
||||
format: date-time
|
||||
description: The expiration date of the license in ISO 8601 format.
|
||||
example: "2025-12-31T23:59:59Z"
|
||||
features:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
description: List of features enabled by the license.
|
||||
example:
|
||||
- "clustering"
|
||||
- "processing_engine"
|
||||
- "advanced_auth"
|
||||
status:
|
||||
type: string
|
||||
enum:
|
||||
- "active"
|
||||
- "expired"
|
||||
- "invalid"
|
||||
description: The current status of the license.
|
||||
example: "active"
|
||||
description: Response schema for license information.
|
||||
responses:
|
||||
Unauthorized:
|
||||
description: Unauthorized access.
|
||||
|
|
|
@ -97,4 +97,4 @@ blockquote {
|
|||
"blocks/important",
|
||||
"blocks/warning",
|
||||
"blocks/caution",
|
||||
"blocks/beta";
|
||||
"blocks/special-state";
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
.block.beta {
|
||||
.block.special-state {
|
||||
@include gradient($grad-burningDusk);
|
||||
padding: 4px;
|
||||
border: none;
|
||||
border-radius: 25px !important;
|
||||
|
||||
.beta-content {
|
||||
.state-content {
|
||||
background: $article-bg;
|
||||
border-radius: 21px;
|
||||
padding: calc(1.65rem - 4px) calc(2rem - 4px) calc(.1rem + 4px) calc(2rem - 4px);
|
22
compose.yaml
22
compose.yaml
|
@ -304,13 +304,21 @@ services:
|
|||
image: influxdb:3-core
|
||||
ports:
|
||||
- 8181:8181
|
||||
volumes:
|
||||
- type: bind
|
||||
source: test/influxdb3/core/data
|
||||
target: /var/lib/influxdb3/data
|
||||
- type: bind
|
||||
source: test/influxdb3/core/plugins
|
||||
target: /var/lib/influxdb3-plugins
|
||||
command:
|
||||
- influxdb3
|
||||
- serve
|
||||
- --node-id=sensors_node0
|
||||
- --node-id=node0
|
||||
- --log-filter=debug
|
||||
- --object-store=file
|
||||
- --data-dir=/var/lib/influxdb3
|
||||
- --data-dir=/var/lib/influxdb3/data
|
||||
- --plugin-dir=/var/lib/influxdb3/plugins
|
||||
influxdb3-enterprise:
|
||||
container_name: influxdb3-enterprise
|
||||
image: influxdb:3-enterprise
|
||||
|
@ -326,16 +334,16 @@ services:
|
|||
- --cluster-id=cluster0
|
||||
- --log-filter=debug
|
||||
- --object-store=file
|
||||
- --data-dir=/var/lib/influxdb3
|
||||
- --data-dir=/var/lib/influxdb3/data
|
||||
- --plugin-dir=/var/lib/influxdb3/plugins
|
||||
- --license-email=${INFLUXDB3_LICENSE_EMAIL}
|
||||
volumes:
|
||||
- type: bind
|
||||
source: docker/influxdb3/data
|
||||
target: /var/lib/influxdb3
|
||||
source: test/influxdb3/enterprise/data
|
||||
target: /var/lib/influxdb3/data
|
||||
- type: bind
|
||||
source: docker/influxdb3/plugins
|
||||
target: /var/lib/influxdb3-plugins
|
||||
source: test/influxdb3/enterprise/plugins
|
||||
target: /var/lib/influxdb3/plugins
|
||||
telegraf-pytest:
|
||||
container_name: telegraf-pytest
|
||||
image: influxdata/docs-pytest
|
||||
|
|
|
@ -12,6 +12,7 @@ influxdb3/core/tags: [databases]
|
|||
related:
|
||||
- /influxdb3/core/write-data/best-practices/schema-design/
|
||||
- /influxdb3/core/reference/cli/influxdb3/
|
||||
- /influxdb3/explorer/manage-databases/
|
||||
alt_links:
|
||||
cloud: /influxdb/cloud/admin/buckets/
|
||||
cloud_dedicated: /influxdb3/cloud-dedicated/admin/databases/
|
||||
|
|
|
@ -17,6 +17,7 @@ list_code_example: |
|
|||
{{% /code-placeholders %}}
|
||||
related:
|
||||
- /influxdb3/core/reference/cli/influxdb3/create/database/
|
||||
- /influxdb3/explorer/manage-databases/
|
||||
source: /shared/influxdb3-admin/databases/create.md
|
||||
---
|
||||
|
||||
|
|
|
@ -16,6 +16,7 @@ list_code_example: |
|
|||
{{% /code-placeholders %}}
|
||||
related:
|
||||
- /influxdb3/core/reference/cli/influxdb3/delete/database/
|
||||
- /influxdb3/explorer/manage-databases/
|
||||
source: /shared/influxdb3-admin/databases/delete.md
|
||||
---
|
||||
|
||||
|
|
|
@ -13,6 +13,7 @@ list_code_example: |
|
|||
```
|
||||
related:
|
||||
- /influxdb3/core/reference/cli/influxdb3/show/databases/
|
||||
- /influxdb3/explorer/manage-databases/
|
||||
source: /shared/influxdb3-admin/databases/list.md
|
||||
---
|
||||
|
||||
|
|
|
@ -32,6 +32,7 @@ influxdb3 [GLOBAL-OPTIONS] [COMMAND]
|
|||
| [serve](/influxdb3/core/reference/cli/influxdb3/serve/) | Run the {{% product-name %}} server |
|
||||
| [show](/influxdb3/core/reference/cli/influxdb3/show/) | List resources |
|
||||
| [test](/influxdb3/core/reference/cli/influxdb3/test/) | Test plugins |
|
||||
| [update](/influxdb3/core/reference/cli/influxdb3/update/) | Update resources |
|
||||
| [write](/influxdb3/core/reference/cli/influxdb3/write/) | Write to {{% product-name %}} |
|
||||
|
||||
## Global options
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
title: influxdb3 update
|
||||
description: >
|
||||
The `influxdb3 update` command updates resources such as databases.
|
||||
menu:
|
||||
influxdb3_core:
|
||||
parent: influxdb3
|
||||
name: influxdb3 update
|
||||
weight: 300
|
||||
source: /shared/influxdb3-cli/update/_index.md
|
||||
---
|
||||
|
||||
<!--
|
||||
// SOURCE content/shared/influxdb3-cli/update/_index.md
|
||||
-->
|
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
title: influxdb3 update database
|
||||
description: >
|
||||
The `influxdb3 update database` command updates an existing database.
|
||||
menu:
|
||||
influxdb3_core:
|
||||
parent: influxdb3 update
|
||||
name: influxdb3 update database
|
||||
weight: 400
|
||||
source: /shared/influxdb3-cli/update/database/_index.md
|
||||
---
|
||||
|
||||
<!--
|
||||
// SOURCE content/shared/influxdb3-cli/update/database/_index.md
|
||||
-->
|
|
@ -12,6 +12,7 @@ influxdb3/enterprise/tags: [databases]
|
|||
related:
|
||||
- /influxdb3/enterprise/write-data/best-practices/schema-design/
|
||||
- /influxdb3/enterprise/reference/cli/influxdb3/
|
||||
- /influxdb3/explorer/manage-databases/
|
||||
alt_links:
|
||||
cloud: /influxdb/cloud/admin/buckets/
|
||||
cloud_dedicated: /influxdb3/cloud-dedicated/admin/databases/
|
||||
|
|
|
@ -17,6 +17,7 @@ list_code_example: |
|
|||
{{% /code-placeholders %}}
|
||||
related:
|
||||
- /influxdb3/enterprise/reference/cli/influxdb3/create/database/
|
||||
- /influxdb3/explorer/manage-databases/
|
||||
source: /shared/influxdb3-admin/databases/create.md
|
||||
---
|
||||
|
||||
|
|
|
@ -16,6 +16,7 @@ list_code_example: |
|
|||
{{% /code-placeholders %}}
|
||||
related:
|
||||
- /influxdb3/enterprise/reference/cli/influxdb3/delete/database/
|
||||
- /influxdb3/explorer/manage-databases/
|
||||
source: /shared/influxdb3-admin/databases/delete.md
|
||||
---
|
||||
|
||||
|
|
|
@ -13,6 +13,7 @@ list_code_example: |
|
|||
```
|
||||
related:
|
||||
- /influxdb3/enterprise/reference/cli/influxdb3/show/databases/
|
||||
- /influxdb3/explorer/manage-databases/
|
||||
source: /shared/influxdb3-admin/databases/list.md
|
||||
---
|
||||
|
||||
|
|
|
@ -6,6 +6,8 @@ menu:
|
|||
influxdb3_enterprise:
|
||||
parent: Administer InfluxDB
|
||||
weight: 202
|
||||
related:
|
||||
- /influxdb3/explorer/manage-tokens/
|
||||
source: /shared/influxdb3-admin/tokens/_index.md
|
||||
---
|
||||
|
||||
|
|
|
@ -10,6 +10,9 @@ menu:
|
|||
parent: Manage tokens
|
||||
name: Admin tokens
|
||||
weight: 101
|
||||
cascade:
|
||||
related:
|
||||
- /influxdb3/explorer/manage-tokens/
|
||||
influxdb3/enterprise/tags: [tokens]
|
||||
source: /shared/influxdb3-admin/tokens/admin/_index.md
|
||||
---
|
||||
|
|
|
@ -32,6 +32,7 @@ influxdb3 [GLOBAL-OPTIONS] [COMMAND]
|
|||
| [serve](/influxdb3/enterprise/reference/cli/influxdb3/serve/) | Run the {{% product-name %}} server |
|
||||
| [show](/influxdb3/enterprise/reference/cli/influxdb3/show/) | List resources |
|
||||
| [test](/influxdb3/enterprise/reference/cli/influxdb3/test/) | Test plugins |
|
||||
| [update](/influxdb3/enterprise/reference/cli/influxdb3/update/) | Update resources |
|
||||
| [write](/influxdb3/enterprise/reference/cli/influxdb3/write/) | Write to {{% product-name %}} |
|
||||
|
||||
## Global options
|
||||
|
|
|
@ -0,0 +1,88 @@
|
|||
---
|
||||
title: influxdb3 show license
|
||||
description: >
|
||||
The `influxdb3 show license` command displays license information for your
|
||||
InfluxDB 3 Enterprise server.
|
||||
menu:
|
||||
influxdb3_enterprise:
|
||||
parent: influxdb3 show
|
||||
name: influxdb3 show license
|
||||
weight: 300
|
||||
---
|
||||
|
||||
The `influxdb3 show license` command displays license information for your {{< product-name >}} instance.
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
<!--pytest.mark.skip-->
|
||||
|
||||
```bash
|
||||
influxdb3 show license [OPTIONS]
|
||||
```
|
||||
|
||||
## Options
|
||||
|
||||
| Option | | Description |
|
||||
| :----- | :----------- | :--------------------------------------------------------------------------------------- |
|
||||
| `-H` | `--host` | Host URL of the running {{< product-name >}} server (default is `http://127.0.0.1:8181`) |
|
||||
| | `--cluster-id` | _({{< req >}})_ Cluster identifier |
|
||||
| | `--node-id` | _({{< req >}})_ Node identifier |
|
||||
| | `--object-store` | _({{< req >}})_ Object store type (file, memory, s3, gcs, azure) |
|
||||
| | `--token` | Authentication token |
|
||||
| | `--tls-ca` | Path to a custom TLS certificate authority (for testing or self-signed certificates) |
|
||||
| `-h` | `--help` | Print help information |
|
||||
| | `--help-all` | Print detailed help information |
|
||||
|
||||
> [!Note]
|
||||
> **CLI help documentation bug in v3.2.0**
|
||||
>
|
||||
> The `influxdb3 show license --help` output in v3.2.0 does not display the required `--object-store`, `--cluster-id`, and `--node-id` options and related object store configuration options.
|
||||
> This command requires object store configuration and cluster/node identification to function properly.
|
||||
|
||||
### Additional object store options
|
||||
|
||||
Depending on the `--object-store` type specified, additional configuration options may be required:
|
||||
|
||||
- **S3**: AWS credentials and bucket configuration
|
||||
- **GCS**: Google Cloud credentials and bucket configuration
|
||||
- **Azure**: Azure credentials and container configuration
|
||||
- **File**: Local file system path configuration
|
||||
|
||||
### Option environment variables
|
||||
|
||||
You can use the following environment variables to set command options:
|
||||
|
||||
| Environment Variable | Option |
|
||||
| :------------------------ | :----------- |
|
||||
| `INFLUXDB3_HOST_URL` | `--host` |
|
||||
| `INFLUXDB3_AUTH_TOKEN` | `--token` |
|
||||
|
||||
## Examples
|
||||
|
||||
### Display license information with file object store
|
||||
|
||||
{{% code-placeholders "AUTH_TOKEN|CLUSTER_ID|NODE_ID" %}}
|
||||
|
||||
<!--pytest.mark.skip-->
|
||||
|
||||
```bash
|
||||
influxdb3 show license \
|
||||
--cluster-id CLUSTER_ID \
|
||||
--node-id NODE_ID \
|
||||
--object-store file \
|
||||
--token AUTH_TOKEN
|
||||
```
|
||||
|
||||
{{% /code-placeholders %}}
|
||||
|
||||
In the example above, replace the following:
|
||||
|
||||
- {{% code-placeholder-key %}}`AUTH_TOKEN`{{% /code-placeholder-key %}}:
|
||||
Authentication token
|
||||
- {{% code-placeholder-key %}}`CLUSTER_ID`{{% /code-placeholder-key %}}:
|
||||
Your cluster identifier
|
||||
- {{% code-placeholder-key %}}`NODE_ID`{{% /code-placeholder-key %}}:
|
||||
Your node identifier
|
||||
|
||||
The command displays information about your Enterprise license, including license type, expiration date, and usage limits.
|
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
title: influxdb3 update
|
||||
description: >
|
||||
The `influxdb3 update` command updates resources such as databases and tables.
|
||||
menu:
|
||||
influxdb3_enterprise:
|
||||
parent: influxdb3
|
||||
name: influxdb3 update
|
||||
weight: 300
|
||||
source: /shared/influxdb3-cli/update/_index.md
|
||||
---
|
||||
|
||||
<!--
|
||||
// SOURCE content/shared/influxdb3-cli/update/_index.md
|
||||
-->
|
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
title: influxdb3 update database
|
||||
description: >
|
||||
The `influxdb3 update database` command updates an existing database.
|
||||
menu:
|
||||
influxdb3_enterprise:
|
||||
parent: influxdb3 update
|
||||
name: influxdb3 update database
|
||||
weight: 400
|
||||
source: /shared/influxdb3-cli/update/database/_index.md
|
||||
---
|
||||
|
||||
<!--
|
||||
// SOURCE content/shared/influxdb3-cli/update/database/_index.md
|
||||
-->
|
|
@ -0,0 +1,17 @@
|
|||
---
|
||||
title: influxdb3 update table
|
||||
description: >
|
||||
The `influxdb3 update table` command updates an existing table.
|
||||
menu:
|
||||
influxdb3_enterprise:
|
||||
parent: influxdb3 update
|
||||
name: influxdb3 update table
|
||||
weight: 400
|
||||
source: /shared/influxdb3-cli/update/table/_index.md
|
||||
alt_links:
|
||||
core: /influxdb3/core/reference/cli/influxdb3/update/
|
||||
---
|
||||
|
||||
<!--
|
||||
// SOURCE content/shared/influxdb3-cli/update/table/_index.md
|
||||
-->
|
|
@ -0,0 +1,132 @@
|
|||
---
|
||||
title: Get started with InfluxDB 3 Explorer
|
||||
description: >
|
||||
Learn how to use InfluxDB 3 Explorer to connect to InfluxDB 3, write data, and
|
||||
query data.
|
||||
menu:
|
||||
influxdb3_explorer:
|
||||
name: Get started
|
||||
weight: 3
|
||||
---
|
||||
|
||||
Get started with {{% product-name %}} by connecting it to an InfluxDB 3 instance,
|
||||
writing data to InfluxDB, and then querying that data. This guide walks you
|
||||
through each of those steps.
|
||||
|
||||
1. [Connect to an InfluxDB 3 server](#connect-to-an-influxdb-3-server)
|
||||
2. [Write data to InfluxDB](#write-data-to-influxdb)
|
||||
3. [Query data from InfluxDB](#query-data-from-influxdb)
|
||||
|
||||
> [!Note]
|
||||
> This guide assumes you have already [installed {{% product-name %}}](/influxdb3/explorer/install/).
|
||||
|
||||
## Connect to an InfluxDB 3 server
|
||||
|
||||
InfluxDB 3 Explorer supports the following InfluxDB 3 products:
|
||||
|
||||
- [InfluxDB 3 Core](/influxdb3/core/)
|
||||
- [InfluxDB 3 Enterprise](/influxdb3/enterprise/)
|
||||
|
||||
1. Navigate to **Configure** > **Servers**.
|
||||
2. Click **+ Connect Your First Server**.
|
||||
3. Provide the following InfluxDB 3 server information:
|
||||
|
||||
- **Server name**: A name to identify the InfluxDB 3 server you're connecting to.
|
||||
- **Server URL**: The URL used to connect to your InfluxDB 3 server.
|
||||
- Select the protocol to use (http or https).
|
||||
- Provide the host and, if necessary, the port.
|
||||
- **Token**: The authorization token to use to connect to your InfluxDB 3 server.
|
||||
We recommend using an InfluxDB 3 _admin_ token.
|
||||
|
||||
> [!Important]
|
||||
> #### Token permissions may limit Explorer functionality
|
||||
>
|
||||
> The permissions associated with the provided token determine what
|
||||
> databases you can access using this server configuration. InfluxDB 3
|
||||
> tokens with limited permissions may not be able to use some Explorer
|
||||
> functionality.
|
||||
|
||||
4. Click **Add Server**.
|
||||
|
||||
InfluxDB 3 Explorer attempts to verify the connection. If successful, Explorer
|
||||
saves the server configuration and selects it as the active server.
|
||||
|
||||
> [!Note]
|
||||
> If you already have data in your InfluxDB 3 instance, skip to
|
||||
> [Query data from InfluxDB](#query-data-from-influxdb).
|
||||
|
||||
## Write data to InfluxDB
|
||||
|
||||
{{% product-name %}} lets you write data to InfluxDB 3 and provides multiple
|
||||
options. For this getting started guide, use Explorer to write one of the
|
||||
sample data sets to InfluxDB:
|
||||
|
||||
1. Navigate to **Write Data** > **Sample/Dev Data**.
|
||||
2. Select any of the available sample data sets.
|
||||
3. Click **Write Sample Data**.
|
||||
|
||||
{{% product-name %}} creates a new database and then writes the sample data to
|
||||
the database.
|
||||
|
||||
### Other write methods
|
||||
|
||||
{{% product-name %}} provides other ways to write data to InfluxDB, including
|
||||
the following:
|
||||
|
||||
- Line protocol
|
||||
- CSV or JSON
|
||||
- InfluxDB 3 client libraries
|
||||
- Telegraf
|
||||
|
||||
## Query data from InfluxDB
|
||||
|
||||
To use {{% product-name %}} to query data from InfluxDB 3, navigate to
|
||||
**Query Data** > **Data Explorer**.
|
||||
|
||||
The _Data Explorer_ lets you explore the
|
||||
schema of your database and automatically builds SQL queries by either
|
||||
selecting columns in the _Schema Browser_ or by using _Natural Language_ with
|
||||
the {{% product-name %}} OpenAI integration.
|
||||
|
||||
For this getting started guide, use the Schema Browser to build a SQL query
|
||||
that returns data from the newly written sample data set.
|
||||
|
||||
1. On the **Data Explorer** in the **Schema** column, select the database you
|
||||
want to query from the database dropdown menu.
|
||||
Once selected, all tables in the database appear.
|
||||
2. Click the name of the table you want to query to expand and view all the
|
||||
columns in that table.
|
||||
3. Select each column you want to query.
|
||||
As you select columns in the Schema Browser, Explorer generates and updates
|
||||
an SQL query in the _Query pane_.
|
||||
4. Use the time range dropdown menu above the Query pane to select a time range
|
||||
to query. You can select one of the predefined relative time ranges, or you
|
||||
can select _Custom Range_ to define an absolute time range to query.
|
||||
5. With columns and a time range selected, click **Run Query**.
|
||||
|
||||
{{% product-name %}} runs the query and returns the results in the _Results pane_.
|
||||
The Results pane provides three view options:
|
||||
|
||||
- **Table** _(default)_: Displays raw query results in paginated table format.
|
||||
- **Line**: Displays query results in a line graph.
|
||||
- **Bar**: Displays query results in a bar graph.
|
||||
|
||||
> [!Tip]
|
||||
> SQL query results may not be ordered by `time` and Line and Bar graph
|
||||
> visualizations may behave unexpectedly. To order results by time:
|
||||
>
|
||||
> - Ensure that you query the `time` column
|
||||
> - Update the query to include an `ORDER BY time` clause.
|
||||
|
||||
Congratulations! You have successfully used {{% product-name %}} to connect to,
|
||||
write data to, and query data from an InfluxDB 3 instance.
|
||||
|
||||
## Video walkthrough
|
||||
|
||||
{{< youtube "zW2Hi1Ki4Eo" >}}
|
||||
|
||||
<!--
|
||||
## Next steps
|
||||
|
||||
TO-DO: Provide links to deeper content as we release it
|
||||
-->
|
|
@ -1,14 +0,0 @@
|
|||
---
|
||||
title: Get started using InfluxDB 3 Explorer
|
||||
description: Follow steps to get started using InfluxDB 3 Explorer.
|
||||
menu:
|
||||
influxdb3_explorer:
|
||||
name: Get started
|
||||
weight: 3
|
||||
---
|
||||
|
||||
Follow steps to get started using InfluxDB 3 Explorer.
|
||||
|
||||
{{< youtube "zW2Hi1Ki4Eo" >}}
|
||||
|
||||
<!-- {{< page-nav next="/explorer/v1/get-started/connect/" >}} -->
|
|
@ -1,12 +0,0 @@
|
|||
---
|
||||
title: Connect to a server
|
||||
description:
|
||||
Use InfluxDB 3 Explorer to connect to an InfluxDB 3 server.
|
||||
menu:
|
||||
influxdb3_explorer:
|
||||
parent: Get started
|
||||
weight: 101
|
||||
draft: true
|
||||
---
|
||||
|
||||
Use InfluxDB 3 Explorer to connect to an InfluxDB 3 server.
|
|
@ -73,7 +73,11 @@ Use [Docker](https://docker.com) to install and run **InfluxDB 3 Explorer**.
|
|||
- `$(pwd)/db:/db:rw`
|
||||
- `$(pwd)/config:/app-root/config:ro`
|
||||
- `$(pwd)/ssl:/etc/nginx/ssl:ro`
|
||||
- Any of the available [environment variables](#environment-variables)
|
||||
- Any of the available [environment variables](#environment-variables)
|
||||
|
||||
> [!Note]
|
||||
> To persist sessions across container restarts, see the detailed instructions
|
||||
> on setting the [`SESSION_SECRET_KEY` environment variable](#session_secret_key).
|
||||
|
||||
```bash
|
||||
docker run --detach \
|
||||
|
@ -114,6 +118,13 @@ To enable TLS/SSL, mount valid certificate and key files into the container:
|
|||
The nginx web server automatically uses certificate files when they are present
|
||||
in the mounted path.
|
||||
|
||||
> [!Note]
|
||||
> You can use a custom location for certificate and key files.
|
||||
> Use the [`SSL_CERT_PATH`](#ssl_cert_path) and [`SSL_KEY_PATH`](#ssl_key_path)
|
||||
> environment variables to identify the custom location.
|
||||
> Also update the SSL directory volume mount path inside the container.
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Pre-configure InfluxDB connection settings
|
||||
|
@ -191,11 +202,91 @@ If `--mode` is not set, the container defaults to query mode.
|
|||
Use the following environment variables to customize {{% product-name %}} settings
|
||||
in your container.
|
||||
|
||||
| Variable | Description | Default |
|
||||
|----------------|--------------------------------------------------|----------------------|
|
||||
| `DATABASE_URL` | Path to SQLite DB inside container | `/db/sqlite.db` |
|
||||
- [DATABASE_URL](#database_url)
|
||||
- [SESSION_SECRET_KEY](#session_secret_key)
|
||||
- [SSL_CERT_PATH](#ssl_cert_path)
|
||||
- [SSL_KEY_PATH](#ssl_key_path)
|
||||
|
||||
---
|
||||
### DATABASE_URL
|
||||
|
||||
Path to SQLite DB inside container. The default is `/db/sqlite.db`.
|
||||
|
||||
{{< expand-wrapper >}}
|
||||
{{% expand "View `DATABASE_URL` example" %}}
|
||||
<!-- pytest.mark.skip -->
|
||||
|
||||
```bash
|
||||
docker run --detach \
|
||||
# ...
|
||||
--volume $(pwd)/db:/custom/db-path:rw \
|
||||
--env DATABASE_URL=/custom/db-path/sqlite.db \
|
||||
quay.io/influxdb/influxdb3-explorer:latest
|
||||
```
|
||||
{{% /expand %}}
|
||||
{{< /expand-wrapper >}}
|
||||
|
||||
### SESSION_SECRET_KEY
|
||||
|
||||
Specifies the secret key for session management. If none is provided, Explorer
|
||||
uses a random 32-byte hex string as the session secret key.
|
||||
|
||||
{{< expand-wrapper >}}
|
||||
{{% expand "View `SESSION_SECRET_KEY` example" %}}
|
||||
<!-- pytest.mark.skip -->
|
||||
|
||||
```bash
|
||||
docker run --detach \
|
||||
# ...
|
||||
--env SESSION_SECRET_KEY=xxX0Xx000xX0XxxxX0Xx000xX0XxX00x \
|
||||
quay.io/influxdb/influxdb3-explorer:latest
|
||||
```
|
||||
{{% /expand %}}
|
||||
{{< /expand-wrapper >}}
|
||||
|
||||
> [!Important]
|
||||
> #### Always set SESSION_SECRET_KEY in production
|
||||
>
|
||||
> When you restart the container, {{% product-name %}} generates a new key if
|
||||
> not explicitly set. For production use cases, always set the `SESSION_SECRET_KEY`
|
||||
> environment variable to persist sessions across restarts.
|
||||
|
||||
### SSL_CERT_PATH
|
||||
|
||||
Defines the path to the SSL certificate file inside the container.
|
||||
Default is `/etc/nginx/ssl/cert.pem`.
|
||||
|
||||
{{< expand-wrapper >}}
|
||||
{{% expand "View `SSL_CERT_PATH` example" %}}
|
||||
<!-- pytest.mark.skip -->
|
||||
|
||||
```bash
|
||||
docker run --detach \
|
||||
# ...
|
||||
--volume $(pwd)/ssl:/custom/ssl:ro \
|
||||
--env SSL_CERT_PATH=/custom/ssl/cert.pem \
|
||||
quay.io/influxdb/influxdb3-explorer:latest
|
||||
```
|
||||
{{% /expand %}}
|
||||
{{< /expand-wrapper >}}
|
||||
|
||||
### SSL_KEY_PATH
|
||||
|
||||
Defines the path to the SSL private key file inside the container.
|
||||
Default is `/etc/nginx/ssl/key.pem`.
|
||||
|
||||
{{< expand-wrapper >}}
|
||||
{{% expand "View `SSL_KEY_PATH` example" %}}
|
||||
<!-- pytest.mark.skip -->
|
||||
|
||||
```bash
|
||||
docker run --detach \
|
||||
# ...
|
||||
--volume $(pwd)/ssl:/custom/ssl:ro \
|
||||
--env SSL_KEY_PATH=/custom/ssl/key.pem \
|
||||
quay.io/influxdb/influxdb3-explorer:latest
|
||||
```
|
||||
{{% /expand %}}
|
||||
{{< /expand-wrapper >}}
|
||||
|
||||
## Volume Reference
|
||||
|
||||
|
@ -205,8 +296,6 @@ in your container.
|
|||
| `/app-root/config` | JSON config for defaults | `./config` |
|
||||
| `/etc/nginx/ssl` | SSL certs for HTTPS | `./ssl` |
|
||||
|
||||
---
|
||||
|
||||
## Exposed Ports
|
||||
|
||||
| Port | Protocol | Purpose |
|
||||
|
|
|
@ -0,0 +1,53 @@
|
|||
---
|
||||
title: Manage databases with InfluxDB 3 Explorer
|
||||
seotitle: Manage InfluxDB databases with InfluxDB 3 Explorer
|
||||
description: >
|
||||
Use InfluxDB 3 Explorer to manage databases in an InfluxDB 3 instance.
|
||||
menu:
|
||||
influxdb3_explorer:
|
||||
name: Manage databases
|
||||
weight: 4
|
||||
related:
|
||||
- /influxdb3/core/admin/databases/, Manage databases in InfluxDB 3 Core
|
||||
- /influxdb3/enterprise/admin/databases/, Manage databases in InfluxDB 3 Enterprise
|
||||
---
|
||||
|
||||
{{% product-name %}} lets you manage databases in your InfluxDB 3 Core instance
|
||||
or InfluxDB 3 Enterprise cluster.
|
||||
|
||||
> [!Important]
|
||||
> Using {{% product-name %}} to manage a database in InfluxDB 3 requires that
|
||||
> Explorer is running in [admin mode](/influxdb3/explorer/install/#run-in-query-or-admin-mode)
|
||||
> and that the token used in the InfluxDB 3 server configuration is an
|
||||
> [admin token](/influxdb3/enterprise/admin/tokens/admin/).
|
||||
|
||||
To manage databases, navigate to **Manage Databases** in Explorer.
|
||||
This page provides a list of databases in the connected InfluxDB 3 server that
|
||||
contains the database name, retention period, and number of tables
|
||||
(which includes system tables).
|
||||
|
||||
## Create a database
|
||||
|
||||
1. On the **Manage Databases** page, click **+ Create New**.
|
||||
2. Provide a **Database name**.
|
||||
_For information about naming restrictions, see
|
||||
[InfluxDB 3 naming restrictions](/influxdb3/enterprise/admin/databases/create/#database-naming-restrictions)._
|
||||
3. _(Optional)_ Specify a **Retention Period** for the database.
|
||||
This determines how long InfluxDB retains data (based on timestamp) in the
|
||||
database before expiring and removing the data. If no retention period is
|
||||
specified, InfluxDB does not expire data in the database.
|
||||
|
||||
Set the following:
|
||||
|
||||
- **Retention Period**: The number of time units to retain data.
|
||||
- **Unit**: The unit of time to use in the retention period definition.
|
||||
|
||||
4. Click **{{< icon "check" >}} Create Database**.
|
||||
|
||||
## Delete a database
|
||||
|
||||
1. On the **Manage Databases** page, click **{{< icon "trash" >}}**.
|
||||
2. Confirm that you want to delete the database.
|
||||
|
||||
> [!Caution]
|
||||
> Deleting a database is a destructive action and cannot be undone.
|
|
@ -0,0 +1,92 @@
|
|||
---
|
||||
title: Manage InfluxDB 3 plugins with InfluxDB 3 Explorer
|
||||
description: >
|
||||
Use InfluxDB 3 Explorer to manage InfluxDB 3 processing engine plugins.
|
||||
menu:
|
||||
influxdb3_explorer:
|
||||
name: Manage InfluxDB plugins
|
||||
weight: 5
|
||||
cascade:
|
||||
related:
|
||||
- /influxdb3/core/plugins/, InfluxDB 3 Core Processing engine plugins
|
||||
- /influxdb3/enterprise/plugins/, InfluxDB 3 Enterprise Processing engine plugins
|
||||
cascade:
|
||||
prepend: |
|
||||
> [!Warning]
|
||||
> #### {{% product-name %}} plugin management is currently in beta
|
||||
>
|
||||
> The {{% product-name %}} plugin management tools and the Plugin Library are
|
||||
> currently in **beta**.
|
||||
---
|
||||
|
||||
{{% product-name %}} lets you manage plugins in your InfluxDB 3 instance or cluster.
|
||||
[InfluxDB 3 Processing engine plugins](/influxdb3/enterprise/plugins/) let you
|
||||
extend your database with custom Python code.
|
||||
Use {{% product-name %}} to manage plugins in your InfluxDB 3 instance and
|
||||
install prebuilt plugins from the _Plugin Library_.
|
||||
|
||||
Each plugin can define one or more _triggers_—rules that
|
||||
specify when the plugin should execute. Triggers are typically based on
|
||||
conditions such as data arriving in a specific table or matching certain
|
||||
criteria.
|
||||
|
||||
- **Data writes** - Process and transform data as it enters the database
|
||||
- **Scheduled events** - Run code at defined intervals or specific times
|
||||
- **HTTP requests** - Expose custom API endpoints that execute your code
|
||||
|
||||
When a trigger condition is met, InfluxDB 3 automatically runs the associated
|
||||
plugin code. This enables real-time data processing, enrichment, or alerting
|
||||
without manual intervention.
|
||||
Use the InfluxDB 3 Explorer UI to enable, disable, or configure triggers for each plugin.
|
||||
|
||||
<!-- TOC -->
|
||||
|
||||
- [View installed plugins](#view-installed-plugins)
|
||||
- [Filter installed plugins](#filter-installed-plugins)
|
||||
- [Enable or disable a plugin](#enable-or-disable-a-plugin)
|
||||
- [ View Plugin Logs](#view-plugin-logs)
|
||||
- [Delete a plugin](#delete-a-plugin)
|
||||
- [Use the Plugin Library](#use-the-plugin-library)
|
||||
|
||||
<!-- /TOC -->
|
||||
|
||||
## View installed plugins
|
||||
|
||||
To view plugins installed in your InfluxDB 3 server, navigate to
|
||||
**Manage Plugins** > **Overview**.
|
||||
|
||||
1. Navigate to the **Manage Plugins** > **Overview** section in the left sidebar.
|
||||
2. All installed plugins are listed under the _All Plugins_ tab.
|
||||
|
||||
### Filter installed plugins
|
||||
|
||||
To filter installed plugins by state, use the top tabs to filter by:
|
||||
|
||||
- **All Plugins**
|
||||
- **Running**
|
||||
- **Stopped**
|
||||
- **Errors**
|
||||
|
||||
You can also use the **search bar** to filter by plugin name.
|
||||
|
||||
## Enable or disable a plugin
|
||||
|
||||
1. In the plugin list, locate the desired plugin.
|
||||
|
||||
- **If the plugin is currently running (enabled)**, click {{< icon "pause" >}} to disable the plugin.
|
||||
- **If the plugin is currently stopped (disabled)**, click the {{< icon "play" >}} button to enable the plugin.
|
||||
|
||||
## View plugin logs
|
||||
|
||||
1. In the plugin list, locate the desired plugin.
|
||||
2. Click **Logs** to view the most recent logs output by the plugin.
|
||||
3. To view more log entries, click **View More**.
|
||||
4. To export the logs, click **Export**.
|
||||
|
||||
## Delete a plugin
|
||||
|
||||
1. In the plugin list, locate the desired plugin.
|
||||
2. Click the **{{< icon "trash" >}} button** to delete the plugin.
|
||||
3. Confirm that you want to delete the plugin.
|
||||
|
||||
{{< children hlevel="h2" >}}
|
|
@ -0,0 +1,74 @@
|
|||
---
|
||||
title: Use the Plugin Library
|
||||
description: >
|
||||
Use InfluxDB 3 Explorer Plugin Library to view and install pre-built InfluxDB
|
||||
3 processing engine plugins.
|
||||
menu:
|
||||
influxdb3_explorer:
|
||||
name: Plugin Library
|
||||
parent: Manage InfluxDB plugins
|
||||
weight: 101
|
||||
---
|
||||
|
||||
The _InfluxDB Plugin Library_ is a collection of pre-built InfluxDB 3 plugins that
|
||||
you can install in your InfluxDB 3 server. To view the Plugin library, navigate
|
||||
to **Manage Plugins** > **Plugin Library** in the left sidebar.
|
||||
|
||||
## Search the Plugin Library
|
||||
|
||||
To search for plugins in the Plugin library, submit a search term in the search bar.
|
||||
|
||||
## Install a plugin
|
||||
|
||||
1. In the **Plugin Library**, locate the plugin you want to install.
|
||||
2. Click on the plugin card to open its details.
|
||||
3. To install a plugin from {{% product-name %}} select **Install Plugin**:
|
||||
4. Provide the following:
|
||||
|
||||
- **Database**: The name of the InfluxDB 3 database to associate the
|
||||
plugin with.
|
||||
- **Trigger Name**: A unique name for the plugin and trigger combination.
|
||||
- **Trigger Type**: The trigger type. What trigger types are available
|
||||
depend on the plugin.
|
||||
|
||||
_For more information about InfluxDB 3 plugin triggers, see
|
||||
[Understand trigger types](/influxdb3/enterprise/plugins/#understand-trigger-types)._
|
||||
|
||||
Depending on the selected trigger type, provide the following:
|
||||
|
||||
- **Data Writes (All Tables)**: _no additional configuration options_.
|
||||
- **Data Writes (Single Table)**:
|
||||
- **Table Name**: The name of the table that, when written to, triggers the plugin to run.
|
||||
- **Schedule**:
|
||||
- **Frequency**: When to run the plugin using one of the following patterns:
|
||||
- `every:<duration>`: Run at specified intervals--for example:
|
||||
`every:15m`.
|
||||
- `cron:<cron-expression>`: Run on a cron schedule--for
|
||||
example: `cron:0 */12 * * *`.
|
||||
- **HTTP Endpoint**:
|
||||
- **API Endpoint**: The API endpoint name to use to trigger the plugin--for
|
||||
example: `downsample`. To trigger the plugin, you would then send
|
||||
a request to the `/api/v3/engine/downsample` endpoint of your InfluxDB
|
||||
server to trigger the plugin.
|
||||
|
||||
- **Advanced Settings**
|
||||
- **Run Asynchronously**: Execute the plugin asynchronously and do not
|
||||
wait for a response.
|
||||
- **Error Behavior**: Specify the action you want the plugin to take
|
||||
when it encounters an error:
|
||||
- **Log**: Log the error to your InfluxDB server's logs.
|
||||
- **Retry**: Retry the plugin execution.
|
||||
- **Disable**: Disable the plugin.
|
||||
|
||||
- **Arguments**: Specific arguments to pass to the Plugin.
|
||||
Plugins can have both required and optional arguments.
|
||||
|
||||
5. Click **Deploy** to install the plugin.
|
||||
|
||||
### Other plugin installation options
|
||||
|
||||
{{% product-name %}} also lets you do the following:
|
||||
|
||||
- **Download Code**: Download the plugin code to view it or modify it for your own use.
|
||||
- **Copy Install Command**: Copy the `influxdb3` CLI command you can use to
|
||||
manually install the plugin on your InfluxDB 3 server.
|
|
@ -0,0 +1,104 @@
|
|||
---
|
||||
title: Manage tokens with InfluxDB 3 Explorer
|
||||
seotitle: Manage InfluxDB tokens with InfluxDB 3 Explorer
|
||||
description: >
|
||||
Use InfluxDB 3 Explorer to manage authorization tokens for an InfluxDB 3 instance.
|
||||
menu:
|
||||
influxdb3_explorer:
|
||||
name: Manage tokens
|
||||
weight: 4
|
||||
related:
|
||||
- /influxdb3/core/admin/tokens/, Manage tokens in InfluxDB 3 Core
|
||||
- /influxdb3/enterprise/admin/tokens/, Manage tokens in InfluxDB 3 Enterprise
|
||||
---
|
||||
|
||||
{{% product-name %}} lets you manage authorization tokens for your InfluxDB 3
|
||||
Core instance or InfluxDB 3 Enterprise cluster.
|
||||
|
||||
> [!Important]
|
||||
> Using {{% product-name %}} to manage authorization tokens in InfluxDB 3 requires that
|
||||
> Explorer is running in [admin mode](/influxdb3/explorer/install/#run-in-query-or-admin-mode)
|
||||
> and that the token used in the InfluxDB 3 server configuration is an
|
||||
> [admin token](/influxdb3/enterprise/admin/tokens/admin/).
|
||||
|
||||
To manage InfluxDB authorization tokens, navigate to **Manage Tokens** in Explorer.
|
||||
This page provides a list of databases in the connected InfluxDB 3 server that
|
||||
contains the database name, retention period, and number of tables
|
||||
(which includes system tables).
|
||||
|
||||
## Create a token
|
||||
|
||||
Use {{% product-name %}} to create an admin token or a resource token
|
||||
_(Enterprise only)_ for your InfluxDB 3 instance or cluster.
|
||||
|
||||
For more information about InfluxDB tokens, see:
|
||||
|
||||
- [Manage tokens in InfluxDB 3 Core](/influxdb3/core/admin/tokens/)
|
||||
- [Manage tokens in InfluxDB 3 Enterprise](/influxdb3/enterprise/admin/tokens/)
|
||||
|
||||
{{< tabs-wrapper >}}
|
||||
{{% tabs %}}
|
||||
[Admin Token](#)
|
||||
[Resource Token _(Enterprise only)_](#)
|
||||
{{% /tabs %}}
|
||||
{{% tab-content %}}
|
||||
|
||||
<!----------------------------- BEGIN ADMIN TOKEN ----------------------------->
|
||||
|
||||
To create an _admin_ token:
|
||||
|
||||
1. On the **Manage Databases** page, click **+ Create New**.
|
||||
2. Select **Admin Token** to create an admin token.
|
||||
3. Provide a **Token Name**.
|
||||
4. Click **Create Admin Token**.
|
||||
5. Copy the generated token string and store it in a secure place.
|
||||
|
||||
<!------------------------------ END ADMIN TOKEN ------------------------------>
|
||||
|
||||
{{% /tab-content %}}
|
||||
{{% tab-content %}}
|
||||
|
||||
<!---------------------------- BEGIN RESOURCE TOKEN --------------------------->
|
||||
|
||||
To create a _resource_ token with read or write permissions for specific databases:
|
||||
|
||||
1. On the **Manage Databases** page, click **+ Create New**.
|
||||
2. Select **Database Token** to create a resource token _(InfluxDB 3 Enterprise only)_.
|
||||
3. Provide a **Token Name**.
|
||||
4. _(Optional)_ Select a **Token Expiry**.
|
||||
5. Select **Database Permissions** to assign to the token.
|
||||
|
||||
To grant the token read or write permissions on all databases, select the
|
||||
_Read_ and _Write_ column headings.
|
||||
To grant permissions for specific databases, select the checkboxes next
|
||||
to each respective database name.
|
||||
|
||||
6. Copy the generated token string and store it in a secure place.
|
||||
|
||||
<!----------------------------- END RESOURCE TOKEN ---------------------------->
|
||||
|
||||
{{% /tab-content %}}
|
||||
{{< /tabs-wrapper >}}
|
||||
|
||||
> [!Note]
|
||||
> #### Store tokens in a secure secret store
|
||||
>
|
||||
> This is the _only_ time you are able to view and copy the raw token string.
|
||||
> We recommend storing tokens in a **secure secret store**.
|
||||
|
||||
|
||||
## Delete a token
|
||||
|
||||
On the **Manage Databases** page, click the **{{< icon "trash" >}}** button
|
||||
on the row of the token you want to delete.
|
||||
|
||||
> [!Caution]
|
||||
> Deleting a token is a destructive action and cannot be undone.
|
||||
> Any clients using the deleted token will no longer be able to access your
|
||||
> InfluxDB 3 instance.
|
||||
|
||||
> [!Note]
|
||||
> #### You cannot delete the _admin token
|
||||
>
|
||||
> When using InfluxDB 3 Enterprise, the first token created in the cluster is
|
||||
> named `_admin`. This functions as the "operator" token and cannot be deleted.
|
|
@ -19,13 +19,14 @@ You can also set the database name using the `INFLUXDB3_DATABASE_NAME` environme
|
|||
|
||||
## Options
|
||||
|
||||
| Option | | Description |
|
||||
| :----- | :----------- | :--------------------------------------------------------------------------------------- |
|
||||
| `-H` | `--host` | Host URL of the running {{< product-name >}} server (default is `http://127.0.0.1:8181`) |
|
||||
| | `--token` | Authentication token |
|
||||
| | `--tls-ca` | Path to a custom TLS certificate authority (for testing or self-signed certificates) |
|
||||
| `-h` | `--help` | Print help information |
|
||||
| | `--help-all` | Print detailed help information |
|
||||
| Option | | Description |
|
||||
| :----- | :------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `-H` | `--host` | Host URL of the running {{< product-name >}} server (default is `http://127.0.0.1:8181`) |
|
||||
| | `--retention-period` | Database [retention period](/influxdb3/version/reference/glossary/#retention-period) ([duration](/influxdb3/version/reference/glossary/#duration) value, for example: `30d`, `24h`, `1h`) |
|
||||
| | `--token` | Authentication token |
|
||||
| | `--tls-ca` | Path to a custom TLS certificate authority (for testing or self-signed certificates) |
|
||||
| `-h` | `--help` | Print help information |
|
||||
| | `--help-all` | Print detailed help information |
|
||||
|
||||
### Option environment variables
|
||||
|
||||
|
@ -69,4 +70,14 @@ Flags override their associated environment variables.
|
|||
influxdb3 create database --token AUTH_TOKEN DATABASE_NAME
|
||||
```
|
||||
|
||||
### Create a database with a retention period
|
||||
|
||||
Creates a database with a specific retention period.
|
||||
|
||||
<!--pytest.mark.skip-->
|
||||
|
||||
```bash
|
||||
influxdb3 create database --retention-period 30d DATABASE_NAME
|
||||
```
|
||||
|
||||
{{% /code-placeholders %}}
|
||||
|
|
|
@ -24,6 +24,7 @@ influxdb3 create table [OPTIONS] \
|
|||
|
||||
## Options
|
||||
|
||||
{{% hide-in "enterprise" %}}
|
||||
| Option | | Description |
|
||||
| :----- | :----------- | :--------------------------------------------------------------------------------------- |
|
||||
| `-H` | `--host` | Host URL of the running {{< product-name >}} server (default is `http://127.0.0.1:8181`) |
|
||||
|
@ -34,6 +35,22 @@ influxdb3 create table [OPTIONS] \
|
|||
| | `--tls-ca` | Path to a custom TLS certificate authority (for testing or self-signed certificates) |
|
||||
| `-h` | `--help` | Print help information |
|
||||
| | `--help-all` | Print detailed help information |
|
||||
{{% /hide-in %}}
|
||||
|
||||
<!-- Using the show-in shortcode for only the retention-period option breaks the formatting in Core -->
|
||||
{{% show-in "enterprise" %}}
|
||||
| Option | | Description |
|
||||
| :----- | :------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `-H` | `--host` | Host URL of the running {{< product-name >}} server (default is `http://127.0.0.1:8181`) |
|
||||
| `-d` | `--database` | _({{< req >}})_ Name of the database to operate on |
|
||||
| | `--retention-period` | [Retention period](/influxdb3/version/reference/glossary/#retention-period) ([duration](/influxdb3/version/reference/glossary/#duration) value, for example: `30d`, `24h`, `1h`) for data in the table|
|
||||
| | `--token` | _({{< req >}})_ Authentication token |
|
||||
| | `--tags` | _({{< req >}})_ Comma-separated list of tag columns to include in the table |
|
||||
| | `--fields` | Comma-separated list of field columns and their types to include in the table |
|
||||
| | `--tls-ca` | Path to a custom TLS certificate authority (for testing or self-signed certificates) |
|
||||
| `-h` | `--help` | Print help information |
|
||||
| | `--help-all` | Print detailed help information |
|
||||
{{% /show-in %}}
|
||||
|
||||
> [!Important]
|
||||
>
|
||||
|
@ -90,6 +107,22 @@ influxdb3 create table \
|
|||
TABLE_NAME
|
||||
```
|
||||
|
||||
{{% show-in "enterprise" %}}
|
||||
### Create a table with a retention period
|
||||
|
||||
<!--pytest.mark.skip-->
|
||||
|
||||
```bash
|
||||
influxdb3 create table \
|
||||
--tags room,sensor_id \
|
||||
--fields temp:float64,hum:float64 \
|
||||
--retention-period 7d \
|
||||
--database DATABASE_NAME \
|
||||
--token AUTH_TOKEN \
|
||||
TABLE_NAME
|
||||
```
|
||||
{{% /show-in %}}
|
||||
|
||||
### Verification
|
||||
|
||||
Use the `SHOW TABLES` query to verify that the table was created successfully:
|
||||
|
@ -114,7 +147,7 @@ Example output:
|
|||
+---------------+--------------------+----------------------------+------------+
|
||||
```
|
||||
|
||||
>[!Note]
|
||||
> [!Note]
|
||||
> `SHOW TABLES` is an SQL query. It isn't supported in InfluxQL.
|
||||
|
||||
{{% /code-placeholders %}}
|
||||
|
|
|
@ -27,7 +27,7 @@ influxdb3 create trigger [OPTIONS] \
|
|||
| `-d` | `--database` | _({{< req >}})_ Name of the database to operate on |
|
||||
| | `--token` | _({{< req >}})_ Authentication token |
|
||||
| | `--plugin-filename` | _({{< req >}})_ Name of the file, stored in the server's `plugin-dir`, that contains the Python plugin code to run |
|
||||
| | `--trigger-spec` | Trigger specification--for example `table:<TABLE_NAME>` or `all_tables` |
|
||||
| | `--trigger-spec` | Trigger specification: `table:<TABLE_NAME>`, `all_tables`, `every:<DURATION>`, `cron:<EXPRESSION>`, or `request:<REQUEST_PATH>` |
|
||||
| | `--disabled` | Create the trigger in disabled state |
|
||||
| | `--tls-ca` | Path to a custom TLS certificate authority (for testing or self-signed certificates) |
|
||||
| `-h` | `--help` | Print help information |
|
||||
|
@ -113,3 +113,15 @@ influxdb3 create trigger \
|
|||
Creating a trigger in a disabled state prevents it from running immediately. You can enable it later when you're ready to activate it.
|
||||
|
||||
{{% /code-placeholders %}}
|
||||
|
||||
{{% show-in "enterprise" %}}
|
||||
> [!Warning]
|
||||
> #### Request trigger specification format differs between CLI and API
|
||||
>
|
||||
> Due to a bug in InfluxDB 3 Enterprise, the request trigger specification format differs:
|
||||
>
|
||||
> - **CLI**: `request:<REQUEST_PATH>` (same as Core CLI and API)
|
||||
> - **Enterprise API**: `{"request_path": {"path": "<REQUEST_PATH>"}}`
|
||||
>
|
||||
> See the [API reference](/influxdb3/enterprise/api/#operation/PostConfigureProcessingEngineTrigger) for examples. Use `influxdb3 show summary` to verify the actual trigger specification.
|
||||
{{% /show-in %}}
|
||||
|
|
|
@ -17,13 +17,14 @@ influxdb3 delete database [OPTIONS] <DATABASE_NAME>
|
|||
|
||||
## Options
|
||||
|
||||
| Option | | Description |
|
||||
| :----- | :----------- | :--------------------------------------------------------------------------------------- |
|
||||
| `-H` | `--host` | Host URL of the running {{< product-name >}} server (default is `http://127.0.0.1:8181`) |
|
||||
| | `--token` | Authentication token |
|
||||
| | `--tls-ca` | Path to a custom TLS certificate authority (for testing or self-signed certificates) |
|
||||
| `-h` | `--help` | Print help information |
|
||||
| | `--help-all` | Print detailed help information |
|
||||
| Option | | Description |
|
||||
| :----- | :------------ | :--------------------------------------------------------------------------------------- |
|
||||
| `-H` | `--host` | Host URL of the running {{< product-name >}} server (default is `http://127.0.0.1:8181`) |
|
||||
| | `--hard-delete` | When to hard delete data (never/now/default/timestamp). Default behavior is a soft delete that allows recovery |
|
||||
| | `--token` | Authentication token |
|
||||
| | `--tls-ca` | Path to a custom TLS certificate authority (for testing or self-signed certificates) |
|
||||
| `-h` | `--help` | Print help information |
|
||||
| | `--help-all` | Print detailed help information |
|
||||
|
||||
### Option environment variables
|
||||
|
||||
|
@ -36,8 +37,10 @@ You can use the following environment variables to set command options:
|
|||
|
||||
## Examples
|
||||
|
||||
- [Delete a database](#delete-a-new-database)
|
||||
- [Delete a database while specifying the token inline](#delete-a-new-database-while-specifying-the-token-inline)
|
||||
- [Delete a database](#delete-a-database)
|
||||
- [Delete a database while specifying the token inline](#delete-a-database-while-specifying-the-token-inline)
|
||||
- [Hard delete a database immediately](#hard-delete-a-database-immediately)
|
||||
- [Hard delete a database at a specific time](#hard-delete-a-database-at-a-specific-time)
|
||||
|
||||
In the examples below, replace the following:
|
||||
|
||||
|
@ -64,4 +67,24 @@ influxdb3 delete database DATABASE_NAME
|
|||
influxdb3 delete database --token AUTH_TOKEN DATABASE_NAME
|
||||
```
|
||||
|
||||
### Hard delete a database immediately
|
||||
|
||||
Permanently delete a database and all its data immediately without the ability to recover.
|
||||
|
||||
<!--pytest.mark.skip-->
|
||||
|
||||
```bash
|
||||
influxdb3 delete database --hard-delete now DATABASE_NAME
|
||||
```
|
||||
|
||||
### Hard delete a database at a specific time
|
||||
|
||||
Schedule a database for permanent deletion at a specific timestamp.
|
||||
|
||||
<!--pytest.mark.skip-->
|
||||
|
||||
```bash
|
||||
influxdb3 delete database --hard-delete "2024-01-01T00:00:00Z" DATABASE_NAME
|
||||
```
|
||||
|
||||
{{% /code-placeholders %}}
|
||||
|
|
|
@ -15,14 +15,15 @@ influxdb3 delete table [OPTIONS] --database <DATABASE_NAME> <TABLE_NAME>
|
|||
|
||||
## Options
|
||||
|
||||
| Option | | Description |
|
||||
| :----- | :----------- | :--------------------------------------------------------------------------------------- |
|
||||
| `-H` | `--host` | Host URL of the running {{< product-name >}} server (default is `http://127.0.0.1:8181`) |
|
||||
| `-d` | `--database` | _({{< req >}})_ Name of the database to operate on |
|
||||
| | `--token` | _({{< req >}})_ Authentication token |
|
||||
| | `--tls-ca` | Path to a custom TLS certificate authority (for testing or self-signed certificates) |
|
||||
| `-h` | `--help` | Print help information |
|
||||
| | `--help-all` | Print detailed help information |
|
||||
| Option | | Description |
|
||||
| :----- | :------------ | :--------------------------------------------------------------------------------------- |
|
||||
| `-H` | `--host` | Host URL of the running {{< product-name >}} server (default is `http://127.0.0.1:8181`) |
|
||||
| `-d` | `--database` | _({{< req >}})_ Name of the database to operate on |
|
||||
| | `--hard-delete` | When to hard delete data (never/now/default/timestamp). Default behavior is a soft delete that allows recovery |
|
||||
| | `--token` | _({{< req >}})_ Authentication token |
|
||||
| | `--tls-ca` | Path to a custom TLS certificate authority (for testing or self-signed certificates) |
|
||||
| `-h` | `--help` | Print help information |
|
||||
| | `--help-all` | Print detailed help information |
|
||||
|
||||
### Option environment variables
|
||||
|
||||
|
@ -49,9 +50,23 @@ influxdb3 delete table \
|
|||
TABLE_NAME
|
||||
```
|
||||
|
||||
### Hard delete a table immediately
|
||||
|
||||
Permanently delete a table and all its data immediately without the ability to recover.
|
||||
|
||||
<!--pytest.mark.skip-->
|
||||
|
||||
```bash
|
||||
influxdb3 delete table \
|
||||
--database DATABASE_NAME \
|
||||
--token AUTH_TOKEN \
|
||||
--hard-delete now \
|
||||
TABLE_NAME
|
||||
```
|
||||
|
||||
{{% /code-placeholders %}}
|
||||
|
||||
In the example above, replace the following:
|
||||
Replace the following:
|
||||
|
||||
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}:
|
||||
Database name
|
||||
|
|
|
@ -14,6 +14,7 @@ influxdb3 show <SUBCOMMAND>
|
|||
| Subcommand | Description |
|
||||
| :---------------------------------------------------------------------- | :--------------------------------------------- |
|
||||
| [databases](/influxdb3/version/reference/cli/influxdb3/show/databases/) | List database |
|
||||
{{% show-in "enterprise" %}}| [license](/influxdb3/version/reference/cli/influxdb3/show/license/) | Display license information |{{% /show-in %}}
|
||||
| [system](/influxdb3/version/reference/cli/influxdb3/show/system/) | Display system table data |
|
||||
| [tokens](/influxdb3/version/reference/cli/influxdb3/show/tokens/) | List authentication tokens |
|
||||
| help | Print command help or the help of a subcommand |
|
||||
|
|
|
@ -0,0 +1,33 @@
|
|||
The `influxdb3 update` command updates resources such as databases and tables.
|
||||
|
||||
## Usage
|
||||
|
||||
<!--pytest.mark.skip-->
|
||||
|
||||
```bash
|
||||
influxdb3 update <SUBCOMMAND>
|
||||
```
|
||||
|
||||
## Subcommands
|
||||
|
||||
{{% show-in "enterprise" %}}
|
||||
| Subcommand | Description |
|
||||
| :----------------------------------------------------------------- | :--------------------- |
|
||||
| [database](/influxdb3/version/reference/cli/influxdb3/update/database/) | Update a database |
|
||||
| [table](/influxdb3/version/reference/cli/influxdb3/update/table/) | Update a table |
|
||||
| help | Print command help or the help of a subcommand |
|
||||
{{% /show-in %}}
|
||||
|
||||
{{% show-in "core" %}}
|
||||
| Subcommand | Description |
|
||||
| :----------------------------------------------------------------- | :--------------------- |
|
||||
| [database](/influxdb3/version/reference/cli/influxdb3/update/database/) | Update a database |
|
||||
| help | Print command help or the help of a subcommand |
|
||||
{{% /show-in %}}
|
||||
|
||||
## Options
|
||||
|
||||
| Option | | Description |
|
||||
| :----- | :----------- | :------------------------------ |
|
||||
| `-h` | `--help` | Print help information |
|
||||
| | `--help-all` | Print detailed help information |
|
|
@ -0,0 +1,84 @@
|
|||
The `influxdb3 update database` command updates an existing database in your {{< product-name >}} instance.
|
||||
|
||||
Use this command to update a database's retention period.
|
||||
|
||||
## Usage
|
||||
|
||||
<!--pytest.mark.skip-->
|
||||
|
||||
```bash
|
||||
influxdb3 update database [OPTIONS] --database <DATABASE_NAME>
|
||||
```
|
||||
|
||||
## Arguments
|
||||
|
||||
- **`DATABASE_NAME`**: (Required) The name of the database to update.
|
||||
|
||||
You can also set the database name using the `INFLUXDB3_DATABASE_NAME` environment variable.
|
||||
|
||||
## Options
|
||||
|
||||
| Option | | Description |
|
||||
| :----- | :------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `-H` | `--host` | Host URL of the running {{< product-name >}} server (default is `http://127.0.0.1:8181`) |
|
||||
| `-d` | `--database` | The name of the database to update |
|
||||
| | `--token` | Authentication token |
|
||||
| `-r` | `--retention-period` | The retention period as a [duration](/influxdb3/version/reference/glossary/#duration) value (for example: `30d`, `24h`) or `none` to clear |
|
||||
| | `--tls-ca` | Path to a custom TLS certificate authority (for testing or self-signed certificates) |
|
||||
| `-h` | `--help` | Print help information |
|
||||
| | `--help-all` | Print detailed help information |
|
||||
|
||||
### Option environment variables
|
||||
|
||||
You can use the following environment variables instead of providing CLI options directly:
|
||||
|
||||
| Environment Variable | Option |
|
||||
| :------------------------ | :----------- |
|
||||
| `INFLUXDB3_HOST_URL` | `--host` |
|
||||
| `INFLUXDB3_DATABASE_NAME` | `--database` |
|
||||
| `INFLUXDB3_AUTH_TOKEN` | `--token` |
|
||||
| `INFLUXDB3_TLS_CA` | `--tls-ca` |
|
||||
|
||||
## Examples
|
||||
|
||||
The following examples show how to update a database.
|
||||
|
||||
In your commands replace the following:
|
||||
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}:
|
||||
Database name
|
||||
- {{% code-placeholder-key %}}`AUTH_TOKEN`{{% /code-placeholder-key %}}:
|
||||
Authentication token
|
||||
|
||||
{{% code-placeholders "DATABASE_NAME|AUTH_TOKEN" %}}
|
||||
|
||||
### Update a database retention period
|
||||
|
||||
Updates a database retention period to 30 days.
|
||||
|
||||
<!--pytest.mark.skip-->
|
||||
|
||||
```bash
|
||||
influxdb3 update database --retention-period 30d DATABASE_NAME
|
||||
```
|
||||
|
||||
### Clear a database retention period
|
||||
|
||||
Removes the retention period from a database by setting it to `none`.
|
||||
|
||||
<!--pytest.mark.skip-->
|
||||
|
||||
```bash
|
||||
influxdb3 update database --retention-period none DATABASE_NAME
|
||||
```
|
||||
|
||||
### Update a database with authentication
|
||||
|
||||
Updates a database using an authentication token.
|
||||
|
||||
<!--pytest.mark.skip-->
|
||||
|
||||
```bash
|
||||
influxdb3 update database --token AUTH_TOKEN --retention-period 7d DATABASE_NAME
|
||||
```
|
||||
|
||||
{{% /code-placeholders %}}
|
|
@ -0,0 +1,74 @@
|
|||
The `influxdb3 update table` command updates an existing table in a database in your {{< product-name >}} instance.
|
||||
|
||||
Use this command to update a table's retention period.
|
||||
|
||||
## Usage
|
||||
|
||||
<!--pytest.mark.skip-->
|
||||
|
||||
```bash
|
||||
influxdb3 update table [OPTIONS] --database <DATABASE_NAME> <TABLE_NAME>
|
||||
```
|
||||
|
||||
## Arguments
|
||||
|
||||
- **`TABLE_NAME`**: (Required) The name of the table to update
|
||||
|
||||
## Options
|
||||
|
||||
| Option | | Description |
|
||||
| :----- | :------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `-H` | `--host` | Host URL of the running {{< product-name >}} server (default is `http://127.0.0.1:8181`) |
|
||||
| `-d` | `--database` | The name of the database containing the table |
|
||||
| | `--token` | Authentication token |
|
||||
| `-r` | `--retention-period` | The retention period as a [duration](/influxdb3/version/reference/glossary/#duration) value (for example: `30d`, `24h`) or `none` to clear |
|
||||
| | `--tls-ca` | Path to a custom TLS certificate authority (for testing or self-signed certificates) |
|
||||
| `-h` | `--help` | Print help information |
|
||||
| | `--help-all` | Print detailed help information |
|
||||
|
||||
### Option environment variables
|
||||
|
||||
You can use the following environment variables instead of providing CLI options directly:
|
||||
|
||||
| Environment Variable | Option |
|
||||
| :------------------------ | :----------- |
|
||||
| `INFLUXDB3_HOST_URL` | `--host` |
|
||||
| `INFLUXDB3_DATABASE_NAME` | `--database` |
|
||||
| `INFLUXDB3_AUTH_TOKEN` | `--token` |
|
||||
| `INFLUXDB3_TLS_CA` | `--tls-ca` |
|
||||
|
||||
## Examples
|
||||
|
||||
The following examples show how to update a table.
|
||||
|
||||
In your commands replace the following:
|
||||
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}:
|
||||
Database name
|
||||
- {{% code-placeholder-key %}}`TABLE_NAME`{{% /code-placeholder-key %}}:
|
||||
Table name
|
||||
- {{% code-placeholder-key %}}`AUTH_TOKEN`{{% /code-placeholder-key %}}:
|
||||
Authentication token
|
||||
|
||||
{{% code-placeholders "DATABASE_NAME|TABLE_NAME|AUTH_TOKEN" %}}
|
||||
|
||||
### Update a table retention period
|
||||
|
||||
Updates a table retention period to 30 days.
|
||||
|
||||
<!--pytest.mark.skip-->
|
||||
|
||||
```bash
|
||||
influxdb3 update table --database DATABASE_NAME --token AUTH_TOKEN --retention-period 30d TABLE_NAME
|
||||
```
|
||||
|
||||
### Clear a table retention period
|
||||
|
||||
Removes the retention period from a table by setting it to `none`.
|
||||
|
||||
<!--pytest.mark.skip-->
|
||||
|
||||
```bash
|
||||
influxdb3 update table --database DATABASE_NAME --retention-period none TABLE_NAME
|
||||
```
|
||||
|
||||
{{% /code-placeholders %}}
|
|
@ -23,24 +23,36 @@ engine [trigger](#trigger).
|
|||
### Trigger
|
||||
|
||||
When you create a trigger, you specify a [plugin](#plugin), a database, optional
|
||||
arguments, and a _trigger-spec_, which defines when the plugin is executed and
|
||||
arguments, and a trigger specification, which defines when the plugin is executed and
|
||||
what data it receives.
|
||||
|
||||
#### Trigger types
|
||||
|
||||
InfluxDB 3 provides the following types of triggers, each with specific
|
||||
trigger-specs:
|
||||
specifications:
|
||||
|
||||
- **On WAL flush**: Sends a batch of written data (for a specific table or all
|
||||
tables) to a plugin (by default, every second).
|
||||
- **On Schedule**: Executes a plugin on a user-configured schedule (using a
|
||||
- **Data write** (`table:` or `all_tables`): Sends a batch of written data (for a specific table or all
|
||||
tables) to a plugin when the database flushes data to the Write-Ahead Log (by default, every second).
|
||||
- **Scheduled** (`every:` or `cron:`): Executes a plugin on a user-configured schedule (using a
|
||||
crontab or a duration). This trigger type is useful for data collection and
|
||||
deadman monitoring.
|
||||
- **On Request**: Binds a plugin to a custom HTTP API endpoint at
|
||||
`/api/v3/engine/<ENDPOINT_PATH>`.
|
||||
- **HTTP request** (`request:`): Binds a plugin to a custom HTTP API endpoint at
|
||||
`/api/v3/engine/<REQUEST_PATH>`.
|
||||
The plugin receives the HTTP request headers and content, and can parse,
|
||||
process, and send the data into the database or to third-party services.
|
||||
|
||||
{{% show-in "enterprise" %}}
|
||||
> [!Warning]
|
||||
> #### Request trigger specification format differs between CLI and API
|
||||
>
|
||||
> Due to a bug in InfluxDB 3 Enterprise, the request trigger specification format differs:
|
||||
>
|
||||
> - **CLI**: `request:<REQUEST_PATH>` (same as Core CLI and API)
|
||||
> - **Enterprise API**: `{"request_path": {"path": "<REQUEST_PATH>"}}`
|
||||
>
|
||||
> See the [API reference](/influxdb3/enterprise/api/#operation/PostConfigureProcessingEngineTrigger) for examples. Use `influxdb3 show summary` to verify the actual trigger specification.
|
||||
{{% /show-in %}}
|
||||
|
||||
## Activate the processing engine
|
||||
|
||||
To activate the processing engine, include the `--plugin-dir <PLUGIN_DIR>` option
|
||||
|
@ -64,10 +76,10 @@ to the current working directory of the `influxdb3` server.
|
|||
## Create a plugin
|
||||
|
||||
To create a plugin, write and store a Python file in your configured `PLUGIN_DIR`.
|
||||
The following example is a WAL flush plugin that processes data before it gets
|
||||
The following example is a data write plugin that processes data before it gets
|
||||
persisted to the object store.
|
||||
|
||||
##### Example Python plugin for WAL rows
|
||||
##### Example Python plugin for data writes
|
||||
|
||||
```python
|
||||
# This is the basic structure for Python plugin code that runs in the
|
||||
|
@ -77,9 +89,9 @@ persisted to the object store.
|
|||
# allowing you to write generic code that uses variables such as monitoring
|
||||
# thresholds, environment variables, and host names.
|
||||
#
|
||||
# Use the following exact signature to define a function for the WAL flush
|
||||
# Use the following exact signature to define a function for the data write
|
||||
# trigger.
|
||||
# When you create a trigger for a WAL flush plugin, you specify the database
|
||||
# When you create a trigger for a data write plugin, you specify the database
|
||||
# and tables that the plugin receives written data from on every WAL flush
|
||||
# (default is once per second).
|
||||
def process_writes(influxdb3_local, table_batches, args=None):
|
||||
|
@ -98,9 +110,8 @@ def process_writes(influxdb3_local, table_batches, args=None):
|
|||
# value.
|
||||
influxdb3_local.info("query result: " + str(query_result))
|
||||
|
||||
# this is the data that is sent when the WAL is flushed of writes the server
|
||||
# received for the DB or table of interest. One batch for each table (will
|
||||
# only be one if triggered on a single table)
|
||||
# this is the data that is sent when data is written to the database and flushed to the WAL.
|
||||
# One batch for each table (will only be one if triggered on a single table)
|
||||
for table_batch in table_batches:
|
||||
# here you can see that the table_name is available.
|
||||
influxdb3_local.info("table: " + table_batch["table_name"])
|
||||
|
@ -151,7 +162,7 @@ affecting actual data. During a plugin test:
|
|||
|
||||
To test a plugin:
|
||||
|
||||
1. Save the [example plugin code](#example-python-plugin-for-wal-rows) to a
|
||||
1. Save the [example plugin code](#example-python-plugin-for-data-writes) 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.
|
||||
2. To run the test, enter the following command with the following options:
|
||||
|
|
|
@ -5,6 +5,57 @@
|
|||
> All updates to Core are automatically included in Enterprise.
|
||||
> The Enterprise sections below only list updates exclusive to Enterprise.
|
||||
|
||||
## v3.2.0 {date="2025-06-25"}
|
||||
|
||||
**Core**: revision 1ca3168bee
|
||||
**Enterprise**: revision 1ca3168bee
|
||||
|
||||
### Core
|
||||
|
||||
#### Features
|
||||
|
||||
- **Hard delete for databases and tables**: Permanently delete databases and tables, enabling complete removal of data structures for compliance and storage management ([#26553](https://github.com/influxdata/influxdb/pull/26553))
|
||||
- **AWS credentials auto-reload**: Support dynamic reloading of ephemeral AWS credentials from files, improving security and reliability when using AWS services ([#26537](https://github.com/influxdata/influxdb/pull/26537))
|
||||
- **Database retention period support**: Add retention period support for databases via CLI commands (`create database` and `update database` commands) and HTTP APIs ([#26520](https://github.com/influxdata/influxdb/pull/26520)):
|
||||
- New CLI command: `update database --retention-period`
|
||||
- **Configurable lookback duration**: Users can specify lookback duration for PersistedFiles buffer, providing better control over query performance ([#26528](https://github.com/influxdata/influxdb/pull/26528))
|
||||
- **WAL replay concurrency control**: Add concurrency limits for WAL (Write-Ahead Log) replay to improve startup performance and resource management ([#26483](https://github.com/influxdata/influxdb/pull/26483))
|
||||
- **Enhanced write path**: Separate write path executor with unbounded memory for improved write performance ([#26455](https://github.com/influxdata/influxdb/pull/26455))
|
||||
|
||||
#### Bug Fixes
|
||||
|
||||
- **WAL corruption handling**: Handle corrupt WAL files during replay without panic, improving data recovery and system resilience ([#26556](https://github.com/influxdata/influxdb/pull/26556))
|
||||
- **Database naming validation**: Disallow underscores in database names when created via API to ensure consistency ([#26507](https://github.com/influxdata/influxdb/pull/26507))
|
||||
- **Object store cleanup**: Automatic intermediate directory cleanup for file object store, preventing storage bloat ([#26480](https://github.com/influxdata/influxdb/pull/26480))
|
||||
|
||||
#### Additional Updates
|
||||
|
||||
- Track generation 1 duration in catalog for better performance monitoring ([#26508](https://github.com/influxdata/influxdb/pull/26508))
|
||||
- Add retention period support to the catalog ([#26479](https://github.com/influxdata/influxdb/pull/26479))
|
||||
- Update help text for improved user experience ([#26509](https://github.com/influxdata/influxdb/pull/26509))
|
||||
|
||||
### Enterprise
|
||||
|
||||
All Core updates are included in Enterprise. Additional Enterprise-specific features and fixes:
|
||||
|
||||
#### Features
|
||||
|
||||
- **License management improvements**:
|
||||
- New `influxdb3 show license` command to display current license information
|
||||
- **Table-level retention period support**: Add retention period support for individual tables in addition to database-level retention, providing granular data lifecycle management
|
||||
- New CLI commands: `create table --retention-period` and `update table --retention-period`
|
||||
- Set or clear table-specific retention policies independent of database settings
|
||||
- **Compaction improvements**:
|
||||
- Address compactor restart issues for better reliability
|
||||
- Track compacted generation durations in catalog for monitoring
|
||||
- Disable parquet cache for ingest mode to optimize memory usage
|
||||
|
||||
#### Bug Fixes
|
||||
|
||||
- **Query optimization**: Correctly partition query chunks into generations for improved performance
|
||||
- **Data integrity**: Don't delete generation 1 files as part of compaction process
|
||||
- **License handling**: Trim whitespace from license file contents after reading to prevent validation issues
|
||||
|
||||
## v3.1.0 {date="2025-05-29"}
|
||||
**Core**: revision 482dd8aac580c04f37e8713a8fffae89ae8bc264
|
||||
|
||||
|
|
|
@ -22,20 +22,11 @@ Ensure you have:
|
|||
|
||||
Once you have all the prerequisites in place, follow these steps to implement the Processing Engine for your data automation needs.
|
||||
|
||||
1. [Set up the Processing Engine](#set-up-the-processing-engine)
|
||||
2. [Add a Processing Engine plugin](#add-a-processing-engine-plugin)
|
||||
- [Use example plugins](#use-example-plugins)
|
||||
- [Create a custom plugin](#create-a-custom-plugin)
|
||||
3. [Set up a trigger](#set-up-a-trigger)
|
||||
- [Understand trigger types](#understand-trigger-types)
|
||||
- [Use the create trigger command](#use-the-create-trigger-command)
|
||||
- [Trigger specification examples](#trigger-specification-examples)
|
||||
4. [Advanced trigger configuration](#advanced-trigger-configuration)
|
||||
- [Access community plugins from GitHub](#access-community-plugins-from-github)
|
||||
- [Pass arguments to plugins](#pass-arguments-to-plugins)
|
||||
- [Control trigger execution](#control-trigger-execution)
|
||||
- [Configure error handling for a trigger](#configure-error-handling-for-a-trigger)
|
||||
- [Install Python dependencies](#install-python-dependencies)
|
||||
- [Set up the Processing Engine](#set-up-the-processing-engine)
|
||||
- [Add a Processing Engine plugin](#add-a-processing-engine-plugin)
|
||||
- [Set up a trigger](#set-up-a-trigger)
|
||||
- [Advanced trigger configuration](#advanced-trigger-configuration)
|
||||
- [Distributed cluster considerations](#distributed-cluster-considerations)
|
||||
|
||||
## Set up the Processing Engine
|
||||
|
||||
|
@ -75,6 +66,8 @@ When running {{% product-name %}} in a distributed setup, follow these steps to
|
|||
>
|
||||
> Configure your plugin directory on the same system as the nodes that run the triggers and plugins.
|
||||
|
||||
For more information about configuring distributed environments, see the [Distributed cluster considerations](#distributed-cluster-considerations) section.
|
||||
|
||||
## Add a Processing Engine plugin
|
||||
|
||||
A plugin is a Python script that defines a specific function signature for a trigger (_trigger spec_). When the specified event occurs, InfluxDB runs the plugin.
|
||||
|
@ -168,11 +161,11 @@ Before you begin, make sure:
|
|||
|
||||
Choose a plugin type based on your automation goals:
|
||||
|
||||
| Plugin Type | Best For | Trigger Type |
|
||||
| ---------------- | ------------------------------------------- | ------------------------ |
|
||||
| **Data write** | Processing data as it arrives | `table:` or `all_tables` |
|
||||
| **Scheduled** | Running code at specific intervals or times | `every:` or `cron:` |
|
||||
| **HTTP request** | Running code on demand via API endpoints | `path:` |
|
||||
| Plugin Type | Best For |
|
||||
| ---------------- | ------------------------------------------- |
|
||||
| **Data write** | Processing data as it arrives |
|
||||
| **Scheduled** | Running code at specific intervals or times |
|
||||
| **HTTP request** | Running code on demand via API endpoints |
|
||||
|
||||
#### Create your plugin file
|
||||
|
||||
|
@ -184,7 +177,7 @@ After writing your plugin, [create a trigger](#use-the-create-trigger-command) t
|
|||
|
||||
#### Create a data write plugin
|
||||
|
||||
Use a data write plugin to process data as it's written to the database. Ideal use cases include:
|
||||
Use a data write plugin to process data as it's written to the database. These plugins use [`table:` or `all_tables:`](#trigger-on-data-writes) trigger specifications. Ideal use cases include:
|
||||
|
||||
- Data transformation and enrichment
|
||||
- Alerting on incoming values
|
||||
|
@ -209,7 +202,7 @@ def process_writes(influxdb3_local, table_batches, args=None):
|
|||
|
||||
#### Create a scheduled plugin
|
||||
|
||||
Scheduled plugins run at defined intervals. Use them for:
|
||||
Scheduled plugins run at defined intervals using [`every:` or `cron:`](#trigger-on-a-schedule) trigger specifications. Use them for:
|
||||
|
||||
- Periodic data aggregation
|
||||
- Report generation
|
||||
|
@ -231,7 +224,7 @@ def process_scheduled_call(influxdb3_local, call_time, args=None):
|
|||
|
||||
#### Create an HTTP request plugin
|
||||
|
||||
HTTP request plugins respond to API calls. Use them for:
|
||||
HTTP request plugins respond to API calls using [`request:`](#trigger-on-http-requests) trigger specifications{{% show-in "enterprise" %}} (CLI) or `{"request_path": {"path": "..."}}` (HTTP API){{% /show-in %}}. Use them for:
|
||||
|
||||
- Creating custom API endpoints
|
||||
- Webhooks for external integrations
|
||||
|
@ -270,7 +263,7 @@ After writing your plugin:
|
|||
|------------|----------------------|-----------------|
|
||||
| Data write | `table:<TABLE_NAME>` or `all_tables` | When data is written to tables |
|
||||
| Scheduled | `every:<DURATION>` or `cron:<EXPRESSION>` | At specified time intervals |
|
||||
| HTTP request | `path:<ENDPOINT_PATH>` | When HTTP requests are received |
|
||||
| HTTP request | `request:<REQUEST_PATH>`{{% show-in "enterprise" %}} (CLI) or `{"request_path": {"path": "<REQUEST_PATH>"}}` (HTTP API){{% /show-in %}} | When HTTP requests are received |
|
||||
|
||||
### Use the create trigger command
|
||||
|
||||
|
@ -302,7 +295,7 @@ In the example above, replace the following:
|
|||
|
||||
### Trigger specification examples
|
||||
|
||||
#### Data write example
|
||||
#### Trigger on data writes
|
||||
|
||||
```bash
|
||||
# Trigger on writes to a specific table
|
||||
|
@ -325,13 +318,13 @@ The trigger runs when the database flushes ingested data for the specified table
|
|||
|
||||
The plugin receives the written data and table information.
|
||||
|
||||
#### Scheduled events example
|
||||
#### Trigger on a schedule
|
||||
|
||||
```bash
|
||||
# Run every 5 minutes
|
||||
influxdb3 create trigger \
|
||||
--trigger-spec "every:5m" \
|
||||
--plugin-filename "hourly_check.py" \
|
||||
--plugin-filename "periodic_check.py" \
|
||||
--database my_database \
|
||||
regular_check
|
||||
|
||||
|
@ -346,7 +339,7 @@ influxdb3 create trigger \
|
|||
|
||||
The plugin receives the scheduled call time.
|
||||
|
||||
#### HTTP requests example
|
||||
#### Trigger on HTTP requests
|
||||
|
||||
```bash
|
||||
# Create an endpoint at /api/v3/engine/webhook
|
||||
|
@ -357,7 +350,9 @@ influxdb3 create trigger \
|
|||
webhook_processor
|
||||
```
|
||||
|
||||
Access your endpoint available at `/api/v3/engine/<ENDPOINT_PATH>`.
|
||||
Access your endpoint at `/api/v3/engine/{REQUEST_PATH}` (in this example, `/api/v3/engine/webhook`).
|
||||
The trigger is enabled by default and runs when an HTTP request is received at the specified path.
|
||||
|
||||
To run the plugin, send a `GET` or `POST` request to the endpoint--for example:
|
||||
|
||||
```bash
|
||||
|
@ -366,6 +361,24 @@ curl http://{{% influxdb/host %}}/api/v3/engine/webhook
|
|||
|
||||
The plugin receives the HTTP request object with methods, headers, and body.
|
||||
|
||||
To view triggers associated with a database, use the `influxdb3 show summary` command:
|
||||
|
||||
```bash
|
||||
influxdb3 show summary --database my_database --token AUTH_TOKEN
|
||||
```
|
||||
|
||||
{{% show-in "enterprise" %}}
|
||||
> [!Warning]
|
||||
> #### Request trigger specification format differs between CLI and API
|
||||
>
|
||||
> Due to a bug in InfluxDB 3 Enterprise, the request trigger specification format differs:
|
||||
>
|
||||
> - **CLI**: `request:<REQUEST_PATH>` (same as Core CLI and API)
|
||||
> - **Enterprise API**: `{"request_path": {"path": "<REQUEST_PATH>"}}`
|
||||
>
|
||||
> See the [API reference](/influxdb3/enterprise/api/#operation/PostConfigureProcessingEngineTrigger) for examples. Use `influxdb3 show summary` to verify the actual trigger specification.
|
||||
{{% /show-in %}}
|
||||
|
||||
### Pass arguments to plugins
|
||||
|
||||
Use trigger arguments to pass configuration from a trigger to the plugin it runs. You can use this for:
|
||||
|
@ -587,7 +600,19 @@ Each plugin must run on a node that supports its trigger type:
|
|||
|--------------------|--------------------------|-----------------------------|
|
||||
| Data write | `table:` or `all_tables` | Ingester nodes |
|
||||
| Scheduled | `every:` or `cron:` | Any node with scheduler |
|
||||
| HTTP request | `path:` | Nodes that serve API traffic|
|
||||
| HTTP request | `request:`{{% show-in "enterprise" %}} (CLI) or `{"request_path": {"path": "..."}}` (HTTP API){{% /show-in %}} | Nodes that serve API traffic|
|
||||
|
||||
{{% show-in "enterprise" %}}
|
||||
> [!Note]
|
||||
> #### Request trigger specification format differs between CLI and API
|
||||
>
|
||||
> Due to a bug in InfluxDB 3 Enterprise, the request trigger specification format differs:
|
||||
>
|
||||
> - **CLI**: `request:<REQUEST_PATH>` (same as Core CLI and API)
|
||||
> - **Enterprise API**: `{"request_path": {"path": "<REQUEST_PATH>"}}`
|
||||
>
|
||||
> See the [API reference](/influxdb3/enterprise/api/#operation/PostConfigureProcessingEngineTrigger) for examples.
|
||||
{{% /show-in %}}
|
||||
|
||||
For example:
|
||||
- Run write-ahead log (WAL) plugins on ingester nodes.
|
||||
|
|
|
@ -0,0 +1,354 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Script to generate release notes for InfluxDB v3.x releases
|
||||
# Usage: ./generate-release-notes.sh [--no-fetch] [--pull] <from_version> <to_version> <primary_repo_path> [additional_repo_paths...]
|
||||
#
|
||||
# Options:
|
||||
# --no-fetch Skip fetching latest commits from remote
|
||||
# --pull Pull latest changes (implies fetch) - use with caution as it may change your working directory
|
||||
#
|
||||
# Example: ./generate-release-notes.sh v3.1.0 v3.2.0 /path/to/influxdb /path/to/influxdb_pro /path/to/influxdb_iox
|
||||
# Example: ./generate-release-notes.sh --no-fetch v3.1.0 v3.2.0 /path/to/influxdb
|
||||
# Example: ./generate-release-notes.sh --pull v3.1.0 v3.2.0 /path/to/influxdb /path/to/influxdb_pro
|
||||
|
||||
set -e
|
||||
|
||||
# Parse command line options
|
||||
FETCH_COMMITS=true
|
||||
PULL_COMMITS=false
|
||||
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case $1 in
|
||||
--no-fetch)
|
||||
FETCH_COMMITS=false
|
||||
shift
|
||||
;;
|
||||
--pull)
|
||||
PULL_COMMITS=true
|
||||
FETCH_COMMITS=true
|
||||
shift
|
||||
;;
|
||||
-*)
|
||||
echo "Unknown option $1"
|
||||
exit 1
|
||||
;;
|
||||
*)
|
||||
break
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Parse remaining arguments
|
||||
FROM_VERSION="${1:-v3.1.0}"
|
||||
TO_VERSION="${2:-v3.2.0}"
|
||||
PRIMARY_REPO="${3:-/Users/ja/Documents/github/influxdb}"
|
||||
|
||||
# Collect additional repositories (all arguments after the third)
|
||||
ADDITIONAL_REPOS=()
|
||||
shift 3 2>/dev/null || true
|
||||
while [ $# -gt 0 ]; do
|
||||
ADDITIONAL_REPOS+=("$1")
|
||||
shift
|
||||
done
|
||||
|
||||
# Colors for output
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[0;33m'
|
||||
BLUE='\033[0;34m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
echo -e "${BLUE}Generating release notes for ${TO_VERSION}${NC}"
|
||||
echo -e "Primary Repository: ${PRIMARY_REPO}"
|
||||
if [ ${#ADDITIONAL_REPOS[@]} -gt 0 ]; then
|
||||
echo -e "Additional Repositories:"
|
||||
for repo in "${ADDITIONAL_REPOS[@]}"; do
|
||||
echo -e " - ${repo}"
|
||||
done
|
||||
fi
|
||||
echo -e "From: ${FROM_VERSION} To: ${TO_VERSION}\n"
|
||||
|
||||
# Function to extract PR number from commit message
|
||||
extract_pr_number() {
|
||||
echo "$1" | grep -oE '#[0-9]+' | head -1 | sed 's/#//'
|
||||
}
|
||||
|
||||
# Function to get commits from a repository
|
||||
get_commits_from_repo() {
|
||||
local repo_path="$1"
|
||||
local pattern="$2"
|
||||
local format="${3:-%h %s}"
|
||||
|
||||
if [ -d "$repo_path" ]; then
|
||||
git -C "$repo_path" log --format="$format" "${FROM_VERSION}..${TO_VERSION}" 2>/dev/null | grep -E "$pattern" || true
|
||||
fi
|
||||
}
|
||||
|
||||
# Function to analyze API-related commits
|
||||
analyze_api_changes() {
|
||||
local repo_path="$1"
|
||||
local repo_name="$2"
|
||||
|
||||
if [ ! -d "$repo_path" ]; then
|
||||
return
|
||||
fi
|
||||
|
||||
# Look for API-related file changes
|
||||
local api_files=$(git -C "$repo_path" diff --name-only "${FROM_VERSION}..${TO_VERSION}" 2>/dev/null | grep -E "(api|handler|endpoint|route)" | head -10 || true)
|
||||
|
||||
# Look for specific API endpoint patterns in commit messages and diffs
|
||||
local api_commits=$(git -C "$repo_path" log --format="%h %s" "${FROM_VERSION}..${TO_VERSION}" 2>/dev/null | \
|
||||
grep -iE "(api|endpoint|/write|/query|/ping|/health|/metrics|v1|v2|v3)" || true)
|
||||
|
||||
if [ -n "$api_files" ] || [ -n "$api_commits" ]; then
|
||||
echo " Repository: $repo_name"
|
||||
if [ -n "$api_files" ]; then
|
||||
echo " Modified API files:"
|
||||
echo "$api_files" | while read -r file; do
|
||||
echo " - $file"
|
||||
done
|
||||
fi
|
||||
if [ -n "$api_commits" ]; then
|
||||
echo " API-related commits:"
|
||||
echo "$api_commits" | while read -r commit; do
|
||||
echo " - $commit"
|
||||
done
|
||||
fi
|
||||
echo
|
||||
fi
|
||||
}
|
||||
|
||||
# Get the release date
|
||||
RELEASE_DATE=$(git -C "$PRIMARY_REPO" log -1 --format=%ai "$TO_VERSION" | cut -d' ' -f1)
|
||||
echo -e "${GREEN}Release Date: ${RELEASE_DATE}${NC}\n"
|
||||
|
||||
# Create array of all repositories
|
||||
ALL_REPOS=("$PRIMARY_REPO")
|
||||
for repo in "${ADDITIONAL_REPOS[@]}"; do
|
||||
ALL_REPOS+=("$repo")
|
||||
done
|
||||
|
||||
# Fetch latest commits from all repositories (if enabled)
|
||||
if [ "$FETCH_COMMITS" = true ]; then
|
||||
if [ "$PULL_COMMITS" = true ]; then
|
||||
echo -e "${YELLOW}Pulling latest changes from all repositories...${NC}"
|
||||
echo -e "${RED}Warning: This will modify your working directories!${NC}"
|
||||
else
|
||||
echo -e "${YELLOW}Fetching latest commits from all repositories...${NC}"
|
||||
fi
|
||||
|
||||
for repo in "${ALL_REPOS[@]}"; do
|
||||
if [ -d "$repo" ]; then
|
||||
repo_name=$(basename "$repo")
|
||||
|
||||
if [ "$PULL_COMMITS" = true ]; then
|
||||
echo -e " Pulling changes in $repo_name..."
|
||||
if git -C "$repo" pull origin 2>/dev/null; then
|
||||
echo -e " ${GREEN}✓${NC} Successfully pulled changes in $repo_name"
|
||||
else
|
||||
echo -e " ${RED}✗${NC} Failed to pull changes in $repo_name (trying fetch only)"
|
||||
if git -C "$repo" fetch origin 2>/dev/null; then
|
||||
echo -e " ${GREEN}✓${NC} Successfully fetched from $repo_name"
|
||||
else
|
||||
echo -e " ${RED}✗${NC} Failed to fetch from $repo_name (continuing with local commits)"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
echo -e " Fetching from $repo_name..."
|
||||
if git -C "$repo" fetch origin 2>/dev/null; then
|
||||
echo -e " ${GREEN}✓${NC} Successfully fetched from $repo_name"
|
||||
else
|
||||
echo -e " ${RED}✗${NC} Failed to fetch from $repo_name (continuing with local commits)"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
echo -e " ${RED}✗${NC} Repository not found: $repo"
|
||||
fi
|
||||
done
|
||||
else
|
||||
echo -e "${YELLOW}Skipping fetch (using local commits only)${NC}"
|
||||
fi
|
||||
|
||||
# Collect commits by category from all repositories
|
||||
echo -e "\n${YELLOW}Analyzing commits across all repositories...${NC}"
|
||||
|
||||
# Initialize variables
|
||||
FEATURES=""
|
||||
FIXES=""
|
||||
BREAKING=""
|
||||
PERF=""
|
||||
API_CHANGES=""
|
||||
|
||||
# Collect commits from all repositories
|
||||
for repo in "${ALL_REPOS[@]}"; do
|
||||
if [ -d "$repo" ]; then
|
||||
repo_name=$(basename "$repo")
|
||||
echo -e " Analyzing $repo_name..."
|
||||
|
||||
# Features
|
||||
repo_features=$(get_commits_from_repo "$repo" "^[a-f0-9]+ feat:" | sed "s/^[a-f0-9]* feat: /- [$repo_name] /")
|
||||
if [ -n "$repo_features" ]; then
|
||||
FEATURES="$FEATURES$repo_features"$'\n'
|
||||
fi
|
||||
|
||||
# Fixes
|
||||
repo_fixes=$(get_commits_from_repo "$repo" "^[a-f0-9]+ fix:" | sed "s/^[a-f0-9]* fix: /- [$repo_name] /")
|
||||
if [ -n "$repo_fixes" ]; then
|
||||
FIXES="$FIXES$repo_fixes"$'\n'
|
||||
fi
|
||||
|
||||
# Breaking changes
|
||||
repo_breaking=$(get_commits_from_repo "$repo" "^[a-f0-9]+ .*(BREAKING|breaking change)" | sed "s/^[a-f0-9]* /- [$repo_name] /")
|
||||
if [ -n "$repo_breaking" ]; then
|
||||
BREAKING="$BREAKING$repo_breaking"$'\n'
|
||||
fi
|
||||
|
||||
# Performance improvements
|
||||
repo_perf=$(get_commits_from_repo "$repo" "^[a-f0-9]+ perf:" | sed "s/^[a-f0-9]* perf: /- [$repo_name] /")
|
||||
if [ -n "$repo_perf" ]; then
|
||||
PERF="$PERF$repo_perf"$'\n'
|
||||
fi
|
||||
|
||||
# API changes
|
||||
repo_api=$(get_commits_from_repo "$repo" "(api|endpoint|/write|/query|/ping|/health|/metrics|v1|v2|v3)" | sed "s/^[a-f0-9]* /- [$repo_name] /")
|
||||
if [ -n "$repo_api" ]; then
|
||||
API_CHANGES="$API_CHANGES$repo_api"$'\n'
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
# Analyze API changes in detail
|
||||
echo -e "\n${YELLOW}Analyzing HTTP API changes...${NC}"
|
||||
for repo in "${ALL_REPOS[@]}"; do
|
||||
repo_name=$(basename "$repo")
|
||||
analyze_api_changes "$repo" "$repo_name"
|
||||
done
|
||||
|
||||
# Generate markdown output
|
||||
OUTPUT_FILE="release-notes-${TO_VERSION}.md"
|
||||
cat > "$OUTPUT_FILE" << EOF
|
||||
## ${TO_VERSION} {date="${RELEASE_DATE}"}
|
||||
|
||||
### Features
|
||||
|
||||
EOF
|
||||
|
||||
# Add features
|
||||
if [ -n "$FEATURES" ]; then
|
||||
echo "$FEATURES" | while IFS= read -r line; do
|
||||
if [ -n "$line" ]; then
|
||||
PR=$(extract_pr_number "$line")
|
||||
# Clean up the commit message
|
||||
CLEAN_LINE=$(echo "$line" | sed -E 's/ \(#[0-9]+\)$//')
|
||||
if [ -n "$PR" ]; then
|
||||
echo "$CLEAN_LINE ([#$PR](https://github.com/influxdata/influxdb/pull/$PR))" >> "$OUTPUT_FILE"
|
||||
else
|
||||
echo "$CLEAN_LINE" >> "$OUTPUT_FILE"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
else
|
||||
echo "- No new features in this release" >> "$OUTPUT_FILE"
|
||||
fi
|
||||
|
||||
# Add bug fixes
|
||||
cat >> "$OUTPUT_FILE" << EOF
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
EOF
|
||||
|
||||
if [ -n "$FIXES" ]; then
|
||||
echo "$FIXES" | while IFS= read -r line; do
|
||||
if [ -n "$line" ]; then
|
||||
PR=$(extract_pr_number "$line")
|
||||
CLEAN_LINE=$(echo "$line" | sed -E 's/ \(#[0-9]+\)$//')
|
||||
if [ -n "$PR" ]; then
|
||||
echo "$CLEAN_LINE ([#$PR](https://github.com/influxdata/influxdb/pull/$PR))" >> "$OUTPUT_FILE"
|
||||
else
|
||||
echo "$CLEAN_LINE" >> "$OUTPUT_FILE"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
else
|
||||
echo "- No bug fixes in this release" >> "$OUTPUT_FILE"
|
||||
fi
|
||||
|
||||
# Add breaking changes if any
|
||||
if [ -n "$BREAKING" ]; then
|
||||
cat >> "$OUTPUT_FILE" << EOF
|
||||
|
||||
### Breaking Changes
|
||||
|
||||
EOF
|
||||
echo "$BREAKING" | while IFS= read -r line; do
|
||||
if [ -n "$line" ]; then
|
||||
PR=$(extract_pr_number "$line")
|
||||
CLEAN_LINE=$(echo "$line" | sed -E 's/ \(#[0-9]+\)$//')
|
||||
if [ -n "$PR" ]; then
|
||||
echo "$CLEAN_LINE ([#$PR](https://github.com/influxdata/influxdb/pull/$PR))" >> "$OUTPUT_FILE"
|
||||
else
|
||||
echo "$CLEAN_LINE" >> "$OUTPUT_FILE"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
# Add performance improvements if any
|
||||
if [ -n "$PERF" ]; then
|
||||
cat >> "$OUTPUT_FILE" << EOF
|
||||
|
||||
### Performance Improvements
|
||||
|
||||
EOF
|
||||
echo "$PERF" | while IFS= read -r line; do
|
||||
if [ -n "$line" ]; then
|
||||
PR=$(extract_pr_number "$line")
|
||||
CLEAN_LINE=$(echo "$line" | sed -E 's/ \(#[0-9]+\)$//')
|
||||
if [ -n "$PR" ]; then
|
||||
echo "$CLEAN_LINE ([#$PR](https://github.com/influxdata/influxdb/pull/$PR))" >> "$OUTPUT_FILE"
|
||||
else
|
||||
echo "$CLEAN_LINE" >> "$OUTPUT_FILE"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
# Add HTTP API changes if any
|
||||
if [ -n "$API_CHANGES" ]; then
|
||||
cat >> "$OUTPUT_FILE" << EOF
|
||||
|
||||
### HTTP API Changes
|
||||
|
||||
EOF
|
||||
echo "$API_CHANGES" | while IFS= read -r line; do
|
||||
if [ -n "$line" ]; then
|
||||
PR=$(extract_pr_number "$line")
|
||||
CLEAN_LINE=$(echo "$line" | sed -E 's/ \(#[0-9]+\)$//')
|
||||
if [ -n "$PR" ]; then
|
||||
echo "$CLEAN_LINE ([#$PR](https://github.com/influxdata/influxdb/pull/$PR))" >> "$OUTPUT_FILE"
|
||||
else
|
||||
echo "$CLEAN_LINE" >> "$OUTPUT_FILE"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
# Add API analysis summary
|
||||
cat >> "$OUTPUT_FILE" << EOF
|
||||
|
||||
### API Analysis Summary
|
||||
|
||||
The following endpoints may have been affected in this release:
|
||||
- v1 API endpoints: \`/write\`, \`/query\`, \`/ping\`
|
||||
- v2 API endpoints: \`/api/v2/write\`, \`/api/v2/query\`
|
||||
- v3 API endpoints: \`/api/v3/*\`
|
||||
- System endpoints: \`/health\`, \`/metrics\`
|
||||
|
||||
Please review the commit details above and consult the API documentation for specific changes.
|
||||
|
||||
EOF
|
||||
|
||||
echo -e "\n${GREEN}Release notes generated in: ${OUTPUT_FILE}${NC}"
|
||||
echo -e "${YELLOW}Please review and edit the generated notes before adding to documentation.${NC}"
|
||||
echo -e "${BLUE}API changes have been automatically detected and included.${NC}"
|
|
@ -111,7 +111,7 @@
|
|||
<div class="products">
|
||||
<div class="product">
|
||||
<div class="product-info">
|
||||
<h3 state="beta"><a href="/influxdb3/explorer/">InfluxDB 3 Explorer</a></h3>
|
||||
<h3 state="New"><a href="/influxdb3/explorer/">InfluxDB 3 Explorer</a></h3>
|
||||
<p>A standalone UI designed for visualizing, querying, and managing data in InfluxDB 3 Core and Enterprise.</p>
|
||||
</div>
|
||||
<ul class="product-links">
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
{{ partial "article/supported-versions.html" . }}
|
||||
{{ partial "article/page-meta.html" . }}
|
||||
</div>
|
||||
{{ partial "article/beta.html" . }}
|
||||
{{ partial "article/special-state.html" . }}
|
||||
{{ partial "article/stable-version.html" . }}
|
||||
{{ partial "article/flux-experimental.html" . }}
|
||||
{{ partial "article/flux-contrib.html" . }}
|
||||
|
|
|
@ -8,19 +8,23 @@
|
|||
{{ $earlyAccessList := slice "influxdb3/explorer" }}
|
||||
|
||||
{{ if in $earlyAccessList (print $product "/" $version )}}
|
||||
<div class="block beta">
|
||||
<div class="beta-content">
|
||||
<h4 id="public-beta">{{ $displayName }} is in Public Beta</h4>
|
||||
<div class="block special-state">
|
||||
<div class="state-content">
|
||||
<h4 id="influxdb3-explorer-ga">{{ $displayName }} is Generally Available</h4>
|
||||
<p>
|
||||
{{ $displayName }} is in public beta and available for testing and feedback,
|
||||
but is <strong>not meant for production use yet</strong>.
|
||||
Both the product and this documentation are works in progress.
|
||||
We welcome and encourage your input about your experience with the beta and
|
||||
{{ $displayName }} is generally available and is ready for production use.
|
||||
We welcome and encourage your input about your experience with Explorer and
|
||||
invite you to <strong>join our public channels</strong> for updates and to
|
||||
share feedback.
|
||||
</p>
|
||||
<p>
|
||||
<em>The {{ $displayName}} documentation is a work in progress, and we are actively
|
||||
working to improve it. If you have any questions or suggestions, please
|
||||
<a href="https://github.com/influxdata/docs-v2/issues/new?labels=InfluxDB%203%20Explorer">submit an issue</a>.
|
||||
We welcome any and all contributions.</em>
|
||||
</p>
|
||||
<div class="expand-wrapper">
|
||||
<div class="expand" id="beta-feedback-channels">
|
||||
<div class="expand" id="feedback-channels">
|
||||
<p class="expand-label">
|
||||
<span class="expand-toggle"></span><span>Join our public channels</span>
|
||||
</p>
|
|
@ -60,7 +60,7 @@ Identify products by their product path. Dictionary schema:
|
|||
<li>{{ template "productLink" (merge (dict "productPath" "influxdb3/cloud-dedicated") $templateDefaults) }}</li>
|
||||
</ul>
|
||||
<ul class="item-list products" data-category="Tools">
|
||||
<li>{{ template "productLink" (merge (dict "productPath" "influxdb3/explorer" "state" "beta") $templateDefaults) }}</li>
|
||||
<li>{{ template "productLink" (merge (dict "productPath" "influxdb3/explorer" "state" "New") $templateDefaults) }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="product-group">
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
# Documentation Plans
|
||||
|
||||
This directory contains plans for recurring documentation tasks and automation.
|
||||
|
||||
## Active Plans
|
||||
|
||||
### CLI Documentation Synchronization
|
||||
- **Location**: `cli-docs-sync/`
|
||||
- **Purpose**: Keep InfluxDB 3 CLI reference documentation in sync with actual CLI commands
|
||||
- **Current Version**: `plan-v3.2.0.md`
|
||||
- **Status**: Ready for execution
|
||||
|
||||
### Release Notes Automation
|
||||
- **Location**: `release-notes-automation/`
|
||||
- **Purpose**: Automate generation of release notes from git commits
|
||||
- **Scripts**: Available in `/scripts/generate-release-notes.sh`
|
||||
|
||||
## Plan Structure
|
||||
|
||||
Each plan directory should contain:
|
||||
- `plan-[version].md` - The detailed plan
|
||||
- `execution-log.md` - Track progress and notes
|
||||
- `templates/` - Reusable templates and patterns
|
||||
|
||||
## Usage for Claude
|
||||
|
||||
When working with Claude on these plans:
|
||||
1. Reference the specific plan file: `@plans/[task]/plan-[version].md`
|
||||
2. Update execution logs as you progress
|
||||
3. Iterate on plans by creating new versions
|
||||
4. Use templates for consistency
|
||||
|
||||
## Best Practices
|
||||
|
||||
- Keep plans versioned by release or iteration
|
||||
- Document lessons learned in execution logs
|
||||
- Create reusable templates for recurring patterns
|
||||
- Link plans to related scripts and automation
|
|
@ -0,0 +1,47 @@
|
|||
# CLI Documentation Sync - Execution Log
|
||||
|
||||
## v3.2.0 Execution
|
||||
|
||||
### Status: Planning Complete ✅
|
||||
**Date**: 2025-06-26
|
||||
**Plan**: `plan-v3.2.0.md`
|
||||
|
||||
### Phase 1: Analysis (Not Started)
|
||||
- [ ] Audit existing CLI documentation structure
|
||||
- [ ] Extract v3.2.0 changes from release notes
|
||||
- [ ] Generate current CLI help output
|
||||
|
||||
### Phase 2: Update Documentation (Not Started)
|
||||
#### Files to Create:
|
||||
- [ ] `/content/shared/influxdb3-cli/update/_index.md`
|
||||
- [ ] `/content/shared/influxdb3-cli/update/database.md`
|
||||
- [ ] `/content/shared/influxdb3-cli/update/table.md` (Enterprise)
|
||||
- [ ] `/content/shared/influxdb3-cli/show/license.md` (Enterprise)
|
||||
|
||||
#### Files to Update:
|
||||
- [ ] `/content/shared/influxdb3-cli/create/database.md` (add `--retention-period`)
|
||||
- [ ] `/content/shared/influxdb3-cli/create/table.md` (add Enterprise `--retention-period`)
|
||||
- [ ] `/content/shared/influxdb3-cli/show/_index.md` (add license command)
|
||||
- [ ] `/content/shared/influxdb3-cli/delete/database.md` (review hard delete)
|
||||
- [ ] `/content/shared/influxdb3-cli/delete/table.md` (review hard delete)
|
||||
|
||||
### Phase 3: Automation (Not Started)
|
||||
- [ ] Create CLI documentation sync script
|
||||
- [ ] Establish documentation standards
|
||||
- [ ] Plan CI/CD integration
|
||||
|
||||
### Phase 4: Validation (Not Started)
|
||||
- [ ] Test documented commands
|
||||
- [ ] Verify completeness
|
||||
- [ ] Check cross-references
|
||||
|
||||
### Notes and Lessons Learned
|
||||
- Release notes analysis was crucial for identifying specific CLI changes
|
||||
- Having automation scripts in place (`generate-release-notes.sh`) helped identify features
|
||||
- Need to distinguish between Core and Enterprise features clearly
|
||||
|
||||
### Next Actions
|
||||
When ready to execute:
|
||||
1. Reference plan: `@plans/cli-docs-sync/plan-v3.2.0.md`
|
||||
2. Start with Phase 1 analysis
|
||||
3. Update this log as progress is made
|
|
@ -0,0 +1,165 @@
|
|||
# Plan: Update InfluxDB 3 CLI Reference Documentation for v3.2.0
|
||||
|
||||
## Phase 1: Analyze Current State and Changes
|
||||
|
||||
### 1. Audit existing CLI documentation structure
|
||||
**Existing files in `/content/shared/influxdb3-cli/`:**
|
||||
- `/content/shared/influxdb3-cli/create/_index.md`
|
||||
- `/content/shared/influxdb3-cli/create/database.md` ⚠️ **NEEDS UPDATE** (add `--retention-period`)
|
||||
- `/content/shared/influxdb3-cli/create/distinct_cache.md`
|
||||
- `/content/shared/influxdb3-cli/create/file_index.md`
|
||||
- `/content/shared/influxdb3-cli/create/last_cache.md`
|
||||
- `/content/shared/influxdb3-cli/create/table.md` ⚠️ **NEEDS UPDATE** (add Enterprise `--retention-period`)
|
||||
- `/content/shared/influxdb3-cli/create/token/_index.md`
|
||||
- `/content/shared/influxdb3-cli/create/token/admin.md`
|
||||
- `/content/shared/influxdb3-cli/create/trigger.md`
|
||||
- `/content/shared/influxdb3-cli/delete/_index.md`
|
||||
- `/content/shared/influxdb3-cli/delete/database.md` ⚠️ **REVIEW** (hard delete features)
|
||||
- `/content/shared/influxdb3-cli/delete/distinct_cache.md`
|
||||
- `/content/shared/influxdb3-cli/delete/file_index.md`
|
||||
- `/content/shared/influxdb3-cli/delete/last_cache.md`
|
||||
- `/content/shared/influxdb3-cli/delete/table.md` ⚠️ **REVIEW** (hard delete features)
|
||||
- `/content/shared/influxdb3-cli/delete/trigger.md`
|
||||
- `/content/shared/influxdb3-cli/disable/_index.md`
|
||||
- `/content/shared/influxdb3-cli/disable/trigger.md`
|
||||
- `/content/shared/influxdb3-cli/enable/_index.md`
|
||||
- `/content/shared/influxdb3-cli/enable/trigger.md`
|
||||
- `/content/shared/influxdb3-cli/query.md`
|
||||
- `/content/shared/influxdb3-cli/show/_index.md` ⚠️ **NEEDS UPDATE** (add license command)
|
||||
- `/content/shared/influxdb3-cli/show/databases.md`
|
||||
- `/content/shared/influxdb3-cli/show/system/_index.md`
|
||||
- `/content/shared/influxdb3-cli/show/system/summary.md`
|
||||
- `/content/shared/influxdb3-cli/show/system/table-list.md`
|
||||
- `/content/shared/influxdb3-cli/show/system/table.md`
|
||||
- `/content/shared/influxdb3-cli/show/tokens.md`
|
||||
- `/content/shared/influxdb3-cli/test/_index.md`
|
||||
- `/content/shared/influxdb3-cli/test/schedule_plugin.md`
|
||||
- `/content/shared/influxdb3-cli/test/wal_plugin.md`
|
||||
- `/content/shared/influxdb3-cli/write.md`
|
||||
|
||||
### 2. Extract v3.2.0 changes from release notes
|
||||
**From `/content/shared/v3-core-enterprise-release-notes/_index.md`:**
|
||||
|
||||
**Core v3.2.0 Features:**
|
||||
- Database retention period support: `create database --retention-period`, `update database --retention-period`
|
||||
- Hard delete for databases and tables
|
||||
- AWS credentials auto-reload
|
||||
- WAL improvements
|
||||
|
||||
**Enterprise v3.2.0 Features:**
|
||||
- License management: `influxdb3 show license`
|
||||
- Table retention period support: `create table --retention-period`, `update table --retention-period`
|
||||
- All Core features plus Enterprise-specific enhancements
|
||||
|
||||
### 3. Generate current CLI help output
|
||||
- Run `influxdb3 --help` for both Core and Enterprise versions
|
||||
- Extract new commands, options, and help text
|
||||
- Compare with existing documentation
|
||||
|
||||
## Phase 2: Update Documentation Files
|
||||
|
||||
### Files to Create (NEW):
|
||||
- `/content/shared/influxdb3-cli/update/_index.md` 🆕
|
||||
- `/content/shared/influxdb3-cli/update/database.md` 🆕 (retention period management)
|
||||
- `/content/shared/influxdb3-cli/update/table.md` 🆕 (Enterprise-only, retention period management)
|
||||
- `/content/shared/influxdb3-cli/show/license.md` 🆕 (Enterprise-only)
|
||||
|
||||
### Files to Update (EXISTING):
|
||||
- `/content/shared/influxdb3-cli/create/database.md` ⚠️ (add `--retention-period` option)
|
||||
- `/content/shared/influxdb3-cli/create/table.md` ⚠️ (add Enterprise `--retention-period` option)
|
||||
- `/content/shared/influxdb3-cli/show/_index.md` ⚠️ (include license command)
|
||||
- `/content/shared/influxdb3-cli/delete/database.md` ⚠️ (review hard delete options)
|
||||
- `/content/shared/influxdb3-cli/delete/table.md` ⚠️ (review hard delete options)
|
||||
|
||||
### Content Changes by Category:
|
||||
|
||||
**1. Retention Period Documentation:**
|
||||
- Update `/content/shared/influxdb3-cli/create/database.md` with `--retention-period` option
|
||||
- Create `/content/shared/influxdb3-cli/update/` directory structure
|
||||
- Create `/content/shared/influxdb3-cli/update/database.md` for retention management
|
||||
- Update `/content/shared/influxdb3-cli/create/table.md` with Enterprise `--retention-period` option
|
||||
- Create `/content/shared/influxdb3-cli/update/table.md` for Enterprise table retention management
|
||||
|
||||
**2. License Management Documentation:**
|
||||
- Update `/content/shared/influxdb3-cli/show/_index.md` to include license command
|
||||
- Create `/content/shared/influxdb3-cli/show/license.md` for Enterprise license display
|
||||
|
||||
**3. Hard Delete Documentation:**
|
||||
- Review and update `/content/shared/influxdb3-cli/delete/database.md` with hard delete options
|
||||
- Review and update `/content/shared/influxdb3-cli/delete/table.md` with hard delete options
|
||||
|
||||
## Phase 3: Automation and Process Improvements
|
||||
|
||||
### Immediate Improvements:
|
||||
1. **Create CLI documentation sync script:**
|
||||
```bash
|
||||
# Script: /Users/ja/Documents/github/docs-v2/scripts/sync-cli-docs.sh
|
||||
# - Extract help text from influxdb3 CLI
|
||||
# - Compare with existing docs
|
||||
# - Generate report of differences
|
||||
# - Auto-update basic command syntax
|
||||
```
|
||||
|
||||
2. **Establish documentation standards:**
|
||||
- Standardize frontmatter across CLI docs
|
||||
- Create templates for command documentation
|
||||
- Define Enterprise vs Core content patterns using Hugo shortcodes
|
||||
|
||||
### Long-term Automation Strategy:
|
||||
1. **CI/CD Integration:**
|
||||
- Add GitHub Actions workflow to detect CLI changes
|
||||
- Auto-generate CLI help extraction on new releases
|
||||
- Create pull requests for documentation updates
|
||||
|
||||
2. **Release Process Integration:**
|
||||
- Include CLI documentation review in release checklist
|
||||
- Link release notes to specific CLI documentation updates
|
||||
- Automated cross-referencing between release notes and CLI docs
|
||||
|
||||
3. **Content Management Improvements:**
|
||||
- Use Hugo shortcodes for Enterprise-specific content
|
||||
- Implement version-aware documentation
|
||||
- Create shared content templates for common CLI patterns
|
||||
|
||||
## Phase 4: Validation and Testing
|
||||
|
||||
### Content accuracy verification:
|
||||
- Test all documented commands and options against actual CLIs
|
||||
- Verify Enterprise vs Core feature availability
|
||||
- Cross-reference with actual CLI behavior
|
||||
|
||||
### Documentation completeness check:
|
||||
- Ensure all v3.2.0 features are documented
|
||||
- Verify examples and use cases
|
||||
- Check internal links and cross-references
|
||||
|
||||
## Suggested Recurring Process
|
||||
|
||||
### Pre-release (during development):
|
||||
- Monitor CLI changes in pull requests
|
||||
- Update documentation as features are added
|
||||
- Maintain CLI help extraction automation
|
||||
|
||||
### At release (when tagging versions):
|
||||
- Run automated CLI documentation sync
|
||||
- Review and approve auto-generated updates
|
||||
- Publish updated documentation
|
||||
|
||||
### Post-release (after release):
|
||||
- Validate documentation accuracy
|
||||
- Gather user feedback on CLI documentation
|
||||
- Plan improvements for next cycle
|
||||
|
||||
## Related Documentation Paths
|
||||
|
||||
### InfluxDB 3 Product Documentation (affects CLI usage examples):
|
||||
- `/content/influxdb3/core/write-data/influxdb3-cli.md`
|
||||
- `/content/influxdb3/enterprise/write-data/influxdb3-cli.md`
|
||||
- `/content/shared/influxdb3-write-guides/influxdb3-cli.md`
|
||||
|
||||
### Admin Documentation (affects retention and license features):
|
||||
- `/content/influxdb3/core/admin/`
|
||||
- `/content/influxdb3/enterprise/admin/`
|
||||
- `/content/influxdb3/enterprise/admin/license.md`
|
||||
|
||||
This plan ensures comprehensive documentation updates for v3.2.0 while establishing sustainable processes for future releases.
|
|
@ -0,0 +1,79 @@
|
|||
# Plan: Update InfluxDB 3 CLI Reference Documentation
|
||||
|
||||
## Automation and Process Improvements
|
||||
|
||||
### Immediate Improvements:
|
||||
1. **Create CLI documentation sync script:**
|
||||
```bash
|
||||
# Script: /Users/ja/Documents/github/docs-v2/scripts/sync-cli-docs.sh
|
||||
# - Extract help text from influxdb3 CLI at /Users/ja/.influxdb//influxdb3
|
||||
# - Compare with existing docs
|
||||
# - Generate report of differences
|
||||
# - Auto-update basic command syntax
|
||||
# - Real-time CLI verification capability established
|
||||
```
|
||||
|
||||
2. **Establish documentation standards:**
|
||||
- Standardize frontmatter across CLI docs
|
||||
- Create templates for command documentation
|
||||
- Define Enterprise vs Core content patterns using Hugo shortcodes
|
||||
|
||||
### Long-term Automation Strategy:
|
||||
1. **CI/CD Integration:**
|
||||
- Add GitHub Actions workflow to detect CLI changes
|
||||
- Auto-generate CLI help extraction on new releases
|
||||
- Create pull requests for documentation updates
|
||||
|
||||
2. **Release Process Integration:**
|
||||
- Include CLI documentation review in release checklist
|
||||
- Link release notes to specific CLI documentation updates
|
||||
- Automated cross-referencing between release notes and CLI docs
|
||||
|
||||
3. **Content Management Improvements:**
|
||||
- Use Hugo shortcodes for Enterprise-specific content
|
||||
- Implement version-aware documentation
|
||||
- Create shared content templates for common CLI patterns
|
||||
|
||||
## Phase 4: Validation and Testing
|
||||
|
||||
### Content accuracy verification:
|
||||
- ✅ **CLI Access Available**: Direct verification via `influxdb3 --help` commands
|
||||
- ✅ **Real-time Validation**: All commands and options verified against actual CLI output
|
||||
- **Process**: Use `influxdb3 [command] --help` to validate documentation accuracy
|
||||
- **Verification**: Cross-reference documented options with actual CLI behavior
|
||||
|
||||
### Documentation completeness check:
|
||||
- Ensure all v3.2.0 features are documented
|
||||
- Verify examples and use cases
|
||||
- Check internal links and cross-references
|
||||
|
||||
## Suggested Recurring Process
|
||||
|
||||
### Pre-release (during development):
|
||||
- Monitor CLI changes in pull requests
|
||||
- Update documentation as features are added
|
||||
- Maintain CLI help extraction automation
|
||||
|
||||
### At release (when tagging versions):
|
||||
- Run automated CLI documentation sync
|
||||
- Review and approve auto-generated updates
|
||||
- Publish updated documentation
|
||||
|
||||
### Post-release (after release):
|
||||
- Validate documentation accuracy
|
||||
- Gather user feedback on CLI documentation
|
||||
- Plan improvements for next cycle
|
||||
|
||||
## Related Documentation Paths
|
||||
|
||||
### InfluxDB 3 Product Documentation (affects CLI usage examples):
|
||||
- `/content/influxdb3/core/write-data/influxdb3-cli.md`
|
||||
- `/content/influxdb3/enterprise/write-data/influxdb3-cli.md`
|
||||
- `/content/shared/influxdb3-write-guides/influxdb3-cli.md`
|
||||
|
||||
### Admin Documentation (affects retention and license features):
|
||||
- `/content/influxdb3/core/admin/`
|
||||
- `/content/influxdb3/enterprise/admin/`
|
||||
- `/content/influxdb3/enterprise/admin/license.md`
|
||||
|
||||
This plan ensures comprehensive documentation updates for v3.2.0 while establishing sustainable processes for future releases.
|
|
@ -2,6 +2,7 @@
|
|||
/Cargo.lock
|
||||
config.toml
|
||||
content
|
||||
influxdb3/**/data
|
||||
_*_pid
|
||||
node_modules
|
||||
shared
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
# Create a processing engine request trigger
|
||||
# // SECTION - influxdb3-core
|
||||
curl -v -X POST "http://localhost:8181/api/v3/configure/processingengine/trigger" \
|
||||
--header "Authorization: Bearer ${INFLUXDB3_CORE_ADMIN_TOKEN}" \
|
||||
--json '{
|
||||
"db": "sensors",
|
||||
"plugin_filename": "request.py",
|
||||
"trigger_name": "Process request trigger",
|
||||
"trigger_specification": "request:process-request"
|
||||
}'
|
||||
|
||||
# // SECTION - influxdb3-enterprise
|
||||
curl -v -X POST "http://localhost:8181/api/v3/configure/processingengine/trigger" \
|
||||
--header "Authorization: Bearer ${INFLUXDB3_ENTERPRISE_ADMIN_TOKEN}" \
|
||||
--json '{
|
||||
"db": "sensors",
|
||||
"plugin_filename": "request.py",
|
||||
"trigger_name": "Process request trigger",
|
||||
"trigger_specification": {"request_path": {"path": "process-request"}}
|
||||
}'
|
Loading…
Reference in New Issue