Merge branch 'master' into fix-api-docs-links

pull/6076/head
Jason Stirnaman 2025-05-22 16:02:09 -05:00 committed by GitHub
commit d471bbe2a1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
21 changed files with 196 additions and 185 deletions

View File

@ -3,7 +3,8 @@
"baseUrl": ".",
"paths": {
"*": [
"*"
"*",
"../node_modules/*"
]
}
}

View File

@ -164,13 +164,13 @@ gpg: key 7C3D57159FC2F927: public key "InfluxData Package Signing Key <support@i
<!--test:setup
```sh
curl --silent --location --output-dir ~/Downloads -O \
"https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_darwin_amd64.tar.gz" \
"https://download.influxdata.com/influxdb/releases/v{{< latest-patch >}}/influxdb2-{{< latest-patch >}}_darwin_amd64.tar.gz" \
```
-->
```sh
curl --silent --location \
https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_darwin_amd64.tar.gz.asc \
https://download.influxdata.com/influxdb/releases/v{{< latest-patch >}}/influxdb2-{{< latest-patch >}}_darwin_amd64.tar.gz.asc \
| gpg --verify - ~/Downloads/influxdb2-{{< latest-patch >}}_darwin_amd64.tar.gz \
2>&1 | grep 'InfluxData Package Signing Key <support@influxdata.com>'
```
@ -239,12 +239,12 @@ brew install influxdb
1. In your browser or your terminal, download the InfluxDB package.
<a class="btn download" href="https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_darwin_amd64.tar.gz" download>InfluxDB v2 (macOS)</a>
<a class="btn download" href="https://download.influxdata.com/influxdb/releases/v{{< latest-patch >}}/influxdb2-{{< latest-patch >}}_darwin_amd64.tar.gz" download>InfluxDB v2 (macOS)</a>
```sh
# Download using cURL
curl --location -O \
"https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_darwin_amd64.tar.gz"
"https://download.influxdata.com/influxdb/releases/v{{< latest-patch >}}/influxdb2-{{< latest-patch >}}_darwin_amd64.tar.gz"
```
2. {{< req text="Recommended:" color="magenta" >}}: Verify the integrity of the download--for example, enter the
@ -443,18 +443,18 @@ _If necessary, adjust the example file paths and utilities for your system._
1. In your browser or your terminal, download the InfluxDB binary for your
system architecture (AMD64 or ARM).
<a class="btn download" href="https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_linux_amd64.tar.gz" download >InfluxDB v2 (amd64)</a>
<a class="btn download" href="https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_linux_arm64.tar.gz" download >InfluxDB v2 (arm)</a>
<a class="btn download" href="https://download.influxdata.com/influxdb/releases/v{{< latest-patch >}}/influxdb2-{{< latest-patch >}}_linux_amd64.tar.gz" download >InfluxDB v2 (amd64)</a>
<a class="btn download" href="https://download.influxdata.com/influxdb/releases/v{{< latest-patch >}}/influxdb2-{{< latest-patch >}}_linux_arm64.tar.gz" download >InfluxDB v2 (arm)</a>
<!--test:actual
```sh
curl -s --location -O \
"https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_linux_amd64.tar.gz"
"https://download.influxdata.com/influxdb/releases/v{{< latest-patch >}}/influxdb2-{{< latest-patch >}}_linux_amd64.tar.gz"
```
```sh
curl -s --location -O \
"https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_linux_arm64.tar.gz"
"https://download.influxdata.com/influxdb/releases/v{{< latest-patch >}}/influxdb2-{{< latest-patch >}}_linux_arm64.tar.gz"
```
-->
@ -463,7 +463,7 @@ _If necessary, adjust the example file paths and utilities for your system._
```sh
# Use curl to download the amd64 binary.
curl --location -O \
https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_linux_amd64.tar.gz
https://download.influxdata.com/influxdb/releases/v{{< latest-patch >}}/influxdb2-{{< latest-patch >}}_linux_amd64.tar.gz
```
<!--pytest.mark.skip-->
@ -471,7 +471,7 @@ _If necessary, adjust the example file paths and utilities for your system._
```sh
# Use curl to download the arm64 binary.
curl --location -O \
https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_linux_arm64.tar.gz
https://download.influxdata.com/influxdb/releases/v{{< latest-patch >}}/influxdb2-{{< latest-patch >}}_linux_arm64.tar.gz
```
2. [Choose the InfluxData key-pair for your OS version](#choose-the-influxdata-key-pair-for-your-system).
@ -505,7 +505,7 @@ _If necessary, adjust the example file paths and utilities for your system._
| grep 'InfluxData Package Signing Key <support@influxdata.com>' \
&&
# Download and verify the binary's signature file
curl --silent --location "https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_linux_amd64.tar.gz.asc" \
curl --silent --location "https://download.influxdata.com/influxdb/releases/v{{< latest-patch >}}/influxdb2-{{< latest-patch >}}_linux_amd64.tar.gz.asc" \
| gpg --verify - influxdb2-{{< latest-patch >}}_linux_amd64.tar.gz \
2>&1 | grep 'InfluxData Package Signing Key <support@influxdata.com>'
```
@ -519,7 +519,7 @@ _If necessary, adjust the example file paths and utilities for your system._
| grep 'InfluxData Package Signing Key <support@influxdata.com>' \
&&
# Download and verify the binary's signature file
curl --silent --location "https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_linux_arm64.tar.gz.asc" \
curl --silent --location "https://download.influxdata.com/influxdb/releases/v{{< latest-patch >}}/influxdb2-{{< latest-patch >}}_linux_arm64.tar.gz.asc" \
| gpg --verify - influxdb2-{{< latest-patch >}}_linux_arm64.tar.gz \
2>&1 | grep 'InfluxData Package Signing Key <support@influxdata.com>'
```
@ -618,7 +618,7 @@ chmod 0750 ~/.influxdbv2
>
> _You'll install the `influx CLI` in a [later step](#download-install-and-configure-the-influx-cli)._
<a class="btn download" href="https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}-windows.zip" download >InfluxDB v2 (Windows)</a>
<a class="btn download" href="https://download.influxdata.com/influxdb/releases/v{{< latest-patch >}}/influxdb2-{{< latest-patch >}}-windows.zip" download >InfluxDB v2 (Windows)</a>
Expand the downloaded archive into `C:\Program Files\InfluxData\` and rename the
files if desired.

View File

@ -2744,6 +2744,61 @@ storage-validate-keys = true
---
### storage-wal-flush-on-shutdown
Flush the WAL on shutdown.
**Default:** `false`
| influxd flag | Environment variable | Configuration key |
| :------------------------------ | :------------------------------------ | :---------------------------- |
| `--storage-wal-flush-on-shutdown` | `INFLUXD_STORAGE_WAL_FLUSH_ON_SHUTDOWN` | `storage-wal-flush-on-shutdown` |
If set, `influxd` flushes or snapshots all WALs prior to completing shutdown--`influxd` performs cache snapshots on shutdown, which
results in the WAL files being written to TSM files and then deleted.
This is useful in upgrade and downgrade scenarios to prevent WAL format
compatibility issues.
###### influxd flag
<!--pytest.mark.skip-->
```sh
influxd --storage-wal-flush-on-shutdown
```
###### Environment variable
```sh
export INFLUXD_STORAGE_WAL_FLUSH_ON_SHUTDOWN=true
```
###### Configuration file
{{< code-tabs-wrapper >}}
{{% code-tabs %}}
[YAML](#)
[TOML](#)
[JSON](#)
{{% /code-tabs %}}
{{% code-tab-content %}}
```yml
storage-wal-flush-on-shutdown: true
```
{{% /code-tab-content %}}
{{% code-tab-content %}}
```toml
storage-wal-flush-on-shutdown = true
```
{{% /code-tab-content %}}
{{% code-tab-content %}}
```json
{
"storage-wal-flush-on-shutdown": true
}
```
{{% /code-tab-content %}}
{{< /code-tabs-wrapper >}}
---
### storage-wal-fsync-delay
Duration a write will wait before fsyncing.
A duration greater than `0` batches multiple fsync calls.

View File

@ -8,6 +8,27 @@ menu:
weight: 101
---
## v2.7.12 {date="2025-05-20"}
### Features
- Add a `--pid-file` option to write a PID file to the specified location on startup. InfluxDB removes the PID file on shutdown.
- Add a `--storage-wal-flush-on-shutdown` option to flush the WAL on database shutdown to ensure all data is written to disk.
- Improve response error messages for dropped points, adding details including database, retention policy, and which bound was violated for partial writes.
### Bug Fixes
- Fix a locking issue in `TagValueIterator` that could cause reads and writes in buckets to block. [PR #26414](https://github.com/influxdata/influxdb/pull/26414)
### Maintenance
- Improved startup logging with an "are we there yet" counter for the number and percentage of shards opened.
- Update Go to 1.23.9.
- Update Flux to v0.196.1.
- Refresh dependencies to address security vulnerabilities and improve stability.
---
## v2.7.11 {date="2024-12-02"}
### Features
@ -606,7 +627,7 @@ to migrate InfluxDB key-value metadata schemas to earlier 2.x versions when nece
#### Flux
- Update to [Flux v0.139.0](/flux/v0/release-notes/#v01390).
- Enable writing to remote hosts using the Flux [`to()`](/flux/v0/stdlib/influxdata/influxdb/to/) and [`experimental.to()`](/flux/v0/v0.x/stdlib/experimental/to/) functions.
- Enable writing to remote hosts using the Flux [`to()`](/flux/v0/stdlib/influxdata/influxdb/to/) and [`experimental.to()`](/flux/v0/stdlib/experimental/to/) functions.
- Flux now supports locations that dynamically modify time offsets based on your specified timezone. You can also specify fixed time offsets relative to UTC.
- Perform [bitwise operations](/flux/v0/stdlib/experimental/bitwise/)
on integers and unsigned integers.
@ -673,24 +694,24 @@ New features include:
- Add a new route `/api/v2/resources` that returns a list of known resources to the platform, including the following resource types. Makes it easier to update All Access tokens with current resources:
- `AuthorizationsResourceType`
- `BucketsResourceType`
- `ChecksResourceType`
- `DashboardsResourceType`
- `DBRPResourceType`
- `DocumentsResourceType`
- `LabelsResourceType`
- `NotificationEndpointResourceType`
- `NotificationRuleResourceType`
- `OrgsResourceType`
- `ScraperResourceType`
- `SecretsResourceType`
- `SourcesResourceType`
- `TasksResourceType`
- `TelegrafsResourceType`
- `UsersResourceType`
- `VariablesResourceType`
- `ViewsResourceType`
- `AuthorizationsResourceType`
- `BucketsResourceType`
- `ChecksResourceType`
- `DashboardsResourceType`
- `DBRPResourceType`
- `DocumentsResourceType`
- `LabelsResourceType`
- `NotificationEndpointResourceType`
- `NotificationRuleResourceType`
- `OrgsResourceType`
- `ScraperResourceType`
- `SecretsResourceType`
- `SourcesResourceType`
- `TasksResourceType`
- `TelegrafsResourceType`
- `UsersResourceType`
- `VariablesResourceType`
- `ViewsResourceType`
#### Flux updates
@ -992,10 +1013,10 @@ The startup process automatically generates replacement `tsi1` indexes for shard
- Fix timeout setup for `influxd` graceful shutdown.
- Require user to set password during initial user onboarding.
- Error message improvements:
- Remove duplication from task error messages.
- Improve error message shown when influx CLI can't find an `org` by name.
- Improve error message when opening BoltDB with unsupported file system options.
- Improve messages in DBRP API validation errors.
- Remove duplication from task error messages.
- Improve error message shown when influx CLI can't find an `org` by name.
- Improve error message when opening BoltDB with unsupported file system options.
- Improve messages in DBRP API validation errors.
- `influxd upgrade` improvements:
- Add confirmation step with file sizes before copying data files.
- Prevent panic in `influxd upgrade` when v1 users exist but v1 config is missing.
@ -1072,8 +1093,8 @@ Previously, the database retention policy (DBRP) mapping API did not match the s
### Features
- Improvements to upgrade from 1.x to 2.x:
- Warning appears if auth is not enabled in 1.x (`auth-enabled = false`), which is not an option in 2.x. For details, see [Upgrade from InfluxDB 1.x to InfluxDB 2.0](/influxdb/v2/upgrade/v1-to-v2/).
- `upgrade` command now checks to see if continuous queries are running and automatically exports them to a local file.
- Warning appears if auth is not enabled in 1.x (`auth-enabled = false`), which is not an option in 2.x. For details, see [Upgrade from InfluxDB 1.x to InfluxDB 2.0](/influxdb/v2/upgrade/v1-to-v2/).
- `upgrade` command now checks to see if continuous queries are running and automatically exports them to a local file.
- Upgrade to [Flux v0.95.0](/flux/v0/release-notes/#v0-95-0).
- Upgrade `flux-lsp-browser` to v.0.5.23.
- Manage database retention policy (DBRP) mappings via CLI. See [`influx v1 dbrp`](/influxdb/v2/reference/cli/influx/v1/dbrp/).
@ -1117,8 +1138,8 @@ When there are multiple [DBRP mappings](/influxdb/v2/reference/api/influxdb-1x/d
Highlights include:
- Support for **upgrading to InfluxDB 2.0**:
- To upgrade **from InfluxDB 1.x**, see [Upgrade from InfluxDB 1.x to InfluxDB 2.0](/influxdb/v2/upgrade/v1-to-v2).
- To upgrade **from InfluxDB 2.0 beta 16 or earlier**, see [Upgrade from InfluxDB 2.0 beta to InfluxDB 2.0](/influxdb/v2/upgrade/v2-beta-to-v2).
- To upgrade **from InfluxDB 1.x**, see [Upgrade from InfluxDB 1.x to InfluxDB 2.0](/influxdb/v2/upgrade/v1-to-v2).
- To upgrade **from InfluxDB 2.0 beta 16 or earlier**, see [Upgrade from InfluxDB 2.0 beta to InfluxDB 2.0](/influxdb/v2/install/upgrade/v2-beta-to-v2/).
- **Flux**, our powerful new functional data scripting language designed for querying, analyzing, and acting on data. This release includes [Flux v0.94.0](/flux/v0/release-notes/#v0940). If you're new to Flux, [check out how to get started with Flux](/influxdb/v2/query-data/get-started/). Next, delve deeper into the [Flux standard library](/flux/v0/stdlib//) reference docs and see how to [query with Flux](/influxdb/v2/query-data/flux/).
- Support for [InfluxDB 1.x API compatibility](/influxdb/v2/reference/api/influxdb-1x/).
- **Templates** and **stacks**. Discover how to [use community templates](/influxdb/v2/tools/influxdb-templates/use/) and how to [manage templates with stacks](/influxdb/v2/tools/influxdb-templates/stacks/).
@ -1241,14 +1262,14 @@ If you're new to InfluxDB 2.0, we recommend checking out [how to get started](/i
{{% warn %}}
#### Manual upgrade required
To simplify the migration for existing users of InfluxDB 1.x, this release includes significant breaking changes that require a manual upgrade from all alpha and beta versions. For more information, see [Upgrade to InfluxDB OSS 2.0rc](/influxdb/v2/upgrade/v2-beta-to-v2/),
To simplify the migration for existing users of InfluxDB 1.x, this release includes significant breaking changes that require a manual upgrade from all alpha and beta versions. For more information, see [Upgrade to InfluxDB OSS 2.0rc](/influxdb/v2/install/upgrade/v2-beta-to-v2/),
{{% /warn %}}
### Breaking changes
#### Manual upgrade
- To continue using data from InfluxDB 2.0 beta 16 or earlier, you must move all existing data out of the `~/.influxdbv2` (or equivalent) path, including `influxd.bolt`. All existing dashboards, tasks, integrations, alerts, users, and tokens must be recreated. For information on how to migrate your data, see [Upgrade to InfluxDB OSS 2.0rc](/influxdb/v2/upgrade/v2-beta-to-v2/).
- To continue using data from InfluxDB 2.0 beta 16 or earlier, you must move all existing data out of the `~/.influxdbv2` (or equivalent) path, including `influxd.bolt`. All existing dashboards, tasks, integrations, alerts, users, and tokens must be recreated. For information on how to migrate your data, see [Upgrade to InfluxDB OSS 2.0rc](/influxdb/v2/install/upgrade/v2-beta-to-v2/).
#### Port update to 8086
@ -2045,7 +2066,7 @@ _**This will remove all data from your InfluxDB v2.0 instance including time ser
###### Linux and macOS
```sh
rm ~/.influxdbv2/influxd.bolt
rm -f ~/.influxdbv2/influxd.bolt
```
Once completed, `v2.0.0-alpha.6` can be started.
@ -2079,7 +2100,7 @@ run the following command.
###### Linux and macOS
```sh
rm -r ~/.influxdbv2/engine
rm -rf ~/.influxdbv2/engine
```
Once completed, InfluxDB v2.0.0-alpha.5 can be started.

View File

@ -1,56 +0,0 @@
---
title: Revoke a database token
description: >
Use the [`influxctl token revoke` command](/influxdb3/clustered/reference/cli/influxctl/token/revoke/)
to revoke a token from your InfluxDB cluster and disable all
permissions associated with the token.
Provide the ID of the token you want to revoke.
menu:
influxdb3_clustered:
parent: Database tokens
weight: 203
list_code_example: |
```sh
influxctl token revoke <TOKEN_ID>
```
aliases:
- /influxdb3/clustered/admin/tokens/delete/
- /influxdb3/clustered/admin/tokens/database/delete/
---
Use the [`influxctl token revoke` command](/influxdb3/clustered/reference/cli/influxctl/token/revoke/)
to revoke a database token from your {{< product-name omit=" Clustered" >}} cluster and disable
all permissions associated with the token.
1. If you haven't already, [download and install the `influxctl` CLI](/influxdb3/clustered/reference/cli/influxctl/#download-and-install-influxctl).
2. Run the [`influxctl token list` command](/influxdb3/clustered/reference/cli/influxctl/token/list)
to output tokens with their IDs.
Copy the **token ID** of the token you want to delete.
```sh
influxctl token list
```
3. Run the `influxctl token revoke` command and provide the following:
- Token ID to revoke
4. Confirm that you want to revoke the token.
{{% code-placeholders "TOKEN_ID" %}}
```sh
influxctl token revoke TOKEN_ID
```
{{% /code-placeholders %}}
> [!Warning]
> #### Revoking a token is immediate and cannot be undone
>
> Revoking a database token is a destructive action that takes place immediately
> and cannot be undone.
>
> #### Rotate revoked tokens
>
> After revoking a database token, any clients using the revoked token need to
> be updated with a new database token to continue to interact with your
> {{% product-name omit=" Clustered" %}} cluster.

View File

@ -19,7 +19,7 @@ aliases:
---
Use the [`influxctl token revoke` command](/influxdb3/clustered/reference/cli/influxctl/token/revoke/)
to revoke a database token from your InfluxDB cluster and disable
to revoke a database token from your {{< product-name omit=" Clustered" >}} cluster and disable
all permissions associated with the token.
1. If you haven't already, [download and install the `influxctl` CLI](/influxdb3/clustered/reference/cli/influxctl/#download-and-install-influxctl).

View File

@ -16,7 +16,7 @@ list_code_example: |
```
#### HTTP API
```bash
curl -X POST "http://{{< influxdb/host >}}/api/v3/enterprise/configure/token/admin" \
curl -X POST "http://{{< influxdb/host >}}/api/v3/configure/token/admin" \
--header 'Accept: application/json' \
--header 'Content-Type: application/json'
```

View File

@ -35,7 +35,6 @@ across sessions, assign the token string to the `INFLUXDB3_AUTH_TOKEN` environme
{{% tab-content %}}
Use the following endpoint to create an admin token:
{{% show-in "core" %}}
{{% api-endpoint method="POST" endpoint="/api/v3/configure/token/admin" api-ref="/influxdb3/version/api/v3/#operation/PostCreateAdminToken" %}}
```bash
@ -43,15 +42,5 @@ curl -X POST "http://{{< influxdb/host >}}/api/v3/configure/token/admin" \
--header 'Accept: application/json' \
--header 'Content-Type: application/json'
```
{{% /show-in %}}
{{% show-in "enterprise" %}}
{{% api-endpoint method="POST" endpoint="/api/v3/enterprise/configure/token/admin" api-ref="/influxdb3/version/api/v3/#operation/PostCreateAdminToken" %}}
```bash
curl -X POST "http://{{< influxdb/host >}}/api/v3/{{< product-key >}}/configure/token/admin" \
--header 'Accept: application/json' \
--header 'Content-Type: application/json'
```
{{% /show-in %}}
{{% /tab-content %}}
{{< /tabs-wrapper >}}

View File

@ -56,36 +56,18 @@ The output contains the new token string and InfluxDB deactivates the previous t
<!----------------------------BEGIN HTTP API----------------------------------->
Use the following HTTP API endpoint:
{{% show-in "core" %}}
{{% api-endpoint method="POST" endpoint="/api/v3/configure/token/admin/regenerate" api-ref="/influxdb3/version/api/v3/configure/token/admin/regenerate" %}}
{{% /show-in %}}
{{% show-in "enterprise" %}}
{{% api-endpoint method="POST" endpoint="/api/v3/enterprise/configure/token/admin/regenerate" api-ref="/influxdb3/version/api/v3/enterprise/configure/token/admin" %}}
{{% /show-in %}}
In your request, send an `Authorization` header with your current admin token string
--for example:
{{% show-in "core" %}}
{{% code-placeholders "ADMIN_TOKEN" %}}
```bash
curl -X POST "http://{{< influxdb/host >}}/api/v3/configure/token/admin" \
curl -X POST "http://{{< influxdb/host >}}/api/v3/configure/token/admin/regenerate" \
--header "Authorization: Bearer ADMIN_TOKEN" \
--header "Accept: application/json"
```
{{% /code-placeholders %}}
{{% /show-in %}}
{{% show-in "enterprise" %}}
{{% code-placeholders "ADMIN_TOKEN" %}}
```bash
curl -X POST "http://{{< influxdb/host >}}/api/v3/enterprise/configure/token/admin" \
--header "Authorization: Bearer ADMIN_TOKEN" \
--header "Accept: application/json"
```
{{% /code-placeholders %}}
{{% /show-in %}}
In your command, replace {{% code-placeholder-key %}}`ADMIN_TOKEN`{{% /code-placeholder-key %}} with the current token string.

View File

@ -10,6 +10,7 @@ processing engine.
influxdb3 create trigger [OPTIONS] \
--database <DATABASE_NAME> \
--token <AUTH_TOKEN> \
--plugin-filename <PLUGIN_FILENAME> \
--trigger-spec <TRIGGER_SPECIFICATION> \
<TRIGGER_NAME>
```
@ -20,16 +21,21 @@ influxdb3 create trigger [OPTIONS] \
## 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 |
| | `--trigger-spec` | Trigger specification--for example `table:<TABLE_NAME>` or `all_tables` |
| | `--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 |
| | `--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 |
| | `--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` |
| | `--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 |
| | `--help-all` | Print detailed help information |
If you want to use a plugin from the [Plugin Library](https://github.com/influxdata/influxdb3_plugins) repo, use the url path with `gh:` specified as the prefix.
For example, to use the [System Metrics](https://github.com/influxdata/influxdb3_plugins/blob/main/examples/schedule/system_metrics/system_metrics.py) plugin, the plugin filename is `gh:examples/schedule/system_metrics/system_metrics.py`.
### Option environment variables
@ -47,8 +53,8 @@ The following examples show how to use the `influxdb3 create trigger` command to
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: Database name
- {{% code-placeholder-key %}}`AUTH_TOKEN`{{% /code-placeholder-key %}}:
Authentication token
- {{% code-placeholder-key %}}`AUTH_TOKEN`{{% /code-placeholder-key %}}: Authentication token
- {{% code-placeholder-key %}}`PLUGIN_FILENAME`{{% /code-placeholder-key %}}: Python plugin filename
- {{% code-placeholder-key %}}`TRIGGER_NAME`{{% /code-placeholder-key %}}:
Name of the trigger to create
- {{% code-placeholder-key %}}`TABLE_NAME`{{% /code-placeholder-key %}}:
@ -66,6 +72,7 @@ Create a trigger that processes data from a specific table.
influxdb3 create trigger \
--database DATABASE_NAME \
--token AUTH_TOKEN \
--plugin-filename PLUGIN_FILENAME \
--trigger-spec table:TABLE_NAME \
TRIGGER_NAME
```
@ -80,6 +87,7 @@ Create a trigger that applies to all tables in the specified database.
influxdb3 create trigger \
--database DATABASE_NAME \
--token AUTH_TOKEN \
--plugin-filename <PLUGIN_FILENAME> \
--trigger-spec all_tables \
TRIGGER_NAME
```
@ -97,6 +105,7 @@ influxdb3 create trigger \
--disabled \
--database DATABASE_NAME \
--token AUTH_TOKEN \
--plugin-filename <PLUGIN_FILENAME> \
--trigger-spec table:TABLE_NAME \
TRIGGER_NAME
```

View File

@ -161,6 +161,9 @@
- flag: "--storage-validate-keys"
added: 2.0
- flag: "--storage-wal-flush-on-shutdown"
added: 2.7
- flag: "--storage-wal-fsync-delay"
added: 2.0

View File

@ -6,7 +6,7 @@ influxdb3_core:
versions: [core]
list_order: 2
latest: core
latest_patch: 3.0.1
latest_patch: 3.0.3
placeholder_host: localhost:8181
ai_sample_questions:
- How do I install and run InfluxDB 3 Core?
@ -21,7 +21,7 @@ influxdb3_enterprise:
versions: [enterprise]
list_order: 2
latest: enterprise
latest_patch: 3.0.1
latest_patch: 3.0.3
placeholder_host: localhost:8181
ai_sample_questions:
- How do I install and run InfluxDB 3 Enterprise?
@ -85,7 +85,7 @@ influxdb:
- v1
latest: v2.7
latest_patches:
v2: 2.7.11
v2: 2.7.12
v1: 1.11.8
latest_cli:
v2: 2.7.5

View File

@ -8,49 +8,49 @@
{{- if $index -}},{{- end }}
{
"name": {{ .Name | jsonify }},
"url": {{ absURL (cond (isset .Params "url") .Params.url .URL) | jsonify }},
"url": {{ absURL (default .URL .Params.url) | jsonify }},
"children": [
{{- range $index, $entry := .Children -}}
{{- if $index -}},{{- end }}
{
"name": {{ .Name | jsonify }},
"url": {{ absURL (cond (isset .Params "url") .Params.url .URL) | jsonify }},
"url": {{ absURL (default .URL .Params.url) | jsonify }},
"children": [
{{- range $index, $entry := .Children -}}
{{- if $index -}},{{- end }}
{
"name": {{ .Name | jsonify }},
"url": {{ absURL (cond (isset .Params "url") .Params.url .URL) | jsonify }},
"url": {{ absURL (default .URL .Params.url) | jsonify }},
"children": [
{{- range $index, $entry := .Children -}}
{{- if $index -}},{{- end }}
{
"name": {{ .Name | jsonify }},
"url": {{ absURL (cond (isset .Params "url") .Params.url .URL) | jsonify }},
"url": {{ absURL (default .URL .Params.url) | jsonify }},
"children": [
{{- range $index, $entry := .Children -}}
{{- if $index -}},{{- end }}
{
"name": {{ .Name | jsonify }},
"url": {{ absURL (cond (isset .Params "url") .Params.url .URL) | jsonify }},
"url": {{ absURL (default .URL .Params.url) | jsonify }},
"children": [
{{- range $index, $entry := .Children -}}
{{- if $index -}},{{- end }}
{
"name": {{ .Name | jsonify }},
"url": {{ absURL (cond (isset .Params "url") .Params.url .URL) | jsonify }},
"url": {{ absURL (default .URL .Params.url) | jsonify }},
"children": [
{{- range $index, $entry := .Children -}}
{{- if $index -}},{{- end }}
{
"name": {{ .Name | jsonify }},
"url": {{ absURL (cond (isset .Params "url") .Params.url .URL) | jsonify }},
"url": {{ absURL (default .URL .Params.url) | jsonify }},
"children": [
{{- range $index, $entry := .Children -}}
{{- if $index -}},{{- end }}
{
"name": {{ .Name | jsonify }},
"url": {{ absURL (cond (isset .Params "url") .Params.url .URL) | jsonify }},
"url": {{ absURL (default .URL .Params.url) | jsonify }},
"children": [
{{ range .Children }}
{{ end }}

View File

@ -13,7 +13,7 @@
</div>
{{ else if eq .Kind "section" }}
<div class="important block">
{{ $packageTitle := cond (isset .Params "list_title") $.Params.list_title .Title }}
{{ $packageTitle := default .Title .Params.list_title }}
{{ $packageName := replaceRE `^(.*)( package)` "<code>$1</code>$2" $packageTitle }}
<p>
The {{ $packageName | safeHTML }} is a user-contributed package

View File

@ -13,7 +13,7 @@
</div>
{{ else if eq .Kind "section" }}
<div class="important block">
{{ $packageTitle := cond (isset .Params "list_title") $.Params.list_title .Title }}
{{ $packageTitle := default .Title .Params.list_title }}
{{ $packageName := replaceRE `^(.*)( package)` "<code>$1</code>$2" $packageTitle }}
<p>
The {{ $packageName | safeHTML }} is experimental and <a href="{{ $expRiskURL }}">subject to change at any time</a>.

View File

@ -2,9 +2,9 @@
{{ $product := index $productPathData 0 }}
{{ $version := index $productPathData 1 }}
{{ $tagSet := print $product "/" $version "/tags" }}
{{ if isset .Params $tagSet }}
{{ with .Param $tagSet }}
<div class="tags">
{{ range .Param $tagSet }}
{{ range . }}
{{ $name := . }}
{{ with $.Site.GetPage (printf "/%s/%s" $tagSet ($name | urlize)) }}
<a class="tag btn" href="{{ .RelPermalink }}">{{ $name }}</a>

View File

@ -35,10 +35,10 @@
{{ else if eq $currentVersion nil}}
{{ $scratch.Set "siteTitle" (print (index .Site.Data.products $product).name " Documentation") }}
{{ else }}
{{ if (isset (index .Site.Data.products $product) "altname" ) }}
{{ $scratch.Set "siteTitle" (print (index .Site.Data.products $product).altname " Documentation") }}
{{ with (index .Site.Data.products $product).altname }}
{{ $scratch.Set "siteTitle" (print . " Documentation") }}
{{ else }}
{{ $scratch.Set "siteTitle" (print (index .Site.Data.products $product).name " Documentation") }}
{{ $scratch.Set "siteTitle" (print (index $.Site.Data.products $product).name " Documentation") }}
{{ end }}
{{ end }}

View File

@ -4,37 +4,37 @@
{{ range $menu }}
<li class="nav-category {{ if eq $page.RelPermalink .URL }}active{{end}}">
{{ if .HasChildren }}<a href="#" class="children-toggle {{ if or ($page.IsMenuCurrent .Menu .) ($page.HasMenuCurrent .Menu .) }}open{{end}}"></a>{{ end }}
<a href='{{ cond (isset .Params "url") .Params.url .URL }}'>{{ .Name }}</a>
<a href='{{ default .URL .Params.url }}'>{{ .Name }}</a>
{{ if .HasChildren }}
<ul class="children {{ if or ($page.IsMenuCurrent .Menu .) ($page.HasMenuCurrent .Menu .) }}open{{end}}">
{{ range .Children }}
<li class="nav-item {{ if eq $page.RelPermalink .URL }}active{{end}}">
{{ if .HasChildren }}<a href="#" class="children-toggle {{ if or ($page.IsMenuCurrent .Menu .) ($page.HasMenuCurrent .Menu .) }}open{{end}}"></a>{{ end }}
<a href='{{ cond (isset .Params "url") .Params.url .URL }}'>{{ .Name }}</a>
<a href='{{ default .URL .Params.url }}'>{{ .Name }}</a>
{{ if .HasChildren }}
<ul class="children {{ if or ($page.IsMenuCurrent .Menu .) ($page.HasMenuCurrent .Menu .) }}open{{end}}">
{{ range .Children }}
<li class="nav-item {{ if eq $page.RelPermalink .URL }}active{{end}}">
{{ if .HasChildren }}<a href="#" class="children-toggle {{ if or ($page.IsMenuCurrent .Menu .) ($page.HasMenuCurrent .Menu .) }}open{{end}}"></a>{{ end }}
<a href='{{ cond (isset .Params "url") .Params.url .URL }}'>{{ .Name }}</a>
<a href='{{ default .URL .Params.url }}'>{{ .Name }}</a>
{{ if .HasChildren }}
<ul class="children {{ if or ($page.IsMenuCurrent .Menu .) ($page.HasMenuCurrent .Menu .) }}open{{end}}">
{{ range .Children }}
<li class="nav-item {{ if eq $page.RelPermalink .URL }}active{{end}}">
{{ if .HasChildren }}<a href="#" class="children-toggle {{ if or ($page.IsMenuCurrent .Menu .) ($page.HasMenuCurrent .Menu .) }}open{{end}}"></a>{{ end }}
<a href='{{ cond (isset .Params "url") .Params.url .URL }}'>{{ .Name }}</a>
<a href='{{ default .URL .Params.url }}'>{{ .Name }}</a>
{{ if .HasChildren }}
<ul class="children {{ if or ($page.IsMenuCurrent .Menu .) ($page.HasMenuCurrent .Menu .) }}open{{end}}">
{{ range .Children }}
<li class="nav-item {{ if eq $page.RelPermalink .URL }}active{{end}}">
{{ if .HasChildren }}<a href="#" class="children-toggle {{ if or ($page.IsMenuCurrent .Menu .) ($page.HasMenuCurrent .Menu .) }}open{{end}}"></a>{{ end }}
<a href='{{ cond (isset .Params "url") .Params.url .URL }}'>{{ .Name }}</a>
<a href='{{ default .URL .Params.url }}'>{{ .Name }}</a>
{{ if .HasChildren }}
<ul class="children {{ if or ($page.IsMenuCurrent .Menu .) ($page.HasMenuCurrent .Menu .) }}open{{end}}">
{{ range .Children }}
<li class="nav-item {{ if eq $page.RelPermalink .URL }}active{{end}}">
{{ if .HasChildren }}<a href="#" class="children-toggle {{ if or ($page.IsMenuCurrent .Menu .) ($page.HasMenuCurrent .Menu .) }}open{{end}}"></a>{{ end }}
<a href='{{ cond (isset .Params "url") .Params.url .URL }}'>{{ .Name }}</a>
<a href='{{ default .URL .Params.url }}'>{{ .Name }}</a>
<!-- Begin nested block -->
{{ if .HasChildren }}
@ -42,7 +42,7 @@
{{ range .Children }}
<li class="nav-item {{ if eq $page.RelPermalink .URL }}active{{end}}">
{{ if .HasChildren }}<a href="#" class="children-toggle {{ if or ($page.IsMenuCurrent .Menu .) ($page.HasMenuCurrent .Menu .) }}open{{end}}"></a>{{ end }}
<a href='{{ cond (isset .Params "url") .Params.url .URL }}'>{{ .Name }}</a>
<a href='{{ default .URL .Params.url }}'>{{ .Name }}</a>
<!-- To add more nested layers, copy the nested block and paste it here -->
</li>
{{ end }}

View File

@ -18,9 +18,9 @@
{{ if eq $type "articles" }}
<div class="children-links">
{{ range $pages.ByWeight }}
{{ $title := cond ( isset .Params "list_title" ) (.Params.list_title | .RenderString) (.Title | .RenderString) }}
{{ $url := cond ( isset .Params "external_url" ) .Params.external_url .RelPermalink }}
{{ $target := cond ( isset .Params "external_url" ) "_blank" "" }}
{{ $title := default .Title .Params.list_title | .RenderString }}
{{ $url := default .RelPermalink .Params.external_url }}
{{ $target := cond (ne .Params.external_url nil) "_blank" "" }}
{{ if eq $hlevel "h2"}} <h2 id="{{ anchorize $title }}"><a href="{{ $url }}" target="{{ $target }}">{{ $title }}</a></h2>
{{ else if eq $hlevel "h3"}} <h3 id="{{ anchorize $title }}"><a href="{{ $url }}" target="{{ $target }}">{{ $title }}</a></h3>
{{ else if eq $hlevel "h4"}} <h4 id="{{ anchorize $title }}"><a href="{{ $url }}" target="{{ $target }}">{{ $title }}</a></h4>
@ -69,7 +69,7 @@
{{ end }}
{{ end }}
{{ if and (eq $readMore true) ( or (isset .Params "list_query_example") (isset .Params "list_code_example") ) }}
{{ if and (eq $readMore true) (or .Params.list_query_example .Params.list_code_example) }}
<p class="read-more"><a href="{{ $url }}" target="{{ $target }}">Read more <span class="icon-chevron-right"></span></a></p>
{{ end }}
{{ if eq $hr true }}
@ -94,10 +94,10 @@
<div class="children-links">
<ul>
{{ range $pages.ByWeight }}
{{ $title := cond ( isset .Params "list_title" ) (.Params.list_title | .RenderString) (.Title | .RenderString) }}
{{ $url := cond ( isset .Params "external_url" ) .Params.external_url .RelPermalink }}
{{ $target := cond ( isset .Params "external_url" ) "_blank" "" }}
{{ $note := cond ( isset .Params "list_note" ) (print "<span class='list-note'>" .Params.list_note "</span>") "" }}
{{ $title := default .Title .Params.list_title | .RenderString }}
{{ $url := default .RelPermalink .Params.external_url }}
{{ $target := cond (ne .Params.external_url nil) "_blank" "" }}
{{ $note := cond (ne .Params.list_note nil) (print "<span class='list-note'>" .Params.list_note "</span>") "" }}
<li><a href="{{ $url }}" target="{{ $target }}">{{ $title }}</a> {{ $note | markdownify }}</li>
{{ end }}
</ul>
@ -108,10 +108,10 @@
<div class="children-links">
<ol>
{{ range $pages.ByWeight }}
{{ $title := cond ( isset .Params "list_title" ) (.Params.list_title | .RenderString) (.Title | .RenderString)}}
{{ $url := cond ( isset .Params "external_url" ) .Params.external_url .RelPermalink }}
{{ $target := cond ( isset .Params "external_url" ) "_blank" "" }}
{{ $note := cond ( isset .Params "list_note" ) (print "<span class='list-note'>" .Params.list_note "</span>") "" }}
{{ $title := default .Title .Params.list_title | .RenderString}}
{{ $url := default .RelPermalink .Params.external_url }}
{{ $target := cond (ne .Params.external_url nil) "_blank" "" }}
{{ $note := cond (ne .Params.list_note nil) (print "<span class='list-note'>" .Params.list_note "</span>") "" }}
<li><a href="{{ $url }}" target="{{ $target }}">{{ $title }}</a> {{ $note | markdownify }}</li>
{{ end }}
</ol>
@ -121,7 +121,7 @@
<ul class="children-list">
{{ range $pages.ByWeight }}
{{ $title := cond ( isset .Params "list_title" ) (.Params.list_title | .RenderString) (.Title | .RenderString) }}
{{ $title := default .Title .Params.list_title | .RenderString }}
<li><a href="#{{ anchorize $title }}">{{ $title }}</a></li>
{{ end }}
</ul>

View File

@ -3,7 +3,11 @@
{{- $productPathData := findRE "[^/]+.*?" .Page.RelPermalink -}}
{{- $product := index $productPathData 0 -}}
{{- $productVersion := index $productPathData 1 | default "v0.0" -}}
{{- $defaultClockface := cond (isset (index .Site.Data.clockface $product) $productVersion) (index (index .Site.Data.clockface $product) $productVersion) (index (index .Site.Data.clockface $product) "default") }}
{{- $defaultClockface := "" -}}
{{- with (index .Site.Data.clockface $product) -}}
{{- $defaultClockface = index . (cond (isset . $productVersion) $productVersion "default") -}}
{{- end -}}
{{- $version := .Get 1 | default $defaultClockface -}}
{{- if eq $version "v2" -}}

View File

@ -2,7 +2,10 @@
{{- $productPathData := findRE "[^/]+.*?" .Page.RelPermalink -}}
{{- $product := index $productPathData 0 -}}
{{- $productVersion := index $productPathData 1 | default "v0" -}}
{{- $defaultClockface := cond (isset (index .Site.Data.clockface $product) $productVersion) (index (index .Site.Data.clockface $product) $productVersion) (index (index .Site.Data.clockface $product) "default") }}
{{- $defaultClockface := "" -}}
{{- with (index .Site.Data.clockface $product) -}}
{{- $defaultClockface = default (index . "default") (index . $productVersion) -}}
{{- end -}}
{{- $version := .Get 1 | default $defaultClockface -}}
{{ if eq $version "v2" }}