Merge branch 'master' into pbarnett/explorer-docs

pbarnett/explorer-docs
peterbarnett03 2025-05-29 13:49:28 -04:00 committed by GitHub
commit eb9bd10b20
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
41 changed files with 580 additions and 437 deletions

View File

@ -25,7 +25,7 @@ types of demo data that let you explore and familiarize yourself with InfluxDB C
{{% note %}} {{% note %}}
#### Free to use and read-only #### Free to use and read-only
- InfluxDB Cloud demo data buckets are **free to use** and are **_not_ subject to - InfluxDB Cloud demo data buckets are **free to use** and are **_not_ subject to
[Free Plan rate limits](influxdb/cloud/account-management/limits/#free-plan-rate-limits) rate limits**. [Free Plan rate limits](/influxdb/cloud/account-management/limits/#free-plan-rate-limits) rate limits**.
- Demo data buckets are **read-only**. You cannot write data into demo data buckets. - Demo data buckets are **read-only**. You cannot write data into demo data buckets.
{{% /note %}} {{% /note %}}

View File

@ -16,4 +16,5 @@ source: /shared/influxdb3-admin/distinct-value-cache/_index.md
--- ---
<!-- The content for this page is located at <!-- The content for this page is located at
// SOURCE content/shared/influxdb3-admin/distinct-value-cache/_index.md --> // SOURCE content/shared/influxdb3-admin/distinct-value-cache/_index.md
-->

View File

@ -17,4 +17,5 @@ source: /shared/influxdb3-admin/last-value-cache/_index.md
--- ---
<!-- The content for this page is located at <!-- The content for this page is located at
// SOURCE content/shared/influxdb3-admin/last-value-cache/_index.md --> // SOURCE content/shared/influxdb3-admin/last-value-cache/_index.md
-->

View File

@ -1,7 +1,7 @@
--- ---
title: Manage tokens title: Manage tokens
description: > description: >
Manage tokens to authenticate and authorize access to resources and data in an {{< product-name >}} instance. Manage tokens to authenticate and authorize access to server actions, resources, and data in an {{< product-name >}} instance.
menu: menu:
influxdb3_core: influxdb3_core:
parent: Administer InfluxDB parent: Administer InfluxDB
@ -11,4 +11,4 @@ source: /shared/influxdb3-admin/tokens/_index.md
<!-- The content for this page is at <!-- The content for this page is at
// SOURCE content/shared/influxdb3-admin/tokens/_index.md // SOURCE content/shared/influxdb3-admin/tokens/_index.md
-->> -->

View File

@ -11,9 +11,9 @@ menu:
name: Admin tokens name: Admin tokens
weight: 101 weight: 101
influxdb3/core/tags: [tokens] influxdb3/core/tags: [tokens]
source: /shared/influxdb3-admin/tokens/_index.md source: /shared/influxdb3-admin/tokens/admin/_index.md
--- ---
<!-- The content for this page is at <!-- The content for this page is at
// SOURCE content/shared/influxdb3-admin/tokens/_index.md // SOURCE content/shared/influxdb3-admin/tokens/admin/_index.md
--> -->

View File

@ -2,7 +2,7 @@
title: Create an admin token title: Create an admin token
description: > description: >
Use the [`influxdb3 create token --admin` command](/influxdb3/core/reference/cli/influxdb3/create/token/) Use the [`influxdb3 create token --admin` command](/influxdb3/core/reference/cli/influxdb3/create/token/)
or the [HTTP API](/influxdb3/core/api/v3/) or the HTTP API [`/api/v3/configure/token/admin`](/influxdb3/core/api/v3/#operation/PostCreateAdminToken) endpoint
to create an [admin token](/influxdb3/core/admin/tokens/admin/) for your {{< product-name omit="Clustered" >}} instance. to create an [admin token](/influxdb3/core/admin/tokens/admin/) for your {{< product-name omit="Clustered" >}} instance.
An admin token grants access to all actions on the server. An admin token grants access to all actions on the server.
menu: menu:

View File

@ -2,10 +2,9 @@
title: Regenerate an admin token title: Regenerate an admin token
description: > description: >
Use the [`influxdb3 create token --admin` command](/influxdb3/core/reference/cli/influxdb3/create/token/) Use the [`influxdb3 create token --admin` command](/influxdb3/core/reference/cli/influxdb3/create/token/)
or the [HTTP API](/influxdb3/core/api/v3/) or the HTTP API [`/api/v3/configure/token/admin/regenerate`](/influxdb3/core/api/v3/#operation/PostRegenerateAdminToken) endpoint
to regenerate an [admin token](/influxdb3/core/admin/tokens/admin/) for your {{< product-name omit="Clustered" >}} instance. to regenerate an [operator token](/influxdb3/core/admin/tokens/admin/) for your {{< product-name omit="Clustered" >}} instance.
An admin token grants access to all actions on the server. Regenerating an operator token deactivates the previous token.
Regenerating an admin token deactivates the previous token.
menu: menu:
influxdb3_core: influxdb3_core:
parent: Admin tokens parent: Admin tokens
@ -14,8 +13,15 @@ list_code_example: |
##### CLI ##### CLI
```bash ```bash
influxdb3 create token --admin \ influxdb3 create token --admin \
--token ADMIN_TOKEN \
--regenerate --regenerate
OPERATOR_TOKEN
```
#### HTTP API
```bash
curl -X POST "http://{{< influxdb/host >}}/api/v3/configure/token/admin/regenerate" \
--header 'Authorization Bearer OPERATOR_TOKEN' \
--header 'Accept: application/json'
--header 'Content-Type: application/json'
``` ```
source: /shared/influxdb3-admin/tokens/admin/regenerate.md source: /shared/influxdb3-admin/tokens/admin/regenerate.md
--- ---

View File

@ -12,7 +12,7 @@ alt_links:
- [System Requirements](#system-requirements) - [System Requirements](#system-requirements)
- [Quick install](#quick-install) - [Quick install](#quick-install)
- [Download {{< product-name >}} binaries](#download-influxdb-3-{{< product-key >}}-binaries) - [Download {{% product-name %}} binaries](#download-influxdb-3-{{< product-key >}}-binaries)
- [Docker image](#docker-image) - [Docker image](#docker-image)
## System Requirements ## System Requirements
@ -79,7 +79,7 @@ source ~/.zshrc
{{% /code-tab-content %}} {{% /code-tab-content %}}
{{< /code-tabs-wrapper >}} {{< /code-tabs-wrapper >}}
## Download {{< product-name >}} binaries ## Download {{% product-name %}} binaries
{{< tabs-wrapper >}} {{< tabs-wrapper >}}
{{% tabs %}} {{% tabs %}}

View File

@ -103,7 +103,7 @@ influxdb3 -h
influxdb3 --help influxdb3 --help
``` ```
### Run the {{< product-name >}} server with extra verbose logging ### Run the {{% product-name %}} server with extra verbose logging
<!--pytest.mark.skip--> <!--pytest.mark.skip-->
@ -114,7 +114,7 @@ influxdb3 serve -v \
--node-id my-host-01 --node-id my-host-01
``` ```
### Run {{< product-name >}} with debug logging using LOG_FILTER ### Run {{% product-name %}} with debug logging using LOG_FILTER
<!--pytest.mark.skip--> <!--pytest.mark.skip-->

View File

@ -5,11 +5,11 @@ description: >
menu: menu:
influxdb3_core: influxdb3_core:
parent: influxdb3 create parent: influxdb3 create
name: influxdb3 create token name: influxdb3 create token
weight: 400 weight: 400
source: /shared/influxdb3-cli/create/token.md source: /shared/influxdb3-cli/create/token/_index.md
--- ---
<!-- The content for this page is at <!-- The content for this page is at
// SOURCE content/shared/influxdb3-cli/create/token.md // SOURCE content/shared/influxdb3-cli/create/token/_index.md
--> -->

View File

@ -0,0 +1,15 @@
---
title: influxdb3 create token admin
description: >
The `influxdb3 create token admin` command creates an operator token or named admin token with full administrative privileges for server actions.
menu:
influxdb3_core:
parent: influxdb3 create token
name: influxdb3 create token admin
weight: 400
source: /shared/influxdb3-cli/create/token/admin.md
---
<!-- The content for this page is at
// SOURCE content/shared/influxdb3-cli/create/token/admin.md
-->

View File

@ -153,7 +153,7 @@ existing license if it's still valid.
environment variable environment variable
7. If no license is found, the server won't start 7. If no license is found, the server won't start
#### Example: Start the {{< product-name >}} server with your license email: #### Example: Start the {{% product-name %}} server with your license email:
{{< code-tabs-wrapper >}} {{< code-tabs-wrapper >}}
{{% code-tabs %}} {{% code-tabs %}}
@ -187,7 +187,7 @@ influxdb3 serve \
{{% /code-tab-content %}} {{% /code-tab-content %}}
{{< /code-tabs-wrapper >}} {{< /code-tabs-wrapper >}}
#### Example: Start the {{< product-name >}} server with your license file: #### Example: Start the {{% product-name %}} server with your license file:
{{< code-tabs-wrapper >}} {{< code-tabs-wrapper >}}
{{% code-tabs %}} {{% code-tabs %}}

View File

@ -1,7 +1,7 @@
--- ---
title: Manage tokens title: Manage tokens
description: > description: >
Manage tokens to authenticate and authorize access to resources and data in an {{< product-name >}} instance. Manage tokens to authenticate and authorize access to server actions, resources, and data in an {{< product-name >}} instance.
menu: menu:
influxdb3_enterprise: influxdb3_enterprise:
parent: Administer InfluxDB parent: Administer InfluxDB

View File

@ -2,8 +2,8 @@
title: Create an admin token title: Create an admin token
description: > description: >
Use the [`influxdb3 create token --admin` command](/influxdb3/enterprise/reference/cli/influxdb3/create/token/) Use the [`influxdb3 create token --admin` command](/influxdb3/enterprise/reference/cli/influxdb3/create/token/)
or the [HTTP API](/influxdb3/enterprise/api/v3/) or the HTTP API [`/api/v3/configure/token/admin`](/influxdb3/enterprise/api/v3/#operation/PostCreateAdminToken)
to create an [admin token](/influxdb3/enterprise/admin/tokens/admin/) for your {{< product-name omit="Clustered" >}} instance. endpoint to create an operator or named [admin token](/influxdb3/enterprise/admin/tokens/admin/) for your {{< product-name omit="Clustered" >}} instance.
An admin token grants access to all actions on the server. An admin token grants access to all actions on the server.
menu: menu:
influxdb3_enterprise: influxdb3_enterprise:
@ -12,13 +12,15 @@ weight: 201
list_code_example: | list_code_example: |
##### CLI ##### CLI
```bash ```bash
influxdb3 create token --admin influxdb3 create token --admin --name TOKEN_NAME
``` ```
#### HTTP API #### HTTP API
```bash ```bash
curl -X POST "http://{{< influxdb/host >}}/api/v3/configure/token/admin" \ curl -X POST "http://{{< influxdb/host >}}/api/v3/configure/token/admin" \
--header 'Accept: application/json' \ --header 'Authorization Bearer ADMIN_TOKEN' \
--header 'Content-Type: application/json' --json '{
"name": "TOKEN_NAME"
}'
``` ```
alt_links: alt_links:
cloud-dedicated: /influxdb3/cloud-dedicated/admin/tokens/create-token/ cloud-dedicated: /influxdb3/cloud-dedicated/admin/tokens/create-token/

View File

@ -1,10 +1,9 @@
--- ---
title: Regenerate an admin token title: Regenerate an operator admin token
description: > description: >
Use the [`influxdb3 create token --admin` command](/influxdb3/enterprise/reference/cli/influxdb3/create/token/) Use the [`influxdb3 create token --admin` command](/influxdb3/enterprise/reference/cli/influxdb3/create/token/)
or the [HTTP API](/influxdb3/enterprise/api/v3/) or the [HTTP API](/influxdb3/enterprise/api/v3/)
to regenerate an [admin token](/influxdb3/enterprise/admin/tokens/admin/) for your {{< product-name omit="Clustered" >}} instance. to regenerate an [operator token](/influxdb3/enterprise/admin/tokens/admin/) for your {{< product-name omit="Clustered" >}} instance.
An admin token grants access to all actions on the server.
Regenerating an admin token deactivates the previous token. Regenerating an admin token deactivates the previous token.
menu: menu:
influxdb3_enterprise: influxdb3_enterprise:
@ -14,9 +13,15 @@ list_code_example: |
##### CLI ##### CLI
```bash ```bash
influxdb3 create token --admin \ influxdb3 create token --admin \
--token ADMIN_TOKEN \ --token OPERATOR_TOKEN \
--regenerate --regenerate
``` ```
#### HTTP API
```bash
curl -X POST "http://{{< influxdb/host >}}/api/v3/configure/token/admin/regenerate" \
--header 'Authorization Bearer OPERATOR_TOKEN'
```
source: /shared/influxdb3-admin/tokens/admin/regenerate.md source: /shared/influxdb3-admin/tokens/admin/regenerate.md
--- ---

View File

@ -3,7 +3,7 @@ title: Manage resource tokens
seotitle: Manage resource tokens in {{< product-name >}} seotitle: Manage resource tokens in {{< product-name >}}
description: > description: >
Manage resource tokens in your {{< product-name >}} instance. Manage resource tokens in your {{< product-name >}} instance.
Resource tokens grant fine-grained permissions on resources, such as databases Resource tokens grant permissions on specific resources, such as databases
and system information endpoints in your {{< product-name >}} instance. and system information endpoints in your {{< product-name >}} instance.
Database resource tokens allow for actions like writing and querying data. Database resource tokens allow for actions like writing and querying data.
menu: menu:
@ -15,13 +15,12 @@ influxdb3/enterprise/tags: [tokens]
--- ---
Manage resource tokens in your {{< product-name >}} instance. Manage resource tokens in your {{< product-name >}} instance.
Resource tokens grant fine-grained permissions on resources, such as databases Resource tokens provide scoped access to specific resources:
and system information endpoints in your {{< product-name >}} instance.
- **Databases**: Database tokens allow for actions like writing and querying data.
- **System resources**: System information tokens allow read access to server runtime statistics and health. - **Database tokens**: provide access to specific databases for actions like writing and querying data
Access controls for system information API endpoints help prevent information leaks and attacks (such as DoS). - **System tokens**: provide access to system-level resources, such as API endpoints for server runtime statistics and health.
Resource tokens are user-defined and available only in {{% product-name %}}.
{{< children depth="1" >}} {{< children depth="1" >}}

View File

@ -12,7 +12,7 @@ alt_links:
- [System Requirements](#system-requirements) - [System Requirements](#system-requirements)
- [Quick install](#quick-install) - [Quick install](#quick-install)
- [Download {{< product-name >}} binaries](#download-influxdb-3-{{< product-key >}}-binaries) - [Download {{% product-name %}} binaries](#download-influxdb-3-{{< product-key >}}-binaries)
- [Docker image](#docker-image) - [Docker image](#docker-image)
## System Requirements ## System Requirements
@ -79,7 +79,7 @@ source ~/.zshrc
{{% /code-tab-content %}} {{% /code-tab-content %}}
{{< /code-tabs-wrapper >}} {{< /code-tabs-wrapper >}}
## Download {{< product-name >}} binaries ## Download {{% product-name %}} binaries
{{< tabs-wrapper >}} {{< tabs-wrapper >}}
{{% tabs %}} {{% tabs %}}

View File

@ -108,7 +108,7 @@ influxdb3 -h
influxdb3 --help influxdb3 --help
``` ```
### Run the {{< product-name >}} server with extra verbose logging ### Run the {{% product-name %}} server with extra verbose logging
<!--pytest.mark.skip--> <!--pytest.mark.skip-->
@ -120,7 +120,7 @@ influxdb3 serve -v \
--cluster-id my-cluster-01 --cluster-id my-cluster-01
``` ```
### Run {{< product-name >}} with debug logging using LOG_FILTER ### Run {{% product-name %}} with debug logging using LOG_FILTER
<!--pytest.mark.skip--> <!--pytest.mark.skip-->

View File

@ -1,16 +0,0 @@
---
title: influxdb3 create token
description: >
The `influxdb3 create token` command creates a new authentication token.
menu:
influxdb3_enterprise:
parent: influxdb3 create
name: influxdb3 create token
weight: 400
source: /shared/influxdb3-cli/create/token.md
---
<!--
The content of this file is at
// SOURCE content/shared/influxdb3-cli/create/token.md
-->

View File

@ -1,19 +1,16 @@
--- ---
title: influxdb3 create token title: influxdb3 create token
description: > description: >
The `influxdb3 create token` command creates an admin token or a resource (fine-grained The `influxdb3 create token` command creates an admin token or a scoped resource token for authenticating and authorizing actions in an {{% product-name %}} instance.
permissions) token for authenticating and authorizing actions in an {{% product-name %}} instance.
menu: menu:
influxdb3_enterprise: influxdb3_enterprise:
parent: influxdb3 parent: influxdb3
name: influxdb3 create token name: influxdb3 create token
weight: 300 weight: 300
aliases: source: /shared/influxdb3-cli/create/token/_index.md
- /influxdb3/enterprise/reference/cli/influxdb3/create/token/admin/
source: /shared/influxdb3-cli/create/token.md
--- ---
<!-- <!--
The content of this page is at The content of this page is at
// SOURCE content/shared/influxdb3-cli/create/token.md // SOURCE content/shared/influxdb3-cli/create/token/_index.md
--> -->

View File

@ -0,0 +1,15 @@
---
title: influxdb3 create token admin
description: >
The `influxdb3 create token admin` command creates an operator token or named admin token with full administrative privileges for server actions.
menu:
influxdb3_enterprise:
parent: influxdb3 create token
name: influxdb3 create token admin
weight: 400
source: /shared/influxdb3-cli/create/token/admin.md
---
<!-- The content for this page is at
// SOURCE content/shared/influxdb3-cli/create/token/admin.md
-->

View File

@ -14,5 +14,5 @@ source: /shared/influxdb3-internals-reference/authentication.md
--- ---
<!-- The content for this page is at <!-- The content for this page is at
// SOURCE /content/shared/influxdb3-internals-reference/authentication.md // SOURCE content/shared/influxdb3-internals-reference/authentication.md
// --> -->

View File

@ -4,7 +4,7 @@ values of one or more columns in a table, improving the performance of
queries that return distinct tag and field values. queries that return distinct tag and field values.
The DVC is an in-memory cache that stores distinct values for specific columns The DVC is an in-memory cache that stores distinct values for specific columns
in a table. When you create an DVC, you can specify what columns' distinct in a table. When you create a DVC, you can specify what columns' distinct
values to cache, the maximum number of distinct value combinations to cache, and values to cache, the maximum number of distinct value combinations to cache, and
the maximum age of cached values. A DVC is associated with a table, which can the maximum age of cached values. A DVC is associated with a table, which can
have multiple DVCs. have multiple DVCs.
@ -68,11 +68,17 @@ similar to this:
DVCs are stored in memory; the larger the cache, the more memory your InfluxDB 3 DVCs are stored in memory; the larger the cache, the more memory your InfluxDB 3
node requires to maintain it. Consider the following: node requires to maintain it. Consider the following:
- [Cache data loading](#cache-data-loading)
- [High cardinality limits](#high-cardinality-limits) - [High cardinality limits](#high-cardinality-limits)
{{% show-in "core" %}} {{% show-in "core" %}}
- [Distinct Value Caches are flushed when the server stops](#distinct-value-caches-are-flushed-when-the-server-stops) - [Distinct Value Caches are flushed when the server stops](#distinct-value-caches-are-flushed-when-the-server-stops)
{{% /show-in %}} {{% /show-in %}}
## Cache data loading
On cache creation, {{% product-name %}} loads historical data into the cache.
On restart, the server automatically reloads cache data.
### High cardinality limits ### High cardinality limits
“Cardinality” refers to the number of unique key column combinations in your “Cardinality” refers to the number of unique key column combinations in your

View File

@ -95,12 +95,10 @@ Replace the following:
- {{% code-placeholder-key %}}`DVC_NAME`{{% /code-placeholder-key %}}: - {{% code-placeholder-key %}}`DVC_NAME`{{% /code-placeholder-key %}}:
a unique name for the DVC a unique name for the DVC
> [!Note]
> #### Values are cached on write The cache imports the distinct values from the table and starts caching them.
>
> Values are cached on write. When you create a cache, it will not cache > [!Important]
> previously written points, only newly written points.
>
> #### DVC size and persistence > #### DVC size and persistence
> >
> The DVC is stored in memory, so it's important to consider the size and > The DVC is stored in memory, so it's important to consider the size and

View File

@ -81,11 +81,17 @@ similar to the following:
LVCs are stored in memory; the larger the cache, the more memory your InfluxDB 3 node requires to LVCs are stored in memory; the larger the cache, the more memory your InfluxDB 3 node requires to
maintain it. Consider the following: maintain it. Consider the following:
- [Cache data loading](#cache-data-loading)
- [High cardinality key columns](#high-cardinality-key-columns) - [High cardinality key columns](#high-cardinality-key-columns)
- [Value count](#value-count) - [Value count](#value-count)
{{% show-in "core" %}} {{% show-in "core" %}}
- [Last Value Caches are flushed when the server stops](#last-value-caches-are-flushed-when-the-server-stops) - [Last Value Caches are flushed when the server stops](#last-value-caches-are-flushed-when-the-server-stops)
{{% /show-in %}}lue-columns) {{% /show-in %}}
## Cache data loading
On cache creation, {{% product-name %}} loads historical data into the cache.
On restart, the server automatically reloads cache data.
### High cardinality key columns ### High cardinality key columns

View File

@ -109,12 +109,9 @@ Replace the following:
- {{% code-placeholder-key %}}`LVC_NAME`{{% /code-placeholder-key %}}: - {{% code-placeholder-key %}}`LVC_NAME`{{% /code-placeholder-key %}}:
a unique name for the LVC a unique name for the LVC
> [!Note] The cache imports the distinct values from the table and starts caching them.
> #### Values are cached on write
> > [!Important]
> Values are cached on write. When you create a cache, it will not cache
> previously written points, only newly written points.
>
> #### LVC size and persistence > #### LVC size and persistence
> >
> The LVC is stored in memory, so it's important to consider the size and persistence > The LVC is stored in memory, so it's important to consider the size and persistence

View File

@ -1,66 +1,70 @@
Manage tokens to authenticate and authorize access to resources and data in your {{< product-name >}} instance. Manage tokens to authenticate and authorize access to server actions, resources, and data in your {{< product-name >}} instance.
## Provide your token ## Provide your token
Before running CLI commands or making HTTP API requests, you must provide a valid token to authenticate. If you start the {{< product-name >}} server with authentication enabled (the default), future server actions (CLI commands and HTTP API requests) require a valid token for authorization.
The first admin token you create is the _operator_ token (named `_admin`), which has full administrative privileges.
You can use the operator token to authenticate your requests and manage additional authorization tokens.
The mechanism for providing your token depends on the client you use to interact with {{% product-name %}}--for example: The mechanism for providing your token depends on the client you use to interact with {{% product-name %}}--for example:
{{< tabs-wrapper >}} {{< tabs-wrapper >}}
{{% tabs %}} {{% tabs %}}
[influxdb3 CLI](#influxdb3-cli-auth) [influxdb3 CLI](#influxdb3-cli-auth)
[cURL](#curl-auth) [cURL](#curl-auth)
{{% /tabs %}} {{% /tabs %}}
{{% tab-content %}} {{% tab-content %}}
When using the `influxdb3` CLI, you can use the `--token` option to provide your authorization token. When using the `influxdb3` CLI, you can set the `INFLUXDB3_AUTH_TOKEN` environment variable to automatically provide your
authorization token to all `influxdb3` commands--for example:
{{% code-placeholders "YOUR_TOKEN" %}} {{% code-placeholders "YOUR_AUTH_TOKEN" %}}
```bash
# Export your token as an environment variable
export INFLUXDB3_AUTH_TOKEN=YOUR_AUTH_TOKEN
# Run an influxdb3 command
influxdb3 query \
--database DATABASE_NAME \
"SELECT * FROM 'DATABASE_NAME' WHERE time > now() - INTERVAL '10 minutes'"
```
{{% /code-placeholders %}}
To specify a token in the command and override the environment variable, pass the `--token` option with your authorization token--for example:
{{% code-placeholders "YOUR_AUTH_TOKEN" %}}
```bash ```bash
# Include the --token option in your influxdb3 command # Include the --token option in your influxdb3 command
influxdb3 query \ influxdb3 query \
--token YOUR_TOKEN \ --token YOUR_AUTH_TOKEN \
--database example-db \ --database DATABASE_NAME \
"SELECT * FROM 'example-table' WHERE time > now() - INTERVAL '10 minutes'" "SELECT * FROM 'DATABASE_NAME' WHERE time > now() - INTERVAL '10 minutes'"
``` ```
{{% /code-placeholders %}} {{% /code-placeholders %}}
You can also set the `INFLUXDB3_AUTH_TOKEN` environment variable to automatically provide your You can also set the `INFLUXDB3_AUTH_TOKEN` environment variable to automatically provide your
authorization token to all `influxdb3` commands. authorization token to all `influxdb3` commands.
{{% code-placeholders "YOUR_TOKEN" %}}
```bash
# Export your token as an environment variable
export INFLUXDB3_AUTH_TOKEN=YOUR_TOKEN
# Run an influxdb3 command without the --token option
influxdb3 query \
--database example-db \
"SELECT * FROM 'example-table' WHERE time > now() - INTERVAL '10 minutes'"
```
{{% /code-placeholders %}}
Replace `YOUR_TOKEN` with your authorization token.
{{% /tab-content %}} {{% /tab-content %}}
{{% tab-content %}} {{% tab-content %}}
{{% code-placeholders "AUTH_TOKEN" %}} {{% code-placeholders "YOUR_AUTH_TOKEN" %}}
```bash ```bash
# Add your token to the HTTP Authorization header # Add your token to the HTTP Authorization header
curl "http://{{< influxdb/host >}}/api/v3/query_sql" \ curl "http://{{< influxdb/host >}}/api/v3/query_sql" \
--header "Authorization: Bearer AUTH_TOKEN" \ --header "Authorization: Bearer YOUR_AUTH_TOKEN" \
--data-urlencode "db=example-db" \ --data-urlencode "db=DATABASE_NAME" \
--data-urlencode "q=SELECT * FROM 'example-table' WHERE time > now() - INTERVAL '10 minutes'" --data-urlencode "q=SELECT * FROM 'DATABASE_NAME' WHERE time > now() - INTERVAL '10 minutes'"
``` ```
{{% /code-placeholders %}} {{% /code-placeholders %}}
Replace `AUTH_TOKEN` with your actual InfluxDB 3 token.
{{% /tab-content %}} {{% /tab-content %}}
{{< /tabs-wrapper >}} {{< /tabs-wrapper >}}
Replace the following with your values:
- {{% code-placeholder-key %}}`YOUR_AUTH_TOKEN`{{% /code-placeholder-key %}}: your {{% token-link %}}
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: the name of the database you want to query
{{< children hlevel="h2" readmore=true hr=true >}} {{< children hlevel="h2" readmore=true hr=true >}}

View File

@ -1,2 +1,27 @@
<!--> <!--
{{< children hlevel="h2" readmore=true hr=true >}} -->
Manage {{< product-name omit="Clustered" >}} admin tokens to authorize server actions, `influxdb3` CLI commands, and HTTP API endpoints for your {{< product-name omit="Clustered" >}} instance.
Administrative (_admin_) tokens provide full system access and management capabilities for your {{< product-name omit="Clustered" >}} instance.
{{% show-in "core" %}}
Admin tokens can create, edit, and delete other admin tokens.
{{% /show-in %}}
{{% show-in "enterprise" %}}
Admin tokens can create, edit, and delete other admin tokens, as well as manage [resource tokens](/influxdb3/version/admin/tokens/resource/).
{{% /show-in %}}
{{% product-name omit="Clustered" %}} supports two types of admin tokens:
- **Operator token**: A system-generated administrative token with the name `_admin`.
- Cannot be edited or deleted
- Never expires
- Cannot be recreated if lost (future functionality)
- Can be regenerated using the CLI
- **Named admin token**: User-defined administrative tokens with full admin permissions.
- Can be created, edited, and deleted
- Support expiration dates
- Cannot modify or remove the operator token
An {{% product-name omit="Clustered" %}} instance can have one operator token and unlimited named admin tokens.
{{< children hlevel="h2" readmore=true hr=true >}}

View File

@ -1,18 +1,36 @@
Use the [`influxdb3 create token --admin` subcommand](/influxdb3/version/reference/cli/influxdb3/create/token/) Use the [`influxdb3 create token --admin` subcommand](/influxdb3/version/reference/cli/influxdb3/create/token/)
or the [HTTP API](/influxdb3/version/api/v3/) with the `--name` option or the HTTP API [`/api/v3/configure/token/admin`](/influxdb3/version/api/v3/) endpoint
to create an [admin token](/influxdb3/version/admin/tokens/admin/) for your {{< product-name omit="Clustered" >}} instance. to create an admin token for your {{< product-name omit="Clustered" >}} instance.
An admin token grants full access to all actions for your InfluxDB 3 instance. An admin token grants full access to all actions for your InfluxDB 3 instance and can be referenced by its name.
{{% product-name omit="Clustered" %}} supports two types of admin tokens:
- **Operator token**: A system-generated administrative token with the name `_admin`.
- Cannot be edited or deleted
- Never expires
- Cannot be recreated if lost (future functionality)
- Can be regenerated using the CLI
- **Named admin token**: User-defined administrative tokens with full admin permissions.
- Can be created, edited, and deleted
- Support expiration dates
- Cannot modify or remove the operator token
An {{% product-name omit="Clustered" %}} instance can have one operator token and unlimited named admin tokens.
[Create an operator token](#create-an-operator-token)
[Create a named admin token](#create-a-named-admin-token)
> [!Note] > [!Note]
> #### Store secure tokens in a secret store > #### Store secure tokens in a secret store
> >
> Token strings are returned _only_ on token creation. > Token strings are returned _only_ on token creation.
> We recommend storing database tokens in a **secure secret store**. > We recommend storing database tokens in a **secure secret store**.
> Anyone with access to the admin token has full control over your {{< product-name >}} instance. > Anyone with access to the named admin token has full control over your {{< product-name >}} instance.
> If you lose the admin token string, you must regenerate the token. > If you lose the named admin token string, you must regenerate the token.
## Create an admin token ## Create an operator token
The first admin token your create for your {{% product-name %}}
instance is the operator token.
{{< tabs-wrapper >}} {{< tabs-wrapper >}}
{{% tabs %}} {{% tabs %}}
@ -20,27 +38,71 @@ An admin token grants full access to all actions for your InfluxDB 3 instance.
[HTTP API](#use-the-http-api) [HTTP API](#use-the-http-api)
{{% /tabs %}} {{% /tabs %}}
{{% tab-content %}} {{% tab-content %}}
Use the `influxdb3 create token --admin` command without a token name:
Use the `influxdb3 create token --admin` command:
```bash ```bash
influxdb3 create token --admin influxdb3 create token --admin
``` ```
The output contains the token string in plain text.
To use the token as the default for later commands, and to persist the token
across sessions, assign the token string to the `INFLUXDB3_AUTH_TOKEN` environment variable.
{{% /tab-content %}} {{% /tab-content %}}
{{% tab-content %}} {{% tab-content %}}
Use the following endpoint to create an admin token: Use the following endpoint to create an operator token:
{{% api-endpoint method="POST" endpoint="/api/v3/configure/token/admin" api-ref="/influxdb3/version/api/v3/#operation/PostCreateAdminToken" %}} {{% api-endpoint method="POST" endpoint="/api/v3/configure/token/admin" api-ref="/influxdb3/version/api/v3/#operation/PostCreateAdminToken" %}}
```bash ```bash
curl -X POST "http://{{< influxdb/host >}}/api/v3/configure/token/admin" \ curl -X POST "http://{{< influxdb/host >}}/api/v3/configure/token/admin" \
--header 'Accept: application/json' \
--header 'Content-Type: application/json'
``` ```
{{% /tab-content %}} {{% /tab-content %}}
{{< /tabs-wrapper >}} {{< /tabs-wrapper >}}
The output contains the token string in plain text.
## Create a named admin token
{{< tabs-wrapper >}}
{{% tabs %}}
[CLI](#use-the-influxdb3-cli)
[HTTP API](#use-the-http-api)
{{% /tabs %}}
{{% tab-content %}}
Use the `influxdb3 create token --admin` command with a token name:
{{% code-placeholders "TOKEN_NAME|ADMIN_TOKEN" %}}
```bash
influxdb3 create token --admin --token ADMIN_TOKEN --name "TOKEN_NAME"
```
{{% /code-placeholders %}}
Replace the following with your values:
- {{% code-placeholder-key %}}`ADMIN_TOKEN`{{% /code-placeholder-key %}}: your existing operator or named admin token
- {{% code-placeholder-key %}}`TOKEN_NAME`{{% /code-placeholder-key %}}: the name you want to assign to the new admin token
The output contains the token string in plain text.
{{% /tab-content %}}
{{% tab-content %}}
Use the following endpoint to create a named admin token:
{{% api-endpoint method="POST" endpoint="/api/v3/configure/token/admin" api-ref="/influxdb3/version/api/v3/#operation/PostCreateAdminToken" %}}
```bash
curl -X POST "http://{{< influxdb/host >}}/api/v3/configure/token/admin" \
--header 'Authorization Bearer ADMIN_TOKEN' \
--json '{
"name": "TOKEN_NAME"
}'
```
Replace the following with your values:
- {{% code-placeholder-key %}}`ADMIN_TOKEN`{{% /code-placeholder-key %}}: your existing operator or named admin token
- {{% code-placeholder-key %}}`TOKEN_NAME`{{% /code-placeholder-key %}}: the name you want to assign to the new admin token
The response body contains the token string in plain text.
{{% /tab-content %}}
{{< /tabs-wrapper >}}
_To use the token as the default for later commands, and to persist the token
across sessions, assign the token string to the `INFLUXDB3_AUTH_TOKEN` environment variable._

View File

@ -12,8 +12,7 @@ data and resources in your InfluxDB 3 instance.
> #### Required permissions > #### Required permissions
> >
> Listing admin tokens requires a valid InfluxDB {{% token-link "admin" %}}{{% show-in "enterprise" %}} or a token with read access to the `_internal` system database{{% /show-in %}}. > Listing admin tokens requires a valid InfluxDB {{% token-link "admin" %}}{{% show-in "enterprise" %}} or a token with read access to the `_internal` system database{{% /show-in %}}.
> For more information about providing a token, see [provide your token](/influxdb3/version/admin/tokens/#provide-your-token). > For more information, see how to [provide your token](/influxdb3/version/admin/tokens/#provide-your-token).
## List all tokens ## List all tokens

View File

@ -1,54 +1,45 @@
Use the `influxdb3` CLI or the HTTP API to regenerate an admin token. Use the `influxdb3` CLI or the HTTP API to regenerate the operator (`_admin`) token for your {{% product-name %}} instance.
Regenerate a token to rotate it as part of your security practices or if you suspect Regenerate a token to rotate it as part of your security practices or if you suspect
the token has been compromised. the token has been compromised.
{{< show-in "enterprise" >}} Regenerating the operator token deactivates the previous token,
Regenerating an admin token deactivates the previous token,
stores the SHA512 hash and metadata of the new token, and returns the new token string. stores the SHA512 hash and metadata of the new token, and returns the new token string.
{{< /show-in >}}
{{< show-in "core" >}}
Regenerating the admin token deactivates the previous token, updates the `_admin` token
SHA512 hash and metadata, and returns the new token string.
{{< /show-in >}}
An admin token grants access to all actions on the server.
## Prerequisite ## Prerequisite
To regenerate a token, you need the current token string. To regenerate an operator token, you need the current token string.
## Use the CLI or HTTP API to regenerate an admin token ## Use the CLI or HTTP API to regenerate the operator token
> [!Important] > [!Important]
> #### Securely store your token > #### Regenerating the operator token
> > Regenerating the operator token invalidates the previous token.
> InfluxDB lets you view the token string only when you create the token. > Make sure to update any applications or scripts that use the operator token.
> Store your token in a secure location, as you cannot retrieve it from the database later.
> InfluxDB 3 stores only the token's hash and metadata in the catalog. To regenerate the operator token, use the [`influxdb3 serve create token` command] with the `--admin` and `--regenerate` flags:
{{< tabs-wrapper >}} {{< tabs-wrapper >}}
{{% tabs %}} {{% tabs %}}
[CLI](#cli-regenerate-admin-token) [CLI](#cli-regenerate)
[HTTP API](#http-api-regenerate-admin-token) [HTTP API](#http-api-regenerate)
{{% /tabs %}} {{% /tabs %}}
{{% tab-content %}} {{% tab-content %}}
<!---------------------------------BEGIN CLI-----------------------------------> <!---------------------------------BEGIN CLI----------------------------------->
Use the `--regenerate` flag with the Use the `--regenerate` flag with the
`influxdb3 create token --admin` subcommand--for example: [`influxdb3 create token --admin`](/influxdb3/version/reference/cli/influxdb3/create/token/) subcommand--for example:
{{% code-placeholders "ADMIN_TOKEN" %}} {{% code-placeholders "OPERATOR_TOKEN" %}}
```bash ```bash
influxdb3 create token --admin \ influxdb3 create token --admin \
--token ADMIN_TOKEN \
--regenerate --regenerate
OPERATOR_TOKEN
``` ```
{{% /code-placeholders %}} {{% /code-placeholders %}}
In your command, In your command,
replace {{% code-placeholder-key %}}`ADMIN_TOKEN`{{% /code-placeholder-key %}} replace {{% code-placeholder-key %}}`OPERATOR_TOKEN`{{% /code-placeholder-key %}}
with the current token string. with the current operator (`_admin`) token string.
The CLI asks for confirmation before regenerating the token.
The output contains the new token string and InfluxDB deactivates the previous token string. The output contains the new token string and InfluxDB deactivates the previous token string.
<!----------------------------END CLI------------------------------------------> <!----------------------------END CLI------------------------------------------>
{{% /tab-content %}} {{% /tab-content %}}
@ -58,20 +49,31 @@ Use the following HTTP API endpoint:
{{% api-endpoint method="POST" endpoint="/api/v3/configure/token/admin/regenerate" api-ref="/influxdb3/version/api/v3/configure/token/admin/regenerate" %}} {{% api-endpoint method="POST" endpoint="/api/v3/configure/token/admin/regenerate" api-ref="/influxdb3/version/api/v3/configure/token/admin/regenerate" %}}
In your request, send an `Authorization` header with your current admin token string In your request, send an `Authorization` header with your current operator token string
--for example: --for example:
{{% code-placeholders "ADMIN_TOKEN" %}} {{% code-placeholders "OPERATOR_TOKEN" %}}
```bash ```bash
curl -X POST "http://{{< influxdb/host >}}/api/v3/configure/token/admin/regenerate" \ curl -X POST "http://{{< influxdb/host >}}/api/v3/configure/token/admin/regenerate" \
--header "Authorization: Bearer ADMIN_TOKEN" \ --header "Authorization: Bearer OPERATOR_TOKEN" \
--header "Accept: application/json" --header "Accept: application/json"
``` ```
{{% /code-placeholders %}} {{% /code-placeholders %}}
In your command, replace {{% code-placeholder-key %}}`ADMIN_TOKEN`{{% /code-placeholder-key %}} with the current token string. In your command, replace {{% code-placeholder-key %}}`OPERATOR_TOKEN`{{% /code-placeholder-key %}} with the current token string.
The output contains the new token string and InfluxDB deactivates the previous token string. The response body contains the new operator token string in plain text, and InfluxDB deactivates the previous token string.
<!------------------------END HTTP API ----------------------------------------> <!------------------------END HTTP API ---------------------------------------->
{{% /tab-content %}} {{% /tab-content %}}
{{< /tabs-wrapper >}} {{< /tabs-wrapper >}}
To use the token as the default for later commands, and to persist the token
across sessions, assign the token string to the `INFLUXDB3_AUTH_TOKEN` environment variable.
## Important considerations
- Regenerating the operator token invalidates the previous token.
- If you lose the operator token, there is no recovery mechanism.
- `--regenerate` only works for the operator token. You can't use the `--regenerate` flag with the `influxdb3 create token --admin` command to regenerate a named admin token.
- Ensure that you update any applications or scripts that use the operator token with the new token string.
- Always store your operator token securely and consider implementing proper secret management practices.

View File

@ -1,65 +0,0 @@
The `influxdb3 create token` command creates a new authentication token. This returns the raw token string. Use it to authenticate future CLI commands and API requests.
> [!Important]
> InfluxDB displays the raw token string only once. Be sure to copy and securely store it.
## Usage
<!--pytest.mark.skip-->
```bash
influxdb3 create token <SUBCOMMAND>
```
## Commands
| Command | Description |
| :----- | :----------- | :------------------------------ |
| `--admin` | Create an admin token for the {{< product-name >}} server. |
{{% show-in "enterprise" %}}| [`--permission`](/influxdb3/enterprise/reference/cli/influxdb3/create/token/permission/) | Create a resource token with fine-grained access permissions. |{{% /show-in %}}
## Options
| Option | | Description |
| :----- | :------- | :--------------------- |
| |`--admin`| Create an admin token |
| `-h` | `--help` | Print help information |
## Examples
### Create an admin token
<!--pytest.mark.skip-->
```bash
influxdb3 create token --admin
```
The output is the raw token string you can use to authenticate future CLI commands and API requests.
For CLI commands, use the `--token` option or the `INFLUXDB3_AUTH_TOKEN` environment variable to pass the token string.
### Use the token to create a database
{{% code-placeholders "YOUR_ADMIN_TOKEN|DATABASE_NAME" %}}
<!--pytest.mark.skip-->
```bash
influxdb3 create database \
--token ADMIN_TOKEN \
DATABASE_NAME
```
{{% /code-placeholders %}}
Replace the following:
- {{% code-placeholder-key %}}`ADMIN_TOKEN`{{% /code-placeholder-key %}}: Your InfluxDB admin token
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: Name for your new database
> [!Note]
> Set the token as an environment variable to simplify repeated CLI commands:
>
> ```bash
> export INFLUXDB3_AUTH_TOKEN=YOUR_ADMIN_TOKEN
> ```

View File

@ -0,0 +1,28 @@
The `influxdb3 create token` command creates a new authentication token. This returns the raw token string. Use it to authenticate future CLI commands and API requests.
> [!Important]
> InfluxDB displays the raw token string only once. Be sure to copy and securely store it.
## Usage
<!--pytest.mark.skip-->
```bash
influxdb3 create token <SUBCOMMAND>
```
## Commands
| Command | Description |
| :----- | :----------- | :------------------------------ |
| [`--admin`](/influxdb3/version/reference/cli/influxdb3/create/token/admin/) | Create an operator or named admin token for the {{< product-name >}} server. |
{{% show-in "enterprise" %}}| [`--permission`](/influxdb3/enterprise/reference/cli/influxdb3/create/token/permission/) | Create a resource token with fine-grained access permissions. |{{% /show-in %}}
## Options
| Option | | Description |
| :----- | :------- | :--------------------- |
| |`--admin`| Create an admin token |
| `-h` | `--help` | Print help information |

View File

@ -0,0 +1,85 @@
Create an operator token or named admin token.
## Usage
```
influxdb3 create token --admin [OPTIONS]
```
## Options
| Option | Description |
|:-------|:------------|
| `--regenerate` | Regenerates the operator token. Requires `--token` and the current operator token |
| `--name <NAME>` | Name of the token |
| `--expiry <EXPIRY>` | Expires in `duration`--for example, 10d for 10 days 1y for 1 year |
| `--host <host>` | The host URL of the running InfluxDB 3 server [env: `INFLUXDB3_HOST_URL=`] [default: `http://127.0.0.1:8181`] |
| `--token <token>` | An existing admin token for the InfluxDB 3 server |
| `--tls-ca <tls-ca>` | An optional arg to use a custom ca for useful for testing with self signed certs |
| `--format <FORMAT>` | Output format for token [possible values: `json`, `text`] |
| `-h`, `--help` | Print help information |
| `--help-all` | Print more detailed help information |
## Examples
### Create an operator token
The operator token is a special token that has full administrative privileges on the InfluxDB server and doesn't expire.
The first admin token you create becomes the operator token for the instance.
You can create an operator token using the `--admin` flag without any additional options.
<!--pytest.mark.skip-->
```bash
influxdb3 create token --admin
```
The output is the raw token string you can use to authenticate future CLI commands and API requests.
For CLI commands, use the `--token` option or the `INFLUXDB3_AUTH_TOKEN` environment variable to pass the token string.
### Use the operator token to create a named admin token
{{% code-placeholders "OPERATOR_TOKEN|TOKEN_NAME|EXPIRY" %}}
<!--pytest.mark.skip-->
```bash
influxdb3 create token \
--admin \
--token OPERATOR_TOKEN \
--name TOKEN_NAME \
--expiry DURATION
```
{{% /code-placeholders %}}
Replace the following:
- {{% code-placeholder-key %}}`OPERATOR_TOKEN`{{% /code-placeholder-key %}}: Your operator token for the server
- {{% code-placeholder-key %}}`TOKEN_NAME`{{% /code-placeholder-key %}}: Name for your new admin token
- {{% code-placeholder-key %}}`DURATION`{{% /code-placeholder-key %}}: Duration for the token to remain valid, in [humantime](https://docs.rs/humantime/latest/humantime/fn.parse_duration.html) format (for example, `10d` for 10 days or `1y` for 1 year).
### Use the token to create a database
{{% code-placeholders "YOUR_ADMIN_TOKEN|DATABASE_NAME" %}}
<!--pytest.mark.skip-->
```bash
influxdb3 create database \
--token ADMIN_TOKEN \
DATABASE_NAME
```
{{% /code-placeholders %}}
Replace the following:
- {{% code-placeholder-key %}}`ADMIN_TOKEN`{{% /code-placeholder-key %}}: Your InfluxDB admin token
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: Name for your new database
> [!Note]
> #### Use CLI environment variables
> Set the token as an environment variable to simplify repeated CLI commands:
>
> ```bash
> export INFLUXDB3_AUTH_TOKEN=ADMIN_TOKEN
> ```

View File

@ -1,7 +1,7 @@
<!-- <!--
--> -->
{{% product-name %}} uses an Attribute-Based Access Control (ABAC) model to {{% product-name %}} uses an Attribute-Based Access Control (ABAC) model to
manage permissions. manage permissions and supports multiple token types for different authentication scenarios.
{{% show-in "enterprise" %}} {{% show-in "enterprise" %}}
This model allows for fine-grained control over access to resources and actions This model allows for fine-grained control over access to resources and actions
@ -39,5 +39,10 @@ The ABAC model includes the following components:
{{% /show-in %}} {{% /show-in %}}
- **Resource**: The objects that can be accessed or manipulated. - **Resource**: The objects that can be accessed or manipulated.
Resources have attributes such as identifier and name.
In {{% product-name %}}, resources include databases and system information endpoints. In {{% product-name %}}, resources include databases and system information endpoints.
Resources have attributes such as identifier and name. {{% show-in "enterprise" %}}
- Database tokens provide access to specific databases for actions like writing and querying data.
- System tokens provide access to system-level resources, such as API endpoints for server runtime statistics and health.
Access controls for system information API endpoints help prevent information leaks and attacks (such as DoS).
{{% /show-in %}}

View File

@ -5,6 +5,53 @@
> All updates to Core are automatically included in Enterprise. > All updates to Core are automatically included in Enterprise.
> The Enterprise sections below only list updates exclusive to Enterprise. > The Enterprise sections below only list updates exclusive to Enterprise.
## v3.1.0 {date="2025-05-29"}
**Core**: revision 482dd8aac580c04f37e8713a8fffae89ae8bc264
**Enterprise**: revision 2cb23cf32b67f9f0d0803e31b356813a1a151b00
### Core
#### Token and Security Updates
- Named admin tokens can now be created, with configurable expirations
- `health`, `ping`, and `metrics` endpoints can now be opted out of authorization
- `Basic $TOKEN` is now supported for all APIs
- Additional info available when creating a new token
- Additional info available when starting InfuxDB using `--without-auth`
#### Additional Updates
- New catalog metrics available for count operations
- New object store metrics available for transfer latencies and transfer sizes
- New query duration metrics available for Last Value caches
- `/ping` API now contains versioning headers
- Other performance improvements
#### Fixes
- New tags are now backfilled with NULL instead of empty strings
- Bitcode deserialization error fixed
- Series key metadata not persisting to Parquet is now fixed
- Other general fixes and corrections
### Enterprise
#### Token and Security Updates
- Resource tokens now use resource names in `show tokens`
- Tokens can now be granted `CREATE` permission for creating databases
#### Additional Updates
- Last value caches populate on creation and reload on restart
- Distinct value caches populate on creation and reload on restart
- Other performance improvements
- Replaces remaining "INFLUXDB_IOX" Dockerfile environment variables with the following:
- `ENV INFLUXDB3_OBJECT_STORE=file`
- `ENV INFLUXDB3_DB_DIR=/var/lib/influxdb3`
#### Fixes
- Improvements and fixes for license validations
- False positive fixed for catalog error on shutdown
- UX improvements for error and onboarding messages
- Other general fixes and corrections
## v3.0.3 {date="2025-05-16"} ## v3.0.3 {date="2025-05-16"}
**Core**: revision 384c457ef5f0d5ca4981b22855e411d8cac2688e **Core**: revision 384c457ef5f0d5ca4981b22855e411d8cac2688e

View File

@ -45,6 +45,12 @@ This guide covers InfluxDB 3 Core (the open source release), including the follo
- [Distinct values cache](#distinct-values-cache) - [Distinct values cache](#distinct-values-cache)
- [Python plugins and the processing engine](#python-plugins-and-the-processing-engine) - [Python plugins and the processing engine](#python-plugins-and-the-processing-engine)
> [!Tip]
> #### Find support for {{% product-name %}}
>
> The [InfluxDB Discord server](https://discord.gg/9zaNCW2PRT) is the best place to find support for {{% product-name %}}.
> For other InfluxDB versions, see the [Support and feedback](#bug-reports-and-feedback) options.
### Install and startup ### Install and startup
{{% product-name %}} runs on **Linux**, **macOS**, and **Windows**. {{% product-name %}} runs on **Linux**, **macOS**, and **Windows**.
@ -156,7 +162,6 @@ The following examples show how to start {{% product-name %}} with different obj
> storage alone, eliminating the need for locally attached disks. > storage alone, eliminating the need for locally attached disks.
> {{% product-name %}} can also work with only local disk storage when needed. > {{% product-name %}} can also work with only local disk storage when needed.
##### Filesystem object store ##### Filesystem object store
Store data in a specified directory on the local filesystem. Store data in a specified directory on the local filesystem.
@ -178,7 +183,6 @@ To run the [Docker image](/influxdb3/version/install/#docker-image) and persist
- `-v /path/on/host:/path/in/container`: Mounts a directory from your filesystem to the container - `-v /path/on/host:/path/in/container`: Mounts a directory from your filesystem to the container
- `--object-store file --data-dir /path/in/container`: Uses the mount for server storage - `--object-store file --data-dir /path/in/container`: Uses the mount for server storage
<!--pytest.mark.skip--> <!--pytest.mark.skip-->
```bash ```bash
# Filesystem object store with Docker # Filesystem object store with Docker
@ -241,7 +245,7 @@ influxdb3 serve \
--object-store memory --object-store memory
``` ```
For more information about server options, use the CLI help or view the [InfluxDB 3 CLI reference](/influxdb3/version/reference/cli/serve/): For more information about server options, use the CLI help or view the [InfluxDB 3 CLI reference](/influxdb3/version/reference/cli/influxdb3/serve/):
```bash ```bash
influxdb3 serve --help influxdb3 serve --help
@ -249,30 +253,15 @@ influxdb3 serve --help
### Authentication and authorization ### Authentication and authorization
After you have [started the server](#start-influxdb), you can create and manage tokens using the `influxdb3` CLI or the HTTP API. {{% product-name %}} uses token-based authentication and authorization, which is enabled by default when you start the server.
{{% product-name %}} uses token-based authentication and authorization which is enabled by default when you start the server.
With authentication enabled, you must provide a token with `influxdb3` CLI commands and HTTP API requests. With authentication enabled, you must provide a token with `influxdb3` CLI commands and HTTP API requests.
An {{% product-name %}} instance can have one _admin token_, which grants access to all CLI actions and API endpoints.
When you create a token, InfluxDB 3 returns a token string in plain text #### Create an operator token
that you use to authenticate CLI commands and API requests.
To have the `influxdb3` CLI use your admin token automatically, assign it to the After you start the server, create your first admin token (the operator token):
`INFLUXDB3_AUTH_TOKEN` environment variable.
> [!Important]
> #### Securely store your token
>
> InfluxDB lets you view the token string only when you create the token.
> Store your token in a secure location, as you cannot retrieve it from the database later.
> InfluxDB 3 stores only the token's hash and metadata in the catalog.
#### Create an admin token
To create an admin token, use the `influxdb3 create token --admin` subcommand--for example:
{{< code-tabs-wrapper >}} {{< code-tabs-wrapper >}}
{{% code-tabs %}} {{% code-tabs %}}
[CLI](#) [CLI](#)
[Docker](#) [Docker](#)
@ -280,8 +269,7 @@ To create an admin token, use the `influxdb3 create token --admin` subcommand--f
{{% code-tab-content %}} {{% code-tab-content %}}
```bash ```bash
influxdb3 create token --admin \ influxdb3 create token --admin
--host http://INFLUXDB_HOST
``` ```
{{% /code-tab-content %}} {{% /code-tab-content %}}
@ -297,58 +285,63 @@ docker exec -it CONTAINER_NAME influxdb3 create token --admin
Replace {{% code-placeholder-key %}}`CONTAINER_NAME`{{% /code-placeholder-key %}} with the name of your running Docker container. Replace {{% code-placeholder-key %}}`CONTAINER_NAME`{{% /code-placeholder-key %}} with the name of your running Docker container.
{{% /code-tab-content %}} {{% /code-tab-content %}}
{{< /code-tabs-wrapper >}} {{< /code-tabs-wrapper >}}
The command returns a token string that you can use to authenticate CLI commands and API requests. The command returns a token string for authenticating CLI commands and API requests.
Store your token in a secure location, as you cannot retrieve it from the database later.
For more information about tokens, see how to [Manage admin tokens](/influxdb3/version/admin/tokens/admin/). > [!Important]
> **Store your token securely**
>
> InfluxDB displays the token string only when you create it.
> Store your token securely—you cannot retrieve it from the database later.
#### Use tokens to authorize CLI commands and API requests #### Set your token for authentication
With authentication enabled (the default), {{% product-name %}} requires a Use one of the following methods to authenticate requests.
token for all `influxdb3` CLI commands and HTTP API requests. In your commands, replace {{% code-placeholder-key %}}`YOUR_AUTH_TOKEN`{{% /code-placeholder-key %}} with your token string (for example, the [operator token](#create-an-operator-token) from the previous step).
In the following examples, replace {{% code-placeholder-key %}}`AUTH_TOKEN`{{% /code-placeholder-key %}} with your {{% token-link "admin" %}} string.
{{< tabs-wrapper >}} {{< tabs-wrapper >}}
{{% tabs %}} {{% tabs %}}
[CLI](#cli-use-a-token) [Environment variable (recommended)](#)
[HTTP API](#api-use-a-token) [Command option](#)
{{% /tabs %}} {{% /tabs %}}
{{% tab-content %}} {{% tab-content %}}
For `influxdb3` to use your token automatically, assign it your
token to the `INFLUXDB3_AUTH_TOKEN` environment variable:
{{% code-placeholders "AUTH_TOKEN" %}} Set the `INFLUXDB3_AUTH_TOKEN` environment variable to have the CLI use your token automatically:
{{% code-placeholders "YOUR_AUTH_TOKEN" %}}
```bash ```bash
# Set the environment variable for future CLI commands export INFLUXDB3_AUTH_TOKEN=YOUR_AUTH_TOKEN
export INFLUXDB3_AUTH_TOKEN=AUTH_TOKEN
``` ```
{{% /code-placeholders %}} {{% /code-placeholders %}}
Or to authenticate a single `influxdb3` CLI command and override `$INFLUXDB3_AUTH_TOKEN`, include the `--token` option: {{% /tab-content %}}
{{% tab-content %}}
{{% code-placeholders "AUTH_TOKEN" %}} Include the `--token` option with CLI commands:
{{% code-placeholders "YOUR_AUTH_TOKEN" %}}
```bash ```bash
# Use the --token option for a single command
influxdb3 show databases --token AUTH_TOKEN influxdb3 show databases --token AUTH_TOKEN
``` ```
{{% /code-placeholders %}} {{% /code-placeholders %}}
{{% /tab-content %}} {{% /tab-content %}}
{{% tab-content %}} {{< /tabs-wrapper >}}
To authenticate HTTP API requests, include `Bearer <TOKEN>` in the `Authorization` header value:
For HTTP API requests, include your token in the `Authorization` header:
{{% code-placeholders "AUTH_TOKEN" %}} {{% code-placeholders "AUTH_TOKEN" %}}
```bash ```bash
# Include the token in the Authorization HTTP request header
curl "http://{{< influxdb/host >}}/api/v3/configure/database" \ curl "http://{{< influxdb/host >}}/api/v3/configure/database" \
--header "Authorization: Bearer AUTH_TOKEN" --header "Authorization: Bearer AUTH_TOKEN"
``` ```
{{% /code-placeholders %}} {{% /code-placeholders %}}
{{% /tab-content %}}
{{< /tabs-wrapper >}} #### Learn more about token management
- [Manage admin tokens](/influxdb3/version/admin/tokens/admin/) - Create, list, and delete admin tokens
- [Token types and permissions](/influxdb3/version/admin/tokens/) - Understanding operator and named admin tokens
### Data model ### Data model
@ -366,17 +359,17 @@ This tutorial covers many of the recommended tools.
| Tool | Administration | Write | Query | | Tool | Administration | Write | Query |
| :------------------------------------------------------------------------------------------------ | :----------------------: | :----------------------: | :----------------------: | | :------------------------------------------------------------------------------------------------ | :----------------------: | :----------------------: | :----------------------: |
| [Chronograf](/chronograf/v1/) | - | - | **{{< icon "check" >}}** | | `influxdb3` CLI{{< req text="\* " color="magenta" >}} | **{{< icon "check" >}}** | **{{< icon "check" >}}** | **{{< icon "check" >}}** |
| <span style="opacity:.5;">`influx` CLI</span> | - | - | - | | InfluxDB HTTP API {{< req text="\* " color="magenta" >}} | **{{< icon "check" >}}** | **{{< icon "check" >}}** | **{{< icon "check" >}}** |
| [`influxdb3` CLI](#influxdb3-cli){{< req text="\* " color="magenta" >}} | **{{< icon "check" >}}** | **{{< icon "check" >}}** | **{{< icon "check" >}}** |
| <span style="opacity:.5;">`influxctl` CLI</span> | - | - | - |
| [InfluxDB HTTP API](#influxdb-http-api){{< req text="\* " color="magenta" >}} | **{{< icon "check" >}}** | **{{< icon "check" >}}** | **{{< icon "check" >}}** |
| <span style="opacity:.5;">InfluxDB user interface</span> | - | - | - |
| [InfluxDB 3 client libraries](/influxdb3/version/reference/client-libraries/v3/) | - | **{{< icon "check" >}}** | **{{< icon "check" >}}** | | [InfluxDB 3 client libraries](/influxdb3/version/reference/client-libraries/v3/) | - | **{{< icon "check" >}}** | **{{< icon "check" >}}** |
| [InfluxDB v2 client libraries](/influxdb3/version/reference/client-libraries/v2/) | - | **{{< icon "check" >}}** | - | | [InfluxDB v2 client libraries](/influxdb3/version/reference/client-libraries/v2/) | - | **{{< icon "check" >}}** | - |
| [InfluxDB v1 client libraries](/influxdb3/version/reference/client-libraries/v1/) | - | **{{< icon "check" >}}** | **{{< icon "check" >}}** | | [InfluxDB v1 client libraries](/influxdb3/version/reference/client-libraries/v1/) | - | **{{< icon "check" >}}** | **{{< icon "check" >}}** |
| [InfluxDB 3 Processing engine](#python-plugins-and-the-processing-engine){{< req text="\* " color="magenta" >}} | | **{{< icon "check" >}}** | **{{< icon "check" >}}** | | [InfluxDB 3 Processing engine](#python-plugins-and-the-processing-engine){{< req text="\* " color="magenta" >}} | | **{{< icon "check" >}}** | **{{< icon "check" >}}** |
| [Telegraf](/telegraf/v1/) | - | **{{< icon "check" >}}** | - | | [Telegraf](/telegraf/v1/) | - | **{{< icon "check" >}}** | - |
| [Chronograf](/chronograf/v1/) | - | - | - |
| <span style="opacity:.5;">`influx` CLI</span> | - | - | - |
| <span style="opacity:.5;">`influxctl` CLI</span> | - | - | - |
| <span style="opacity:.5;">InfluxDB v2.x user interface</span> | - | - | - |
| **Third-party tools** | | | | | **Third-party tools** | | | |
| Flight SQL clients | - | - | **{{< icon "check" >}}** | | Flight SQL clients | - | - | **{{< icon "check" >}}** |
| [Grafana](/influxdb3/version/visualize-data/grafana/) | - | - | **{{< icon "check" >}}** | | [Grafana](/influxdb3/version/visualize-data/grafana/) | - | - | **{{< icon "check" >}}** |
@ -650,7 +643,7 @@ Replace the following placeholders with your values:
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: the name of the database to create - {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: the name of the database to create
- {{% code-placeholder-key %}}`AUTH_TOKEN`{{% /code-placeholder-key %}}: the {{% token-link "admin" %}} for your {{% product-name %}} server - {{% code-placeholder-key %}}`AUTH_TOKEN`{{% /code-placeholder-key %}}: the {{% token-link "admin" %}} for your {{% product-name %}} server
To learn more about a subcommand, use the `-h, --help` flag or view the [InfluxDB 3 CLI reference](/influxdb3/version/reference/cli/create/): To learn more about a subcommand, use the `-h, --help` flag or view the [InfluxDB 3 CLI reference](/influxdb3/version/reference/cli/influxdb3/create):
```bash ```bash
influxdb3 create -h influxdb3 create -h
@ -917,7 +910,7 @@ _You can create a last values cache per time series, but be mindful of high card
#### Query a last values cache #### Query a last values cache
To query data from the LVC, use the [`last_cache()`](influxdb3/version/reference/sql/functions/cache/#last_cache) function in your query--for example: To query data from the LVC, use the [`last_cache()`](/influxdb3/version/reference/sql/functions/cache/#last_cache) function in your query--for example:
```bash ```bash
influxdb3 query \ influxdb3 query \
@ -1147,7 +1140,7 @@ To test a plugin, do the following:
1. Create a _plugin directory_--for example, `/path/to/.influxdb/plugins` 1. Create a _plugin directory_--for example, `/path/to/.influxdb/plugins`
2. [Start the InfluxDB server](#start-influxdb) and include the `--plugin-dir <PATH>` option. 2. [Start the InfluxDB server](#start-influxdb) and include the `--plugin-dir <PATH>` option.
3. Save the [example plugin code](#example-python-plugin-for-wal-flush) 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. 3. Save the [example plugin code](#example-python-plugin-for-wal-rows) to a plugin file inside of the plugin directory. If you haven't yet written data to the table in the example, comment out the lines where it queries.
4. To run the test, enter the following command with the following options: 4. To run the test, enter the following command with the following options:
- `--lp` or `--file`: The line protocol to test - `--lp` or `--file`: The line protocol to test

View File

@ -44,6 +44,12 @@ This guide covers Enterprise as well as InfluxDB 3 Core, including the following
- [Python plugins and the processing engine](#python-plugins-and-the-processing-engine) - [Python plugins and the processing engine](#python-plugins-and-the-processing-engine)
- [Multi-server setups](#multi-server-setup) - [Multi-server setups](#multi-server-setup)
> [!Tip]
> #### Find support for {{% product-name %}}
>
> The [InfluxDB Discord server](https://discord.gg/9zaNCW2PRT) is the best place to find support for {{% product-name %}}.
> For other InfluxDB versions, see the [Support and feedback](#bug-reports-and-feedback) options.
### Install and startup ### Install and startup
{{% product-name %}} runs on **Linux**, **macOS**, and **Windows**. {{% product-name %}} runs on **Linux**, **macOS**, and **Windows**.
@ -250,7 +256,7 @@ influxdb3 serve \
--object-store memory --object-store memory
``` ```
For more information about server options, use the CLI help or view the [InfluxDB 3 CLI reference](/influxdb3/version/reference/cli/serve/): For more information about server options, use the CLI help or view the [InfluxDB 3 CLI reference](/influxdb3/version/reference/cli/influxdb3/serve/):
```bash ```bash
influxdb3 serve --help influxdb3 serve --help
@ -270,28 +276,25 @@ You can learn more on managing your InfluxDB 3 Enterprise license on the [Manage
### Authentication and authorization ### Authentication and authorization
After you have [started the server](#start-influxdb), you can create and manage tokens using the `influxdb3` CLI or the HTTP API. {{% product-name %}} uses token-based authentication and authorization, which is enabled by default when you start the server.
{{% product-name %}} uses token-based authentication and authorization which is enabled by default when you start the server.
With authentication enabled, you must provide a token with `influxdb3` CLI commands and HTTP API requests. With authentication enabled, you must provide a token with `influxdb3` CLI commands and HTTP API requests.
{{% product-name %}} uses token-based authentication and authorization which is enabled by default when you start the server.
{{% show-in "enterprise" %}}
{{% product-name %}} supports the following types of tokens: {{% product-name %}} supports the following types of tokens:
- **admin token**: Grants access to all CLI actions and API endpoints. A server can have one admin token. - **admin token**: Grants access to all CLI actions and API endpoints. A server can have one admin token.
- **resource tokens**: Fine-grained permissions tokens that grant read and write access to specific resources (databases and system information endpoints) on the server. - **resource tokens**: Tokens that grant read and write access to specific resources (databases and system information endpoints) on the server.
- A database token grants access to write and query data in a - A database token grants access to write and query data in a
database database
- A system token grants read access to system information endpoints and - A system token grants read access to system information endpoints and
metrics for the server metrics for the server
{{% /show-in %}}
InfluxDB 3 supports the `*` resource name wildcard to grant permissions to all For more information about tokens and authorization, see [Manage tokens](/influxdb3/version/admin/tokens/).
resources of a specific type.
You can create multiple resource tokens for different resources.
When you create a token, InfluxDB 3 returns a token string in plain text
that you use to authenticate CLI commands and API requests.
To have the `influxdb3` CLI use your admin token automatically, assign it to the
`INFLUXDB3_AUTH_TOKEN` environment variable.
> [!Important] > [!Important]
> #### Securely store your token > #### Securely store your token
@ -300,12 +303,11 @@ To have the `influxdb3` CLI use your admin token automatically, assign it to the
> Store your token in a secure location, as you cannot retrieve it from the database later. > Store your token in a secure location, as you cannot retrieve it from the database later.
> InfluxDB 3 stores only the token's hash and metadata in the catalog. > InfluxDB 3 stores only the token's hash and metadata in the catalog.
#### Create an admin token #### Create an operator token
To create an admin token, use the `influxdb3 create token --admin` subcommand--for example: After you start the server, create your first admin token (the operator token):
{{< code-tabs-wrapper >}} {{< code-tabs-wrapper >}}
{{% code-tabs %}} {{% code-tabs %}}
[CLI](#) [CLI](#)
[Docker](#) [Docker](#)
@ -313,8 +315,7 @@ To create an admin token, use the `influxdb3 create token --admin` subcommand--f
{{% code-tab-content %}} {{% code-tab-content %}}
```bash ```bash
influxdb3 create token --admin \ influxdb3 create token --admin
--host http://INFLUXDB_HOST
``` ```
{{% /code-tab-content %}} {{% /code-tab-content %}}
@ -330,146 +331,64 @@ docker exec -it CONTAINER_NAME influxdb3 create token --admin
Replace {{% code-placeholder-key %}}`CONTAINER_NAME`{{% /code-placeholder-key %}} with the name of your running Docker container. Replace {{% code-placeholder-key %}}`CONTAINER_NAME`{{% /code-placeholder-key %}} with the name of your running Docker container.
{{% /code-tab-content %}} {{% /code-tab-content %}}
{{< /code-tabs-wrapper >}} {{< /code-tabs-wrapper >}}
The command returns a token string that you can use to authenticate CLI commands and API requests. The command returns a token string for authenticating CLI commands and API requests.
Store your token in a secure location, as you cannot retrieve it from the database later.
For more information about tokens, see how to [Manage admin tokens](/influxdb3/version/admin/tokens/admin/). > [!Important]
> **Store your token securely**
>
> InfluxDB displays the token string only when you create it.
> Store your token securely—you cannot retrieve it from the database later.
After you have created an admin token, you can use it to create database tokens and system tokens. #### Set your token for authentication
#### Create a database token Use one of the following methods to authenticate requests.
In your commands, replace {{% code-placeholder-key %}}`YOUR_AUTH_TOKEN`{{% /code-placeholder-key %}} with your token string (for example, the [operator token](#create-an-operator-token) from the previous step).
To create a database token, use the `influxdb3 create token` subcommand and pass the following:
- `--permission`: Create a token with fine-grained permissions
- `--name`: A unique name for the token
- _Options_, for example:
- `--expiry` option with the token expiration time as a [duration](/influxdb3/enterprise/reference/glossary/#duration).
If an expiration isn't set, the token does not expire until revoked.
- `--token` option with the admin token to use for authentication
- Token permissions as a string literal in the `RESOURCE_TYPE:RESOURCE_NAMES:ACTIONS` format--for example:
- `"db:mydb:read,write"`
- `db:`: The `db` resource type, which specifies the token is for a database
- `mydb`: The name of the database to grant permissions to. This part supports the `*` wildcard, which grants permissions to all databases.
- `read,write`: A comma-separated list of permissions to grant to the token.
The following example shows how to create a database token that expires in 90 days and has read and write permissions for all databases on the server:
{{% code-placeholders "ADMIN_TOKEN" %}}
```bash
influxdb3 create token \
--permission \
--expiry 90d \
--token ADMIN_TOKEN \
--host http://{{< influxdb/host >}} \
--name "rw all databases" \
"db:*:read,write"
```
{{% /code-placeholders %}}
In your command, replace {{% code-placeholder-key %}} `ADMIN_TOKEN`{{% /code-placeholder-key %}} with the admin token you created earlier.
#### Create a system token
A _system token_ grants read access to system information and metrics for the server, including the following HTTP API endpoints:
- `/health`
- `/metrics`
- `/ping`
To create a system token, use the `influxdb3 create token` subcommand and pass the following:
- `--permission`: Create a token with fine-grained permissions
- `--name`: A unique name for the token
- _Options_, for example:
- `--expiry` option with the token expiration time as a [duration](/influxdb3/enterprise/reference/glossary/#duration).
If an expiration isn't set, the token does not expire until revoked.
- `--token` option with the admin token to use for authentication
- `--host` option with the server host
- Token permissions as a string literal in the `RESOURCE_TYPE:RESOURCE_NAMES:ACTIONS` format--for example:
- `"system:health:read"` or `"system:*:read"`
- `system:`: The `system` resource type, which specifies the token is for a database.
- `health`: The list of system resources (endpoints) to grant permissions to.
This part supports the `*` wildcard, which grants permissions to all endpoints.
- `read`: The list of permissions to grant. _Only `read` is supported for system resources._
The following example shows how to create a system token that expires in 1 year and has read permissions for all system endpoints on the server:
{{% code-placeholders "ADMIN_TOKEN" %}}
```bash
influxdb3 create token \
--permission \
--expiry 1y \
--token ADMIN_TOKEN \
--host http://{{< influxdb/host >}} \
--name "all system endpoints" \
"system:*:read"
```
{{% /code-placeholders %}}
In your command, replace {{% code-placeholder-key %}} `ADMIN_TOKEN`{{% /code-placeholder-key %}} with the admin token you created earlier.
For more information, see how to [Manage resource tokens](/influxdb3/version/admin/tokens/resource/).
#### Use tokens to authorize CLI commands and API requests
#### Use tokens to authorize CLI commands and API requests
With authentication enabled (the default), {{% product-name %}} requires a
token for all `influxdb3` CLI commands and HTTP API requests.
In the following examples, replace {{% code-placeholder-key %}}`AUTH_TOKEN`{{% /code-placeholder-key %}} with your {{% token-link "admin" %}} string.
{{< tabs-wrapper >}} {{< tabs-wrapper >}}
{{% tabs %}} {{% tabs %}}
[CLI](#cli-use-a-token) [Environment variable (recommended)](#)
[HTTP API](#api-use-a-token) [Command option](#)
{{% /tabs %}} {{% /tabs %}}
{{% tab-content %}} {{% tab-content %}}
For `influxdb3` to use your token automatically, assign it your
token to the `INFLUXDB3_AUTH_TOKEN` environment variable:
{{% code-placeholders "AUTH_TOKEN" %}} Set the `INFLUXDB3_AUTH_TOKEN` environment variable to have the CLI use your token automatically:
{{% code-placeholders "YOUR_AUTH_TOKEN" %}}
```bash ```bash
# Set the environment variable for future CLI commands export INFLUXDB3_AUTH_TOKEN=YOUR_AUTH_TOKEN
export INFLUXDB3_AUTH_TOKEN=AUTH_TOKEN
``` ```
{{% /code-placeholders %}} {{% /code-placeholders %}}
Or to authenticate a single `influxdb3` CLI command and override `$INFLUXDB3_AUTH_TOKEN`, include the `--token` option: {{% /tab-content %}}
{{% tab-content %}}
{{% code-placeholders "AUTH_TOKEN" %}} Include the `--token` option with CLI commands:
{{% code-placeholders "YOUR_AUTH_TOKEN" %}}
```bash ```bash
# Use the --token option for a single command
influxdb3 show databases --token AUTH_TOKEN influxdb3 show databases --token AUTH_TOKEN
``` ```
{{% /code-placeholders %}} {{% /code-placeholders %}}
{{% /tab-content %}} {{% /tab-content %}}
{{% tab-content %}} {{< /tabs-wrapper >}}
To authenticate HTTP API requests, include `Bearer <TOKEN>` in the `Authorization` header value:
For HTTP API requests, include your token in the `Authorization` header:
{{% code-placeholders "AUTH_TOKEN" %}} {{% code-placeholders "AUTH_TOKEN" %}}
```bash ```bash
# Include the token in the Authorization HTTP request header
curl "http://{{< influxdb/host >}}/api/v3/configure/database" \ curl "http://{{< influxdb/host >}}/api/v3/configure/database" \
--header "Authorization: Bearer AUTH_TOKEN" --header "Authorization: Bearer AUTH_TOKEN"
``` ```
{{% /code-placeholders %}} {{% /code-placeholders %}}
{{% code-placeholders "SYSTEM_TOKEN" %}} #### Learn more about token management
```bash
curl "http://{{< influxdb/host >}}/health" \
--header "Authorization: Bearer SYSTEM_TOKEN"
```
{{% /code-placeholders %}}
Replace {{% code-placeholder-key %}}`SYSTEM_TOKEN`{{% /code-placeholder-key %}} with the system token string that grants access to system endpoints (`/health`, `/metrics`) - [Manage admin tokens](/influxdb3/version/admin/tokens/admin/) - Create, list, and delete admin tokens
{{% /tab-content %}} - [Manage resource tokens](/influxdb3/version/admin/tokens/resource/) - Create, list, and delete resource tokens
{{< /tabs-wrapper >}} - [Token types and permissions](/influxdb3/version/admin/tokens/) - Understanding operator and named admin tokens
### Data model ### Data model
@ -487,17 +406,17 @@ This tutorial covers many of the recommended tools.
| Tool | Administration | Write | Query | | Tool | Administration | Write | Query |
| :------------------------------------------------------------------------------------------------ | :----------------------: | :----------------------: | :----------------------: | | :------------------------------------------------------------------------------------------------ | :----------------------: | :----------------------: | :----------------------: |
| [Chronograf](/chronograf/v1/) | - | - | **{{< icon "check" >}}** | | **`influxdb3` CLI** {{< req text="\* " color="magenta" >}} | **{{< icon "check" >}}** | **{{< icon "check" >}}** | **{{< icon "check" >}}** |
| <span style="opacity:.5;">`influx` CLI</span> | - | - | - | | **InfluxDB HTTP API** {{< req text="\* " color="magenta" >}} | **{{< icon "check" >}}** | **{{< icon "check" >}}** | **{{< icon "check" >}}** |
| [`influxdb3` CLI](#influxdb3-cli){{< req text="\* " color="magenta" >}} | **{{< icon "check" >}}** | **{{< icon "check" >}}** | **{{< icon "check" >}}** |
| <span style="opacity:.5;">`influxctl` CLI</span> | - | - | - |
| [InfluxDB HTTP API](#influxdb-http-api){{< req text="\* " color="magenta" >}} | **{{< icon "check" >}}** | **{{< icon "check" >}}** | **{{< icon "check" >}}** |
| <span style="opacity:.5;">InfluxDB user interface</span> | - | - | - |
| [InfluxDB 3 client libraries](/influxdb3/version/reference/client-libraries/v3/) | - | **{{< icon "check" >}}** | **{{< icon "check" >}}** | | [InfluxDB 3 client libraries](/influxdb3/version/reference/client-libraries/v3/) | - | **{{< icon "check" >}}** | **{{< icon "check" >}}** |
| [InfluxDB v2 client libraries](/influxdb3/version/reference/client-libraries/v2/) | - | **{{< icon "check" >}}** | - | | [InfluxDB v2 client libraries](/influxdb3/version/reference/client-libraries/v2/) | - | **{{< icon "check" >}}** | - |
| [InfluxDB v1 client libraries](/influxdb3/version/reference/client-libraries/v1/) | - | **{{< icon "check" >}}** | **{{< icon "check" >}}** | | [InfluxDB v1 client libraries](/influxdb3/version/reference/client-libraries/v1/) | - | **{{< icon "check" >}}** | **{{< icon "check" >}}** |
| [InfluxDB 3 Processing engine](#python-plugins-and-the-processing-engine){{< req text="\* " color="magenta" >}} | | **{{< icon "check" >}}** | **{{< icon "check" >}}** | | [InfluxDB 3 Processing engine](#python-plugins-and-the-processing-engine){{< req text="\* " color="magenta" >}} | | **{{< icon "check" >}}** | **{{< icon "check" >}}** |
| [Telegraf](/telegraf/v1/) | - | **{{< icon "check" >}}** | - | | [Telegraf](/telegraf/v1/) | - | **{{< icon "check" >}}** | - |
| [Chronograf](/chronograf/v1/) | - | - | - |
| <span style="opacity:.5;">`influx` CLI</span> | - | - | - |
| <span style="opacity:.5;">`influxctl` CLI</span> | - | - | - |
| <span style="opacity:.5;">InfluxDB v2.x user interface</span> | - | - | - |
| **Third-party tools** | | | | | **Third-party tools** | | | |
| Flight SQL clients | - | - | **{{< icon "check" >}}** | | Flight SQL clients | - | - | **{{< icon "check" >}}** |
| [Grafana](/influxdb3/version/visualize-data/grafana/) | - | - | **{{< icon "check" >}}** | | [Grafana](/influxdb3/version/visualize-data/grafana/) | - | - | **{{< icon "check" >}}** |
@ -770,7 +689,7 @@ Replace the following placeholders with your values:
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: the name of the database to create - {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: the name of the database to create
- {{% code-placeholder-key %}}`AUTH_TOKEN`{{% /code-placeholder-key %}}: the {{% token-link "admin" %}} for your {{% product-name %}} server - {{% code-placeholder-key %}}`AUTH_TOKEN`{{% /code-placeholder-key %}}: the {{% token-link "admin" %}} for your {{% product-name %}} server
To learn more about a subcommand, use the `-h, --help` flag or view the [InfluxDB 3 CLI reference](/influxdb3/version/reference/cli/create/): To learn more about a subcommand, use the `-h, --help` flag or view the [InfluxDB 3 CLI reference](/influxdb3/version/reference/cli/influxdb3/create):
```bash ```bash
influxdb3 create -h influxdb3 create -h
@ -975,7 +894,7 @@ docker pull quay.io/influxdb/influxdb3-explorer:latest
Run the interface using: Run the interface using:
```bash ```bash
docker run --name influxdb3-explorer -p 8086:8888 quay.io/influxdb/influxdb3-explorer:latest docker run -p 8086:80 -p 8087:8888 quay.io/influxdb/influxdb3-explorer:latest --mode=normal
``` ```
With the default settings above, you can access the UI at http://localhost:8086. With the default settings above, you can access the UI at http://localhost:8086.
@ -986,6 +905,7 @@ visualization of your time series data.
### Last values cache ### Last values cache
{{% product-name %}} supports a **last-n values cache** which stores the last N values in a series or column hierarchy in memory. This gives the database the ability to answer these kinds of queries in under 10 milliseconds. {{% product-name %}} supports a **last-n values cache** which stores the last N values in a series or column hierarchy in memory. This gives the database the ability to answer these kinds of queries in under 10 milliseconds.
Last value caches import historical data when first created, and reload data on restart to ensure cache consistency and eliminate cold start delays.
You can use the `influxdb3` CLI to [create a last value cache](/influxdb3/version/reference/cli/influxdb3/create/last_cache/). You can use the `influxdb3` CLI to [create a last value cache](/influxdb3/version/reference/cli/influxdb3/create/last_cache/).
{{% code-placeholders "DATABASE_NAME|AUTH_TOKEN|TABLE_NAME|CACHE_NAME" %}} {{% code-placeholders "DATABASE_NAME|AUTH_TOKEN|TABLE_NAME|CACHE_NAME" %}}
@ -1031,7 +951,7 @@ _You can create a last values cache per time series, but be mindful of high card
#### Query a last values cache #### Query a last values cache
To query data from the LVC, use the [`last_cache()`](influxdb3/version/reference/sql/functions/cache/#last_cache) function in your query--for example: To query data from the LVC, use the [`last_cache()`](/influxdb3/version/reference/sql/functions/cache/#last_cache) function in your query--for example:
```bash ```bash
influxdb3 query \ influxdb3 query \
@ -1071,6 +991,7 @@ Replace the following placeholders with your values:
Similar to the [last values cache](#last-values-cache), the database can cache in RAM the distinct values for a single column in a table or a hierarchy of columns. Similar to the [last values cache](#last-values-cache), the database can cache in RAM the distinct values for a single column in a table or a hierarchy of columns.
This is useful for fast metadata lookups, which can return in under 30 milliseconds. This is useful for fast metadata lookups, which can return in under 30 milliseconds.
Many of the options are similar to the last value cache. Many of the options are similar to the last value cache.
Distinct values caches import historical data when first created, and reload data on restart to ensure cache consistency and eliminate cold start delays.
You can use the `influxdb3` CLI to [create a distinct values cache](/influxdb3/version/reference/cli/influxdb3/create/distinct_cache/). You can use the `influxdb3` CLI to [create a distinct values cache](/influxdb3/version/reference/cli/influxdb3/create/distinct_cache/).
@ -1261,7 +1182,7 @@ To test a plugin, do the following:
1. Create a _plugin directory_--for example, `/path/to/.influxdb/plugins` 1. Create a _plugin directory_--for example, `/path/to/.influxdb/plugins`
2. [Start the InfluxDB server](#start-influxdb) and include the `--plugin-dir <PATH>` option. 2. [Start the InfluxDB server](#start-influxdb) and include the `--plugin-dir <PATH>` option.
3. Save the [example plugin code](#example-python-plugin-for-wal-flush) 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. 3. Save the [example plugin code](#example-python-plugin-for-wal-rows) to a plugin file inside of the plugin directory. If you haven't yet written data to the table in the example, comment out the lines where it queries.
4. To run the test, enter the following command with the following options: 4. To run the test, enter the following command with the following options:
- `--lp` or `--file`: The line protocol to test - `--lp` or `--file`: The line protocol to test
@ -1673,4 +1594,4 @@ Replace the following placeholders with your values:
- {{% code-placeholder-key %}}`AUTH_TOKEN`{{% /code-placeholder-key %}}: your {{% token-link "admin" %}} - {{% code-placeholder-key %}}`AUTH_TOKEN`{{% /code-placeholder-key %}}: your {{% token-link "admin" %}}
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: the name of the database to create the file index in - {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: the name of the database to create the file index in
- {{% code-placeholder-key %}}`TABLE_NAME`{{% /code-placeholder-key %}}: the name of the table to create the file index in - {{% code-placeholder-key %}}`TABLE_NAME`{{% /code-placeholder-key %}}: the name of the table to create the file index in
- {{% code-placeholder-key %}}`COLUMNS`{{% /code-placeholder-key %}}: a comma-separated list of columns to index on, for example, `host,application` - {{% code-placeholder-key %}}`COLUMNS`{{% /code-placeholder-key %}}: a comma-separated list of columns to index on, for example, `host,application`

View File

@ -6,7 +6,7 @@ influxdb3_core:
versions: [core] versions: [core]
list_order: 2 list_order: 2
latest: core latest: core
latest_patch: 3.0.3 latest_patch: 3.1.0
placeholder_host: localhost:8181 placeholder_host: localhost:8181
ai_sample_questions: ai_sample_questions:
- How do I install and run InfluxDB 3 Core? - How do I install and run InfluxDB 3 Core?
@ -21,7 +21,7 @@ influxdb3_enterprise:
versions: [enterprise] versions: [enterprise]
list_order: 2 list_order: 2
latest: enterprise latest: enterprise
latest_patch: 3.0.3 latest_patch: 3.1.0
placeholder_host: localhost:8181 placeholder_host: localhost:8181
ai_sample_questions: ai_sample_questions:
- How do I install and run InfluxDB 3 Enterprise? - How do I install and run InfluxDB 3 Enterprise?

View File

@ -53,9 +53,14 @@
To find support, use the following resources: To find support, use the following resources:
</p> </p>
<ul> <ul>
<li><a class="discord" href="https://discord.gg/9zaNCW2PRT" target="_blank" >InfluxDB Discord Server <em style="opacity:.5">(Preferred)</em></a></li> {{ if and (eq $product "influxdb3") (or (eq $version "core") (eq $version "enterprise")) }}
<li><a class="discord" href="https://discord.gg/9zaNCW2PRT" target="_blank"><strong>InfluxDB Discord Server</strong> <em style="opacity:.5">(Preferred)</em></a></li>
<li><a class="slack" href="https://influxdata.com/slack" target="_blank">InfluxDB Community Slack</a></li>
{{ else }}
<li><a class="slack" href="https://influxdata.com/slack" target="_blank">InfluxDB Community Slack <em style="opacity:.5">(Preferred)</em></a></li>
<li><a class="discord" href="https://discord.gg/9zaNCW2PRT" target="_blank"><strong>InfluxDB Discord Server</strong></a></li>
{{ end }}
<li><a class="community" href="https://community.influxdata.com/" target="_blank">InfluxData Community</a></li> <li><a class="community" href="https://community.influxdata.com/" target="_blank">InfluxData Community</a></li>
<li><a class="slack" href="https://influxdata.com/slack" target="_blank">InfluxDB Community Slack</a></li>
<li><a class="reddit" href="https://reddit.com/r/influxdb" target="_blank">InfluxDB Subreddit</a></li> <li><a class="reddit" href="https://reddit.com/r/influxdb" target="_blank">InfluxDB Subreddit</a></li>
</ul> </ul>
{{ if not (in $supportBlacklist $product) }} {{ if not (in $supportBlacklist $product) }}

View File

@ -79,8 +79,8 @@ pre-push:
tags: test,links tags: test,links
glob: 'content/**/*.{md,html}' glob: 'content/**/*.{md,html}'
run: | run: |
echo "Running link checker for: {staged_files}" echo "Running link checker for: {push_files}"
yarn test:links {staged_files} yarn test:links {push_files}
exit $? exit $?
# Manage Docker containers # Manage Docker containers
@ -100,13 +100,13 @@ pre-push:
tags: test,codeblocks,v2 tags: test,codeblocks,v2
env: env:
SERVICE: cloud-pytest SERVICE: cloud-pytest
run: yarn test:codeblocks:cloud '{staged_files}' run: yarn test:codeblocks:cloud '{push_files}'
cloud-dedicated-pytest: cloud-dedicated-pytest:
tags: test,codeblocks,v3 tags: test,codeblocks,v3
glob: content/influxdb/cloud-dedicated/**/*.md glob: content/influxdb/cloud-dedicated/**/*.md
run: | run: |
yarn test:codeblocks:cloud-dedicated '{staged_files}' && yarn test:codeblocks:cloud-dedicated '{push_files}' &&
./test/scripts/monitor-tests.sh stop cloud-dedicated-pytest ./test/scripts/monitor-tests.sh stop cloud-dedicated-pytest
cloud-serverless-pytest: cloud-serverless-pytest:
@ -114,13 +114,13 @@ pre-push:
glob: content/influxdb/cloud-serverless/**/*.md glob: content/influxdb/cloud-serverless/**/*.md
env: env:
SERVICE: cloud-serverless-pytest SERVICE: cloud-serverless-pytest
run: yarn test:codeblocks:cloud-serverless '{staged_files}' run: yarn test:codeblocks:cloud-serverless '{push_files}'
clustered-pytest: clustered-pytest:
tags: test,codeblocks,v3 tags: test,codeblocks,v3
glob: content/influxdb/clustered/**/*.md glob: content/influxdb/clustered/**/*.md
run: | run: |
yarn test:codeblocks:clustered '{staged_files}' && yarn test:codeblocks:clustered '{push_files}' &&
./test/scripts/monitor-tests.sh stop clustered-pytest ./test/scripts/monitor-tests.sh stop clustered-pytest
telegraf-pytest: telegraf-pytest:
@ -128,11 +128,11 @@ pre-push:
glob: content/telegraf/**/*.md glob: content/telegraf/**/*.md
env: env:
SERVICE: telegraf-pytest SERVICE: telegraf-pytest
run: yarn test:codeblocks:telegraf '{staged_files}' run: yarn test:codeblocks:telegraf '{push_files}'
v2-pytest: v2-pytest:
tags: test,codeblocks,v2 tags: test,codeblocks,v2
glob: content/influxdb/v2/**/*.md glob: content/influxdb/v2/**/*.md
env: env:
SERVICE: v2-pytest SERVICE: v2-pytest
run: yarn test:codeblocks:v2 '{staged_files}' run: yarn test:codeblocks:v2 '{push_files}'