diff --git a/.vscode/settings.json b/.vscode/settings.json index 002907174..92e45a176 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -21,4 +21,7 @@ "enabled": true } ], + "cSpell.words": [ + "influxctl" + ], } \ No newline at end of file diff --git a/content/influxdb3/cloud-dedicated/admin/tokens/database/create.md b/content/influxdb3/cloud-dedicated/admin/tokens/database/create.md index efd83b5d7..306baa7e2 100644 --- a/content/influxdb3/cloud-dedicated/admin/tokens/database/create.md +++ b/content/influxdb3/cloud-dedicated/admin/tokens/database/create.md @@ -16,6 +16,7 @@ list_code_example: | --read-database DATABASE1_NAME \ --read-database DATABASE2_NAME \ --write-database DATABASE2_NAME \ + --expires-at 2030-01-01T00:00:00Z \ "Read-only on DATABASE1_NAME, Read/write on DATABASE2_NAME" ``` @@ -37,7 +38,9 @@ list_code_example: | "action": "read", "resource": "DATABASE_NAME" } - ] + ], + "expirationType": "datetime", + "expiresAt": "2030-01-01T00:00:00Z" }' ``` aliases: @@ -60,6 +63,7 @@ or the [Management HTTP API](/influxdb3/cloud-dedicated/api/management/) to crea {{% tab-content %}} + Use the [`influxctl token create` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/token/create/) to create a token that grants access to databases in your {{% product-name omit=" Clustered" %}} cluster. @@ -74,22 +78,31 @@ to create a token that grants access to databases in your {{% product-name omit= permissions to all databases. Enclose wildcards in single or double quotes--for example: `'*'` or `"*"`. + - _Optional_: the `--expires-at` flag with an RFC3339 date string that defines the + token expiration date and time--for example, `{{< datetime/current-date offset=1 >}}`. + If an expiration isn't set, the token does not expire until revoked. + - Token description -{{% code-placeholders "DATABASE_NAME|TOKEN_DESCRIPTION" %}} +{{% code-placeholders "DATABASE_NAME|TOKEN_DESCRIPTION|RFC3339_TIMESTAMP" %}} ```sh influxctl token create \ --read-database DATABASE_NAME \ --write-database DATABASE_NAME \ - "Read/write token for DATABASE_NAME" + --expires-at RFC3339_TIMESTAMP \ + "Read/write token for DATABASE_NAME" ``` {{% /code-placeholders %}} Replace the following: -- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: your {{% product-name %}} [database](/influxdb3/cloud-dedicated/admin/databases/) +- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: + your {{% product-name %}} [database](/influxdb3/cloud-dedicated/admin/databases/) +- {{% code-placeholder-key %}}`RFC3339_TIMESTAMP`{{% /code-placeholder-key %}}: + the token expiration date and time in + [RFC3339 format](/influxdb3/cloud-dedicated/reference/glossary/#rfc3339-timestamp). The output is the token ID and the token string. **This is the only time the token string is available in plain text.** @@ -100,28 +113,34 @@ The output is the token ID and the token string. _This example uses [cURL](https://curl.se/) to send a Management HTTP API request, but you can use any HTTP client._ -1. If you haven't already, follow the instructions to [install cURL](https://everything.curl.dev/install/index.html) for your system. -2. In your terminal, use cURL to send a request to the following {{% product-name %}} endpoint: +1. If you haven't already, follow the instructions to [install cURL](https://everything.curl.dev/install/index.html) for your system. +2. In your terminal, use cURL to send a request to the following {{% product-name %}} endpoint: - {{% api-endpoint endpoint="https://console.influxdata.com/api/v0/accounts/ACCOUNT_ID/clusters/CLUSTER_ID/tokens" method="post" api-ref="/influxdb3/cloud-dedicated/api/management/#operation/CreateDatabaseToken" %}} + {{% api-endpoint endpoint="https://console.influxdata.com/api/v0/accounts/ACCOUNT_ID/clusters/CLUSTER_ID/tokens" method="post" api-ref="/influxdb3/cloud-dedicated/api/management/#operation/CreateDatabaseToken" %}} - In the URL, provide the following credentials: + In the URL, provide the following credentials: - - `ACCOUNT_ID`: The ID of the [account](/influxdb3/cloud-dedicated/get-started/setup/#request-an-influxdb-cloud-dedicated-cluster) that the cluster belongs to _(see how to [list cluster details](/influxdb3/cloud-dedicated/admin/clusters/list/#detailed-output-in-json))_. - - `CLUSTER_ID`: The ID of the [cluster](/influxdb3/cloud-dedicated/get-started/setup/#request-an-influxdb-cloud-dedicated-cluster) that you want to manage _(see how to [list cluster details](/influxdb3/cloud-dedicated/admin/clusters/list/#detailed-output-in-json))_. + - `ACCOUNT_ID`: The ID of the [account](/influxdb3/cloud-dedicated/get-started/setup/#request-an-influxdb-cloud-dedicated-cluster) that the cluster belongs to _(see how to [list cluster details](/influxdb3/cloud-dedicated/admin/clusters/list/#detailed-output-in-json))_. + - `CLUSTER_ID`: The ID of the [cluster](/influxdb3/cloud-dedicated/get-started/setup/#request-an-influxdb-cloud-dedicated-cluster) that you want to manage _(see how to [list cluster details](/influxdb3/cloud-dedicated/admin/clusters/list/#detailed-output-in-json))_. - Provide the following request headers: + Provide the following request headers: - - `Accept: application/json` to ensure the response body is JSON content - - `Content-Type: application/json` to indicate the request body is JSON content - - `Authorization: Bearer` and a [Management API token](/influxdb3/cloud-dedicated/admin/tokens/management/) for your cluster _(see how to [create a management token](/influxdb3/cloud-dedicated/admin/tokens/management/) for Management API requests)_. + - `Accept: application/json` to ensure the response body is JSON content + - `Content-Type: application/json` to indicate the request body is JSON content + - `Authorization: Bearer` and a [Management API token](/influxdb3/cloud-dedicated/admin/tokens/management/) for your cluster _(see how to [create a management token](/influxdb3/cloud-dedicated/admin/tokens/management/) for Management API requests)_. - In the request body, provide the following parameters: + In the request body, provide the following parameters: - `permissions`: an array of token [permissions](/influxdb3/cloud-dedicated/api/management/#operation/CreateDatabaseToken) (read or write) objects: - `"action"`: Specify `read` or `write` permission to the database. - `"resource"`: Specify the database name. - `description`: Provide a description of the token. + - `expirationType`: Specify `datetime` or `noExpiration` token expiration type. + - `expiresAt`: Specify the token expiration date and time in + [RFC3339 format](/influxdb3/cloud-dedicated/reference/glossary/#rfc3339-timestamp). + + > [!Note] + > `expiresAt` is only required when `expirationType` is `datetime`. The following example shows how to use the Management API to create a database token: @@ -144,7 +163,9 @@ curl \ "action": "read", "resource": "DATABASE_NAME" } - ] + ], + "expirationType": "datetime", + "expiresAt": "2030-01-01T00:00:00Z" }' ``` @@ -195,6 +216,7 @@ The Management API outputs JSON format in the response body. - [Create a token with read-only access to a database](#create-a-token-with-read-only-access-to-a-database) - [Create a token with read-only access to multiple databases](#create-a-token-with-read-only-access-to-multiple-databases) - [Create a token with mixed permissions to multiple databases](#create-a-token-with-mixed-permissions-to-multiple-databases) +- [Create a token that expires in seven days](#create-a-token-that-expires-in-seven-days) In the examples below, replace the following: @@ -241,7 +263,8 @@ curl \ "action": "read", "resource": "DATABASE_NAME" } - ] + ], + "expirationType": "noExpiration" }' ``` @@ -435,3 +458,124 @@ curl \ {{% /code-placeholders %}} {{% /code-tab-content %}} {{< /code-tabs-wrapper >}} + +### Create a token that expires in seven days + +{{< tabs-wrapper >}} +{{% tabs "small" %}} +[Linux](#) +[macOS](#) +{{% /tabs %}} +{{% tab-content %}} + +{{< code-tabs-wrapper >}} +{{% code-tabs %}} +[influxctl](#) +[Management API](#) +{{% /code-tabs %}} + +{{% code-tab-content %}} +{{% code-placeholders "DATABASE_NAME" %}} + + + +```bash +influxctl token create \ + --read-database DATABASE_NAME \ + --write-database DATABASE_NAME \ + --expires-at $(date -d "+7 days" +"%Y-%m-%dT%H:%M:%S%z") \ + "Read/write token for DATABASE_NAME with 7d expiration" +``` + +{{% /code-placeholders %}} + +{{% /code-tab-content %}} +{{% code-tab-content %}} + +{{% code-placeholders "DATABASE_NAME" %}} + +```sh +curl \ + --location "https://console.influxdata.com/api/v0/accounts/ACCOUNT_ID/clusters/CLUSTER_ID/tokens" \ + --header "Accept: application/json" \ + --header 'Content-Type: application/json' \ + --header "Authorization: Bearer MANAGEMENT_TOKEN" \ + --data "{ + \"description\": \"Read/write token for DATABASE_NAME\", + \"permissions\": [ + { + \"action\": \"write\", + \"resource\": \"DATABASE_NAME\" + }, + { + \"action\": \"read\", + \"resource\": \"DATABASE_NAME\" + } + ], + \"expirationType\": \"datetime\", + \"expiresAt:\" \"$(date -d "+7 days" +"%Y-%m-%dT%H:%M:%S%z")\" + }" +``` + +{{% /code-placeholders %}} +{{% /code-tab-content %}} +{{< /code-tabs-wrapper >}} + +{{% /tab-content %}} +{{% tab-content %}} + +{{< code-tabs-wrapper >}} +{{% code-tabs %}} +[influxctl](#) +[Management API](#) +{{% /code-tabs %}} + +{{% code-tab-content %}} +{{% code-placeholders "DATABASE_NAME" %}} + + + +```bash +influxctl token create \ + --read-database DATABASE_NAME \ + --write-database DATABASE_NAME \ + --expires-at $(gdate -d "+7 days" +"%Y-%m-%dT%H:%M:%S%z") \ + "Read/write token for DATABASE_NAME with 7d expiration" +``` + +{{% /code-placeholders %}} + +{{% /code-tab-content %}} +{{% code-tab-content %}} + +{{% code-placeholders "DATABASE_NAME" %}} + +```sh +curl \ + --location "https://console.influxdata.com/api/v0/accounts/ACCOUNT_ID/clusters/CLUSTER_ID/tokens" \ + --header "Accept: application/json" \ + --header 'Content-Type: application/json' \ + --header "Authorization: Bearer MANAGEMENT_TOKEN" \ + --data "{ + \"description\": \"Read/write token for DATABASE_NAME\", + \"permissions\": [ + { + \"action\": \"write\", + \"resource\": \"DATABASE_NAME\" + }, + { + \"action\": \"read\", + \"resource\": \"DATABASE_NAME\" + } + ], + \"expirationType\": \"datetime\", + \"expiresAt:\" \"$(gdate -d "+7 days" +"%Y-%m-%dT%H:%M:%S%z")\" + }" +``` + +{{% /code-placeholders %}} +{{% /code-tab-content %}} +{{< /code-tabs-wrapper >}} + +{{% /tab-content %}} +{{< /tabs-wrapper >}} diff --git a/content/influxdb3/cloud-dedicated/admin/tokens/database/delete.md b/content/influxdb3/cloud-dedicated/admin/tokens/database/delete.md deleted file mode 100644 index 3f7ba6b88..000000000 --- a/content/influxdb3/cloud-dedicated/admin/tokens/database/delete.md +++ /dev/null @@ -1,131 +0,0 @@ ---- -title: Delete a database token -description: > - Use the [`influxctl token delete` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/token/delete/) - or the [Management HTTP API](/influxdb3/cloud-dedicated/api/management/) - to delete a database token from your InfluxDB Cloud Dedicated cluster and revoke all - permissions associated with the token. - Provide the ID of the database token you want to delete. -menu: - influxdb3_cloud_dedicated: - parent: Database tokens -weight: 203 -list_code_example: | - ##### CLI - ```sh - influxctl token delete - ``` - - ##### API - ```sh - curl \ - --location "https://console.influxdata.com/api/v0/accounts/ACCOUNT_ID/clusters/CLUSTER_ID/tokens/TOKEN_ID" \ - --request DELETE \ - --header "Accept: application/json" \ - --header "Authorization: Bearer $MANAGEMENT_TOKEN" \ - ``` -aliases: - - /influxdb3/cloud-dedicated/admin/tokens/delete/ -related: - - /influxdb3/cloud-dedicated/reference/cli/influxctl/token/delete/ - - /influxdb3/cloud-dedicated/reference/api/ ---- - -Use the [`influxctl` CLI](/influxdb3/cloud-dedicated/reference/cli/influxctl/) -or the [Management HTTP API](/influxdb3/cloud-dedicated/api/management/) -to delete a database token from your {{< product-name omit=" Clustered" >}} cluster. - -{{< tabs-wrapper >}} -{{% tabs %}} -[influxctl](#) -[Management API](#) -{{% /tabs %}} -{{% tab-content %}} - - -Use the [`influxctl token delete` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/token/delete/) -to delete a database token from your {{% product-name omit="Clustered" %}} cluster and revoke -all permissions associated with the token. - -1. If you haven't already, [download and install the `influxctl` CLI](/influxdb3/cloud-dedicated/reference/cli/influxctl/#download-and-install-influxctl), and then [configure an `influxctl` connection profile](/influxdb3/cloud-dedicated/reference/cli/influxctl/#configure-connection-profiles) for your cluster. -2. To list token IDs, run the [`influxctl token list` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/token/list) in your terminal. - - ```sh - influxctl token list - ``` - - Copy the **token ID** of the token you want to delete. - -3. Run the `influxctl token delete` command and provide the following: - - - Token ID to delete - -4. Confirm that you want to delete the token. - -{{% code-placeholders "TOKEN_ID" %}} - -```sh -influxctl token delete TOKEN_ID -``` - -{{% /code-placeholders %}} - - -{{% /tab-content %}} -{{% tab-content %}} - -_This example uses [cURL](https://curl.se/) to send a Management HTTP API request, but you can use any HTTP client._ - -1. If you haven't already, follow the instructions to [install cURL](https://everything.curl.dev/install/index.html) for your system. -2. In your terminal, use cURL to send a request to the following {{% product-name %}} endpoint: - - {{% api-endpoint endpoint="https://console.influxdata.com/api/v0/accounts/ACCOUNT_ID/clusters/CLUSTER_ID/tokens/TOKEN_ID" method="delete" api-ref="/influxdb3/cloud-dedicated/api/management/#operation/DeleteDatabaseToken" %}} - - In the URL, provide the following: - - - `ACCOUNT_ID`: The ID of the [account](/influxdb3/cloud-dedicated/get-started/setup/#request-an-influxdb-cloud-dedicated-cluster) that the cluster belongs to _(see how to [list cluster details](/influxdb3/cloud-dedicated/admin/clusters/list/#detailed-output-in-json))_. - - `CLUSTER_ID`: The ID of the [cluster](/influxdb3/cloud-dedicated/get-started/setup/#request-an-influxdb-cloud-dedicated-cluster) that you want to manage _(see how to [list cluster details](/influxdb3/cloud-dedicated/admin/clusters/list/#detailed-output-in-json))_. - - `TOKEN_ID`: The ID of the database [token](/influxdb3/cloud-dedicated/admin/tokens/database) that you want to delete _(see how to [list token details](/influxdb3/cloud-dedicated/admin/tokens/database/list/#detailed-output-in-json))_. - - Provide the following request headers: - - `Accept: application/json` to ensure the response body is JSON content - - `Authorization: Bearer` and a [Management API token](/influxdb3/cloud-dedicated/admin/tokens/management/) for your cluster _(see how to [create a management token](/influxdb3/cloud-dedicated/admin/tokens/management/) for Management API requests)_. - - Specify the `DELETE` request method. - -The following example shows how to use the Management API to delete a database token and revoke all -permissions associated with the token: -{{% code-placeholders "TOKEN_ID|ACCOUNT_ID|CLUSTER_ID|MANAGEMENT_TOKEN" %}} - -```sh -curl \ - --location "https://console.influxdata.com/api/v0/accounts/ACCOUNT_ID/clusters/CLUSTER_ID/tokens/TOKEN_ID" \ - --request DELETE \ - --header "Accept: application/json" \ - --header "Authorization: Bearer $MANAGEMENT_TOKEN" \ -``` - -{{% /code-placeholders %}} - -Replace the following: - -- {{% code-placeholder-key %}}`ACCOUNT_ID`{{% /code-placeholder-key %}}: the ID of the {{% product-name %}} [account](/influxdb3/cloud-dedicated/get-started/setup/#request-an-influxdb-cloud-dedicated-cluster) to create the database token for -- {{% code-placeholder-key %}}`CLUSTER_ID`{{% /code-placeholder-key %}}: the ID of the {{% product-name %}} [cluster](/influxdb3/cloud-dedicated/get-started/setup/#request-an-influxdb-cloud-dedicated-cluster) to create the database token for -- {{% code-placeholder-key %}}`MANAGEMENT TOKEN`{{% /code-placeholder-key %}}: a [management token](/influxdb3/cloud-dedicated/admin/tokens/management/) for your {{% product-name %}} cluster -- {{% code-placeholder-key %}}`TOKEN_ID`{{% /code-placeholder-key %}}: the ID of the [database token](/influxdb3/cloud-dedicated/admin/tokens/database/) to delete - - -{{% /tab-content %}} -{{< /tabs-wrapper >}} - -> [!Warning] -> #### Deleting a token is immediate and cannot be undone -> -> Deleting a database token is a destructive action that takes place immediately -> and cannot be undone. -> -> #### Rotate deleted tokens -> -> After deleting a database token, any clients using the deleted token need to be -> updated with a new database token to continue to interact with your InfluxDB -> Cloud Dedicated cluster. diff --git a/content/influxdb3/cloud-dedicated/admin/tokens/database/revoke.md b/content/influxdb3/cloud-dedicated/admin/tokens/database/revoke.md new file mode 100644 index 000000000..33c30cb85 --- /dev/null +++ b/content/influxdb3/cloud-dedicated/admin/tokens/database/revoke.md @@ -0,0 +1,156 @@ +--- +title: Revoke a database token +description: > + Use the [`influxctl token revoke` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/token/revoke/) + or the [Management HTTP API](/influxdb3/cloud-dedicated/api/management/) + to revoke a database token associated with your {{% product-name omit-" Clustered" %}} + cluster and remove all permissions associated with the token. + Provide the ID of the database token you want to revoke. +menu: + influxdb3_cloud_dedicated: + parent: Database tokens +weight: 203 +list_code_example: | + ##### CLI + ```sh + influxctl token revoke + ``` + + ##### API + ```sh + curl \ + --location "https://console.influxdata.com/api/v0/accounts/ACCOUNT_ID/clusters/CLUSTER_ID/tokens/TOKEN_ID" \ + --request DELETE \ + --header "Accept: application/json" \ + --header "Authorization: Bearer $MANAGEMENT_TOKEN" \ + ``` +aliases: + - /influxdb3/cloud-dedicated/admin/tokens/delete/ + - /influxdb3/cloud-dedicated/admin/tokens/database/delete/ +related: + - /influxdb3/cloud-dedicated/reference/cli/influxctl/token/revoke/ + - /influxdb3/cloud-dedicated/reference/api/ +--- + +Use the [`influxctl` CLI](/influxdb3/cloud-dedicated/reference/cli/influxctl/) +or the [Management HTTP API](/influxdb3/cloud-dedicated/api/management/) +to revoke a database token associated with your +{{< product-name omit=" Clustered" >}} cluster. + +{{< tabs-wrapper >}} +{{% tabs %}} +[influxctl](#) +[Management API](#) +{{% /tabs %}} +{{% tab-content %}} + + +Use the [`influxctl token revoke` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/token/revoke/) +to revoke a database token and remove all permissions associated with the token. + +1. If you haven't already, + [download and install the `influxctl` CLI](/influxdb3/cloud-dedicated/reference/cli/influxctl/#download-and-install-influxctl), and then + [configure an `influxctl` connection profile](/influxdb3/cloud-dedicated/reference/cli/influxctl/#configure-connection-profiles) + for your cluster. + +2. To list token IDs, run the + [`influxctl token list` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/token/list) + in your terminal. + + ```sh + influxctl token list + ``` + + Copy the **token ID** of the token you want to revoke. + +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 %}} + + +{{% /tab-content %}} +{{% tab-content %}} + + +_This example uses [cURL](https://curl.se/) to send a Management HTTP API request, +but you can use any HTTP client._ + +1. If you haven't already, follow the instructions to + [install cURL](https://everything.curl.dev/install/index.html) for your system. + +2. In your terminal, use cURL to send a request to the following {{% product-name %}} endpoint: + + {{% api-endpoint endpoint="https://console.influxdata.com/api/v0/accounts/ACCOUNT_ID/clusters/CLUSTER_ID/tokens/TOKEN_ID" method="delete" api-ref="/influxdb3/cloud-dedicated/api/management/#operation/DeleteDatabaseToken" %}} + + In the URL, provide the following: + + - `ACCOUNT_ID`: The ID of the [account](/influxdb3/cloud-dedicated/get-started/setup/#request-an-influxdb-cloud-dedicated-cluster) + that the cluster belongs to _(see how to [list cluster details](/influxdb3/cloud-dedicated/admin/clusters/list/#detailed-output-in-json))_. + - `CLUSTER_ID`: The ID of the [cluster](/influxdb3/cloud-dedicated/get-started/setup/#request-an-influxdb-cloud-dedicated-cluster) + that you want to manage _(see how to [list cluster details](/influxdb3/cloud-dedicated/admin/clusters/list/#detailed-output-in-json))_. + - `TOKEN_ID`: The ID of the database [token](/influxdb3/cloud-dedicated/admin/tokens/database) + that you want to revoke _(see how to [list token details](/influxdb3/cloud-dedicated/admin/tokens/database/list/#detailed-output-in-json))_. + + Provide the following request headers: + + - `Accept: application/json` to ensure the response body is JSON content + - `Authorization: Bearer` and a [Management API token](/influxdb3/cloud-dedicated/admin/tokens/management/) + for your cluster _(see how to [create a management token](/influxdb3/cloud-dedicated/admin/tokens/management/) for Management API requests)_. + + Specify the `DELETE` request method. + +The following example shows how to use the Management API to revoke a database +token and remove all permissions associated with the token: + +{{% code-placeholders "TOKEN_ID|ACCOUNT_ID|CLUSTER_ID|MANAGEMENT_TOKEN" %}} + +```sh +curl \ + --location "https://console.influxdata.com/api/v0/accounts/ACCOUNT_ID/clusters/CLUSTER_ID/tokens/TOKEN_ID" \ + --request DELETE \ + --header "Accept: application/json" \ + --header "Authorization: Bearer $MANAGEMENT_TOKEN" \ +``` + +{{% /code-placeholders %}} + +Replace the following: + +- {{% code-placeholder-key %}}`ACCOUNT_ID`{{% /code-placeholder-key %}}: + the ID of the {{% product-name %}} [account](/influxdb3/cloud-dedicated/get-started/setup/#request-an-influxdb-cloud-dedicated-cluster) + associated with the token you want to revoke +- {{% code-placeholder-key %}}`CLUSTER_ID`{{% /code-placeholder-key %}}: + the ID of the {{% product-name omit=" Clustered" %}} + [cluster](/influxdb3/cloud-dedicated/get-started/setup/#request-an-influxdb-cloud-dedicated-cluster) + associated with the token you want to revoke +- {{% code-placeholder-key %}}`MANAGEMENT TOKEN`{{% /code-placeholder-key %}}: + a [management token](/influxdb3/cloud-dedicated/admin/tokens/management/) for + your {{% product-name omit=" Clustered" %}} cluster +- {{% code-placeholder-key %}}`TOKEN_ID`{{% /code-placeholder-key %}}: the ID of + the [database token](/influxdb3/cloud-dedicated/admin/tokens/database/) to revoke + + +{{% /tab-content %}} +{{< /tabs-wrapper >}} + +> [!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. diff --git a/content/influxdb3/cloud-dedicated/reference/cli/influxctl/token/_index.md b/content/influxdb3/cloud-dedicated/reference/cli/influxctl/token/_index.md index ab7b9b1ed..e9c2018dd 100644 --- a/content/influxdb3/cloud-dedicated/reference/cli/influxctl/token/_index.md +++ b/content/influxdb3/cloud-dedicated/reference/cli/influxctl/token/_index.md @@ -20,14 +20,14 @@ influxctl token [subcommand] [flags] ## Subcommands -| Subcommand | Description | -| :------------------------------------------------------------------------ | :---------------------------- | +| Subcommand | Description | +| :------------------------------------------------------------------------- | :---------------------------- | | [create](/influxdb3/cloud-dedicated/reference/cli/influxctl/token/create/) | Create a database token | -| [delete](/influxdb3/cloud-dedicated/reference/cli/influxctl/token/delete/) | Delete a database token | +| [revoke](/influxdb3/cloud-dedicated/reference/cli/influxctl/token/revoke/) | Revoke a database token | | [get](/influxdb3/cloud-dedicated/reference/cli/influxctl/token/get/) | Get information about a token | | [list](/influxdb3/cloud-dedicated/reference/cli/influxctl/token/list/) | List database tokens | | [update](/influxdb3/cloud-dedicated/reference/cli/influxctl/token/update/) | Update a database token | -| help, h | Output command help | +| help, h | Output command help | ## Flags diff --git a/content/influxdb3/cloud-dedicated/reference/cli/influxctl/token/create.md b/content/influxdb3/cloud-dedicated/reference/cli/influxctl/token/create.md index d744d331d..394558715 100644 --- a/content/influxdb3/cloud-dedicated/reference/cli/influxctl/token/create.md +++ b/content/influxdb3/cloud-dedicated/reference/cli/influxctl/token/create.md @@ -10,25 +10,33 @@ weight: 301 --- The `influxctl token create` command creates a database token with specified -permissions to resources in an InfluxDB Cloud Dedicated cluster and outputs -the token string. +permissions to resources in an {{< product-name omit=" Clustered">}} cluster and +outputs the token string. The `--read-database` and `--write-database` flags support the `*` wildcard which grants read or write permissions to all databases. Enclose wildcards in single or double quotes--for example: `'*'` or `"*"`. +The `--expires-at` flag specifies the date and time a token should expire. +Provide an [RFC3339 timestamp](/influxdb3/cloud-dedicated/reference/glossary/#rfc3339-timestamp). + +> [!Important] +> If you don't specify a token expiration, the token never expires. + The `--format` flag lets you print the output in other formats. The `json` format is available for programmatic parsing by other tooling. Default: `table`. ## Notable behaviors -- InfluxDB might take some time--from a few seconds to a few minutes--to activate and synchronize new tokens. -If a new database token doesn't immediately work (you receive a `401 Unauthorized` error) for querying or writing, wait and then try again. +- InfluxDB might take some time--from a few seconds to a few minutes--to + activate and synchronize new tokens. If a new database token doesn't + immediately work (you receive a `401 Unauthorized` error) for querying or + writing, wait and then try again. - Token strings are viewable _only_ on token creation. > [!Note] -> +> > #### Store secure tokens in a secret store > > Token strings are viewable _only_ on token creation and aren't stored by InfluxDB. @@ -36,10 +44,13 @@ If a new database token doesn't immediately work (you receive a `401 Unauthorize ## Usage -```sh + + +```bash influxctl token create \ [--read-database=] \ [--write-database=] \ + [--expires-at=] \ ``` @@ -53,6 +64,7 @@ influxctl token create \ | Flag | | Description | | :--- | :----------------- | :--------------------------------------------------- | +| | `--expires-at` | Token expiration date and time in RFC3339 format | | | `--format` | Output format (`table` _(default)_ or `json`) | | | `--read-database` | Grant read permissions to a database _(Repeatable)_ | | | `--write-database` | Grant write permissions to a database _(Repeatable)_ | @@ -62,13 +74,6 @@ influxctl token create \ _Also see [`influxctl` global flags](/influxdb3/cloud-dedicated/reference/cli/influxctl/#global-flags)._ {{% /caption %}} -> [!Note] -> -> #### Using a new token -> -> InfluxDB might take some time to synchronize new tokens. -> If a new database token doesn't immediately work for querying or writing, wait a few seconds and try again. - ## Examples - [Create a token with read and write access to a database](#create-a-token-with-read-and-write-access-to-a-database) @@ -76,6 +81,7 @@ _Also see [`influxctl` global flags](/influxdb3/cloud-dedicated/reference/cli/in - [Create a token with read-only access to a database](#create-a-token-with-read-only-access-to-a-database) - [Create a token with read-only access to multiple databases](#create-a-token-with-read-only-access-to-multiple-databases) - [Create a token with mixed permissions to multiple databases](#create-a-token-with-mixed-permissions-on-multiple-databases) +- [Create a token that expires in seven days](#create-a-token-that-expires-in-seven-days) In the examples below, replace the following: @@ -86,7 +92,10 @@ In the examples below, replace the following: ### Create a token with read and write access to a database {{% code-placeholders "DATABASE_NAME" %}} -```sh + + + +```bash influxctl token create \ --read-database DATABASE_NAME \ --write-database DATABASE_NAME \ @@ -96,7 +105,9 @@ influxctl token create \ ### Create a token with read and write access to all databases -```sh + + +```bash influxctl token create \ --read-database "*" \ --write-database "*" \ @@ -106,7 +117,10 @@ influxctl token create \ ### Create a token with read-only access to a database {{% code-placeholders "DATABASE_NAME" %}} -```sh + + + +```bash influxctl token create \ --read-database DATABASE_NAME \ "Read-only token for DATABASE_NAME" @@ -116,7 +130,10 @@ influxctl token create \ ### Create a token with read-only access to multiple databases {{% code-placeholders "DATABASE_NAME|DATABASE2_NAME" %}} -```sh + + + +```bash influxctl token create \ --read-database DATABASE_NAME \ --read-database DATABASE2_NAME \ @@ -127,7 +144,10 @@ influxctl token create \ ### Create a token with mixed permissions to multiple databases {{% code-placeholders "DATABASE_NAME|DATABASE2_NAME" %}} -```sh + + + +```bash influxctl token create \ --read-database DATABASE_NAME \ --read-database DATABASE2_NAME \ @@ -135,3 +155,42 @@ influxctl token create \ "Read-only on DATABASE_NAME, read/write on DATABASE2_NAME" ``` {{% /code-placeholders %}} + +### Create a token that expires in seven days + +{{% code-placeholders "DATABASE_NAME" %}} + +{{< code-tabs-wrapper >}} +{{% code-tabs %}} +[Linux](#) +[macOS](#) +{{% /code-tabs %}} +{{% code-tab-content %}} + + + +```bash +influxctl token create \ + --read-database DATABASE_NAME \ + --write-database DATABASE_NAME \ + --expires-at $(date -d "+7 days" +"%Y-%m-%dT%H:%M:%S%z") \ + "Read/write token for DATABASE_NAME with 7d expiration" +``` + +{{% /code-tab-content %}} +{{% code-tab-content %}} + + + +```bash +influxctl token create \ + --read-database DATABASE_NAME \ + --write-database DATABASE_NAME \ + --expires-at $(gdate -d "+7 days" +"%Y-%m-%dT%H:%M:%S%z") \ + "Read/write token for DATABASE_NAME with 7d expiration" +``` + +{{% /code-tab-content %}} +{{< /code-tabs-wrapper >}} + +{{% /code-placeholders %}} diff --git a/content/influxdb3/cloud-dedicated/reference/cli/influxctl/token/delete.md b/content/influxdb3/cloud-dedicated/reference/cli/influxctl/token/delete.md deleted file mode 100644 index b719afc21..000000000 --- a/content/influxdb3/cloud-dedicated/reference/cli/influxctl/token/delete.md +++ /dev/null @@ -1,73 +0,0 @@ ---- -title: influxctl token delete -description: > - The `influxctl token delete` command deletes a database token from an InfluxDB - Cloud Dedicated cluster and revokes all permissions associated with the token. -menu: - influxdb3_cloud_dedicated: - parent: influxctl token -weight: 301 ---- - -The `influxctl token delete` command deletes a database token from an InfluxDB -Cloud Dedicated cluster and revokes all permissions associated with the token. - -## Usage - -```sh -influxctl token delete [...] -``` - -> [!Warning] -> #### Deleting a token is immediate and cannot be undone -> -> Deleting a database token is a destructive action that takes place immediately -> and cannot be undone. -> -> #### Rotate deleted tokens -> -> After deleting a database token, any clients using the deleted token need to be -> updated with a new database token to continue to interact with your InfluxDB -> Cloud Dedicated cluster. - -## Arguments - -| Argument | Description | -| :----------- | :-------------------------- | -| **TOKEN_ID** | Database token ID to delete | - -## Flags - -| Flag | | Description | -| :--- | :-------- | :---------------------------------------------------------- | -| | `--force` | Do not prompt for confirmation to delete (default is false) | -| `-h` | `--help` | Output command help | - -{{% caption %}} -_Also see [`influxctl` global flags](/influxdb3/cloud-dedicated/reference/cli/influxctl/#global-flags)._ -{{% /caption %}} - -## Examples - -- [Delete a database token](#delete-a-database-token) -- [Delete multiple database tokens](#delete-multiple-database-tokens) - -In the examples below, replace the following: - -- {{% code-placeholder-key %}}`TOKEN_ID`{{% /code-placeholder-key %}}: token ID to delete - -### Delete a database token - -{{% code-placeholders "TOKEN_ID" %}} -```sh -influxctl token delete TOKEN_ID -``` -{{% /code-placeholders %}} - -### Delete multiple database tokens - -{{% code-placeholders "TOKEN_ID_\d{1}" %}} -```sh -influxctl token delete TOKEN_ID_1 TOKEN_ID_2 -``` -{{% /code-placeholders %}} diff --git a/content/influxdb3/cloud-dedicated/reference/cli/influxctl/token/get.md b/content/influxdb3/cloud-dedicated/reference/cli/influxctl/token/get.md index 9ea5a239b..012b33118 100644 --- a/content/influxdb3/cloud-dedicated/reference/cli/influxctl/token/get.md +++ b/content/influxdb3/cloud-dedicated/reference/cli/influxctl/token/get.md @@ -2,7 +2,7 @@ title: influxctl token get description: > The `influxctl token get` command returns information about a database token - in an InfluxDB Cloud Dedicated cluster. + in an {{% product-name omit=" Clustered" %}} cluster. menu: influxdb3_cloud_dedicated: parent: influxctl token @@ -10,7 +10,7 @@ weight: 301 --- The `influxctl token get` command returns information about a database token -in an InfluxDB Cloud Dedicated cluster. +in an {{% product-name omit=" Clustered" %}} cluster. The `--format` flag lets you print the output in other formats. The `json` format is available for programmatic parsing by other tooling. @@ -24,10 +24,11 @@ influxctl token get [command options] ## Flags -| Flag | | Description | -| :--- | :--------- | :-------------------------------------------- | -| | `--format` | Output format (`table` _(default)_ or `json`) | -| `-h` | `--help` | Output command help | +| Flag | | Description | +| :--- | :------------------ | :-------------------------------------------- | +| | `--format` | Output format (`table` _(default)_ or `json`) | +| | `--include-revoked` | Allow returning a revoked token | +| `-h` | `--help` | Output command help | {{% caption %}} _Also see [`influxctl` global flags](/influxdb3/cloud-dedicated/reference/cli/influxctl/#global-flags)._ @@ -43,4 +44,4 @@ influxctl token get TOKEN_ID Replace the following: -- {{% code-placeholder-key %}}`TOKEN_ID`{{% /code-placeholder-key %}}: token ID to delete +- {{% code-placeholder-key %}}`TOKEN_ID`{{% /code-placeholder-key %}}: token ID to get diff --git a/content/influxdb3/cloud-dedicated/reference/cli/influxctl/token/list.md b/content/influxdb3/cloud-dedicated/reference/cli/influxctl/token/list.md index cfd351f74..8fbb6d2f6 100644 --- a/content/influxdb3/cloud-dedicated/reference/cli/influxctl/token/list.md +++ b/content/influxdb3/cloud-dedicated/reference/cli/influxctl/token/list.md @@ -1,16 +1,16 @@ --- title: influxctl token list description: > - The `influxctl token list` command lists all database tokens in an InfluxDB - Cloud Dedicated cluster. + The `influxctl token list` command lists all database tokens in an + {{% product-name omit=" Clustered" %}} cluster. menu: influxdb3_cloud_dedicated: parent: influxctl token weight: 301 --- -The `influxctl token list` command lists all database tokens in an InfluxDB Cloud -Dedicated cluster. +The `influxctl token list` command lists all database tokens in an +{{% product-name omit=" Clustered" %}} cluster. The `--format` flag lets you print the output in other formats. The `json` format is available for programmatic parsing by other tooling. @@ -24,11 +24,12 @@ influxctl token list [--format=table|json] ## Flags -| Flag | | Description | -| :--- | :--------- | :------------------------------------------------------------------------------------------------------------ | -| | `--format` | Output format (`table` _(default)_ or `json`) | -| | `--sort` | Sort output by a specific column (`created` _(default)_, `id`, `description`, `prefix`, `expires`, `revoked`) | -| `-h` | `--help` | Output command help | +| Flag | | Description | +| :--- | :------------------ | :-------------------------------------------------------------------- | +| | `--format` | Output format (`table` _(default)_ or `json`) | +| | `--sort` | Sort output by a specific column ( `id` _(default)_ or `description`) | +| | `--include-revoked` | Include revoked tokens in the list | +| `-h` | `--help` | Output command help | {{% caption %}} _Also see [`influxctl` global flags](/influxdb3/cloud-dedicated/reference/cli/influxctl/#global-flags)._ diff --git a/content/influxdb3/cloud-dedicated/reference/cli/influxctl/token/revoke.md b/content/influxdb3/cloud-dedicated/reference/cli/influxctl/token/revoke.md new file mode 100644 index 000000000..7289bff17 --- /dev/null +++ b/content/influxdb3/cloud-dedicated/reference/cli/influxctl/token/revoke.md @@ -0,0 +1,82 @@ +--- +title: influxctl token revoke +description: > + The `influxctl token revoke` command revokes a database token associated with + an {{% product-name omit=" Clustered" %}} cluster and removes all permissions + associated with the token. +menu: + influxdb3_cloud_dedicated: + parent: influxctl token +weight: 301 +aliases: + - /influxdb3/cloud-dedicated/reference/cli/influxctl/token/delete/ +--- + +The `influxctl token revoke` command revokes a database token associated with +an {{% product-name omit=" Clustered" %}} cluster and removes all permissions +associated with the token. + +## Usage + +```sh +influxctl token revoke [...] +``` + +> [!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. + +##### Aliases + +`delete` + +## Arguments + +| Argument | Description | +| :----------- | :-------------------------- | +| **TOKEN_ID** | Database token ID to revoke | + +## Flags + +| Flag | | Description | +| :--- | :-------- | :---------------------------------------------------------- | +| | `--force` | Do not prompt for confirmation to revoke (default is false) | +| `-h` | `--help` | Output command help | + +{{% caption %}} +_Also see [`influxctl` global flags](/influxdb3/cloud-dedicated/reference/cli/influxctl/#global-flags)._ +{{% /caption %}} + +## Examples + +- [Revoke a database token](#revoke-a-database-token) +- [Revoke multiple database tokens](#revoke-multiple-database-tokens) + +In the examples below, replace the following: + +- {{% code-placeholder-key %}}`TOKEN_ID`{{% /code-placeholder-key %}}: + token ID to revoke + +### Revoke a database token + +{{% code-placeholders "TOKEN_ID" %}} +```sh +influxctl token revoke TOKEN_ID +``` +{{% /code-placeholders %}} + +### Revoke multiple database tokens + +{{% code-placeholders "TOKEN_ID_\d{1}" %}} +```sh +influxctl token revoke TOKEN_ID_1 TOKEN_ID_2 +``` +{{% /code-placeholders %}} diff --git a/content/influxdb3/cloud-dedicated/reference/release-notes/influxctl.md b/content/influxdb3/cloud-dedicated/reference/release-notes/influxctl.md index e0467b19f..c88d3e2ab 100644 --- a/content/influxdb3/cloud-dedicated/reference/release-notes/influxctl.md +++ b/content/influxdb3/cloud-dedicated/reference/release-notes/influxctl.md @@ -9,643 +9,8 @@ menu: name: influxctl parent: Release notes weight: 202 +source: /shared/influxctl/release-notes.md --- -## v2.9.9 {date="2025-01-24"} - -### Features - -- Sort [`influxctl token list`](/influxdb3/cloud-dedicated/reference/cli/influxctl/token/list/) -and [`influxctl management list`](/influxdb3/cloud-dedicated/reference/cli/influxctl/management/list/) output. - -### Bug fixes - -- Remove `UpdateAccount` and `UpdateCluster`. -- Remove "incorrect version" warning for gRPC unimplemented error code. -- Correctly parse multi-line queries from stdin. - -### Dependency updates - -- Update `github.com/fatih/color` from 1.17.0 to 1.18.0. -- Update `github.com/go-git/go-git/v5` from 5.12.0 to 5.13.1. -- Update `github.com/jedib0t/go-pretty/v6` from 6.6.0 to 6.6.5. -- Update `github.com/stretchr/testify` from 1.9.0 to 1.10.0. -- Update `golang.org/x/crypto` from 0.27.0 to 0.31.0. -- Update `golang.org/x/mod` from 0.21.0 to 0.22.0. -- Update `golang.org/x/oauth2` from 0.23.0 to 0.25.0. -- Update `google.golang.org/grpc` from 1.67.1 to 1.69.4. -- Update `google.golang.org/protobuf` from 1.35.1 to 1.36.3. -- Update Go to v1.23.5. - ---- - -## v2.9.8 {date="2024-10-15"} - -### Bug Fixes - -- Continue revoking tokens on error. -- Reject unsupported input to `--template-timeformat`. -- Remove unused `client_secret` option from - [connection configuration profiles](/influxdb3/cloud-dedicated/reference/cli/influxctl/#configure-connection-profiles). - -### Dependency Updates - -- Update Go to v1.23.2. -- Update `github.com/jedib0t/go-pretty/v6` from 6.5.9 to 6.6.0. -- Update `github.com/urfave/cli/v2` from 2.27.4 to 2.27.5. -- Update `google.golang.org/grpc` from 1.66.0 to 1.67.1. -- Update `google.golang.org/protobuf` from 1.34.2 to 1.35.1. - ---- - -## v2.9.7 {date="2024-09-11"} - -### Features - -- Add [global `--timeout` flag](/influxdb3/cloud-dedicated/reference/cli/influxctl/#global-flags). -- Improve timezone support. - -### Bug Fixes - -- Use passthrough resolver for gRPC. - -### Dependency Updates - -- Update Go to 1.23.1. -- Update `github.com/pelletier/go-toml/v2` from 2.2.2 to 2.2.3. -- Update `golang.org/x/mod` from 0.20.0 to 0.21.0. -- Update `golang.org/x/oauth2` from 0.22.0 to 0.23.0. -- Update `google.golang.org/grpc` from 1.65.0 to 1.66.0. - ---- - -## v2.9.6 {date="2024-08-15"} - -### Bug Fixes - -- Update query to wait for EOF on stdin instead of the first newline. - ---- - -## v2.9.5 {date="2024-08-13"} - -### Bug Fixes - -- Introduce auth login and logout commands. - -### Dependency Updates - -- Update `github.com/urfave/cli/v2` from 2.27.2 to 2.27.4 -- Update `golang.org/x/mod` from 0.19.0 to 0.20.0 -- Update `golang.org/x/oauth2` from 0.21.0 to 0.22.0 - ---- - -## v2.9.4 {date="2024-07-25"} - -### Bug Fixes - -- Resolve crash when parsing error message and authentication was null. - -### Dependency Updates - -- Update `golang.org/x/mod` from 0.18.0 to 0.19.0 -- Update `google.golang.org/grpc` from 1.64.0 to 1.65.0 - ---- - -## v2.9.3 {date="2024-06-26"} - -### Bug Fixes - -- Update query subcommand to safely handle null timestamp in response. - ---- - -## v2.9.2 {date="2024-06-17"} - -### Bug Fixes - -- Ensure query subcommand returns any error while looping through results. - -### Dependency Updates - -- Update `google.golang.org/protobuf` from 1.34.1 to 1.34.2. - ---- - -## v2.9.1 {date="2024-06-06"} - -### Dependency Updates - -- Update Go from 1.22.2 to 1.22.4 -- Update `github.com/apache/arrow/go/v16` from 16.0.0 to 16.1.0 -- Update `github.com/fatih/color` from 1.16.0 to 1.17.0 -- Update `golang.org/x/mod` from 0.17.0 to 0.18.0 -- Update `golang.org/x/oauth2` from 0.20.0 to 0.21.0 -- Update `google.golang.org/grpc` from 1.63.2 to 1.64.0 -- Update `google.golang.org/protobuf` from 1.34.0 to 1.34.1 -- Update build dependencies. - ---- - -## v2.9.0 {date="2024-05-06"} - -### Features - -- Restore default `rfc3339nano` timestamps in table output for `influxctl query` - and add the option for `unixnano` timestamps. - -### Bug Fixes - -- Update unimplemented error message with additional information. - -### Dependency Updates - -- Update `github.com/apache/arrow/go/v16` from 16.0.0-20240401180149-68241d8a86e9 to 16.0.0. -- Update `github.com/jedib0t/go-pretty/v6` from 6.5.8 to 6.5.9. -- Update `github.com/pelletier/go-toml/v2` from 2.2.0 to 2.2.1. -- Update `github.com/pelletier/go-toml/v2` from 2.2.1 to 2.2.2. -- Update `github.com/urfave/cli/v2` from 2.27.1 to 2.27.2. -- Update `golang.org/x/net` from 0.22.0 to 0.23.0. -- Update `golang.org/x/oauth2` from 0.19.0 to 0.20.0. -- Update `google.golang.org/protobuf` from 1.33.0 to 1.34.0. -- Update build dependencies. - ---- - -## v2.8.0 {date="2024-04-11"} - -### Features - -- Introduce the ability to query with InfluxQL. -- Add insecure configuration option to TLS configuration. -- Allow users to query system tables. -- Utilize the database proxy service. - -### Dependency Updates - -- Update Go to v1.22.2. -- Update `github.com/go-git/go-git/v5` from 5.11.0 to 5.12.0. -- Update `github.com/jedib0t/go-pretty/v6` from 6.5.6 to 6.5.8. -- Update `golang.org/x/mod` from 0.16.0 to 0.17.0. -- Update `golang.org/x/oauth2` from 0.18.0 to 0.19.0. -- Update `google.golang.org/grpc` from 1.62.1 to 1.63.2. - ---- - -## v2.7.1 {date="2024-03-27"} - -### Bug Fixes - -- Correctly parse template tag bucket strings. - ---- - -## v2.7.0 {date="2024-03-26"} - -This minor release adds the `--template-tag-bucket` partition template option to -the already existing `--template-time-format` and `--template-tag` options used -to define custom partition templates for databases and tables. -This also fixes a nil pointer issue when listing management tokens. - -### Features - -- Introduce the bucket template method for grouping tag values into buckets and - partitioning by each tag bucket. - -### Bug Fixes - -- Ensure strings are not nil pointers. - -### Dependency Updates - -- Update `github.com/jedib0t/go-pretty/v6` from 6.5.5 to 6.5.6. -- Update `github.com/pelletier/go-toml/v2` from 2.1.1 to 2.2.0. -- Update granite proto. - ---- - -## v2.6.0 {date="2024-03-18"} - -`influxctl` 2.6.0 introduces the ability to create, list, and revoke -management tokens and allow you to authenticate directly with your -InfluxDB cluster instead of an OAuth2 provider. - -### New Features - -- Add management token subcommands to create, list, and revoke management - tokens. -- Introduce management token configuration option to authenticate using - management tokens created with `influxctl`. - -### Dependency Updates - -- Update Go to v1.22.1 -- Update `github.com/golang-jwt/jwt/v5` from v5.2.0 to v5.2.1. -- Update `google.golang.org/protobuf` from v1.32.0 to v1.33.0. -- Update `golang.org/x/oauth2` from v0.17.0 to v0.18.0. -- Update `google.golang.org/grpc` from v1.62.0 to v1.62.1. -- Update `github.com/jedib0t/go-pretty/v6` from v6.5.4 to v6.5.5. - ---- - -## v2.5.0 {date="2024-03-04"} - -`influxctl` 2.5.0 introduces the ability to set -[partition templates](/influxdb3/cloud-dedicated/admin/custom-partitions/) during -database or table creation. It introduces the -[`table` subcommand](/influxdb3/cloud-dedicated/reference/cli/influxctl/table/) -that lets users manually create tables. Additionally, `influxctl` now removes a -previously cached token if the response from InfluxDB is unauthorized. This -helps InfluxDB Clustered users who deploy new clusters using unexpired tokens -associated with another InfluxDB cluster. - -### New Features - -- Add partition templates to database and table creation. -- Remove token if unauthorized. - -### Bug Fixes - -- Update Arrow to allow non-TLS connections. -- Do not attempt to load cached tokens when an admin token file is provided. -- Print retention period up to days rather than very large hours. -- Fix indentation of help output. - -### Dependency Updates - -- Update `github.com/golangci/golangcilint` from v1.56.1 to v1.56.2. -- Update `golang.org/x/mod` from v0.15.0 to v0.16.0. -- Update `github.com/pkg/browser` from v0.0.0-20210911075715-681adbf594b8 to - v0.0.0-20240102092130-5ac0b6a4141c. -- Update `github.com/stretchr/testify` from 1.8.4 to 1.9.0. -- Update `go.uber.org/zap` from 1.26.0 to 1.27.0. -- Update `google.golang.org/grpc` from 1.61.0 to 1.61.1. -- Update `google.golang.org/grpc` from 1.61.1 to 1.62.0. - ---- - -## v2.4.4 {date="2024-02-16"} - -### Bug fixes - -- Introduced trace HTTP debug CLI option. -- Added custom gRPC error message handling to gRPC experience. - -### Dependency updates - -- Update to go1.22.0. -- Update `github.com/apache/arrow/go/v14` v14.0.2 to v15.0.0. -- Update `github.com/google/uuid` from 1.5.0 to 1.6.0. -- Update `github.com/jedib0t/go-pretty/v6` from 6.5.3 to 6.5.4. -- Update `golang.org/x/mod from` 0.14.0 to 0.15.0. -- Update `golang.org/x/oauth2` from 0.16.0 to 0.17.0. -- Update `google.golang.org/grpc` from 1.60.1 to 1.61.0. - ---- - -## v2.4.3 {date="2024-01-17"} - -### Bug fixes - -- Show empty value for database limits when not set, rather than zero. -- Use user configured port for write. -- Correct typos in query and write error messages. - -### Dependency updates - -- Update to go1.21.6. -- Update `github.com/apache/arrow/go/v14` from 14.0.1 to 14.0.2. -- Update `github.com/cloudflare/circl` from 1.3.6 to 1.3.7. -- Update `github.com/jedib0t/go-pretty/v6` from 6.4.9 to 6.5.3. -- Update `github.com/urfave/cli/v2` from 2.26.0 to 2.27.1. -- Update `golang.org/x/crypto` from 0.16.0 to 0.17.0. -- Update `golang.org/x/oauth2` from 0.15.0 to 0.16.0. -- Update `google.golang.org/grpc` from 1.60.0 to 1.60.1. -- Update `google.golang.org/protobuf` from 1.31.0 to 1.32.0. - ---- - -## v2.4.2 {date="2023-12-18"} - -### Bug fixes - -- Correctly set the version and build info for the version command. - ---- - -## v2.4.1 {date="2023-12-14"} - -### Bug fixes - -- Update `influxctl query` examples with SQL instead of InfluxQL. -- Update example connection profile configuration with query and write options. -- Use database and token CLI options if set. - ---- - -## v2.4.0 {date="2023-12-13"} - -This release includes the following notable changes: - -- InfluxDB Cloud Dedicated users now have the same `influxctl` login experience - as InfluxDB Clustered users. The Auth0 server uses device authorization by - displaying a code to validate when logging in. The browser still opens, - if possible, and pre-populates the code. The only difference is the need to - verify the code on one additional page. This was done to align the user - experience between both InfluxDB Cloud Dedicated and InfluxDB Clustered and - to allow Cloud Dedicated users without a local UI or browser to continue to - use `influxctl`. -- Introduce the `influxctl write` and `influxctl query` commands. - `influxctl query` queries an InfluxDB 3 instance using SQL. - `influxctl write` writes line protocol to a InfluxDB 3 instance. - -### Features - -- Introduce `influxctl query` command. -- Introduce `influxctl write` command. -- Use device auth for InfluxDB Cloud Dedicated. - -### Bug fixes - -- Avoid nil pointer for database information. -- Login and early return for TokenFile in InfluxDB Clustered. - -### Dependency updates - -- Update `github.com/go-git/go-git/v5` from 5.10.0 to 5.10.1. -- Update `github.com/go-git/go-git/v5` from 5.10.1 to 5.11.0. -- Update `github.com/golang-jwt/jwt/v5` from 5.1.0 to 5.2.0. -- Update `github.com/urfave/cli/v2` from 2.25.7 to 2.26.0. -- Update `golang.org/x/oauth2` from 0.14.0 to 0.15.0. - ---- - -## v2.3.1 {date="2023-11-15"} - -### Bug fixes - -- Include error message description in device authorization polling errors. -- Do not save tokens when loading from file. -- Update header comments in the example `config.toml`. - -### Dependency updates - -- Update `github.com/golang-jwt/jwt/v5` from 5.0.0 to 5.1.0. -- Update `golang.org/x/oauth2` from 0.13.0 to 0.14.0. - ---- - -## v2.3.0 {date="2023-11-06"} - -_Features updated in this release are meant for internal InfluxData use and do -not affect any public APIs._ - -### Dependency updates - -- Update `github.com/go-git/go-git/v5` from 5.9.0 to 5.10.0. -- Update `github.com/google/uuid` from 1.3.1 to 1.4.0. -- Update `github.com/jedib0t/go-pretty/v6` from 6.4.8 to 6.4.9. -- Update `golang.org/x/mod` from 0.13.0 to 0.14.0. - ---- - -## v2.2.0 {date="2023-10-27"} - -### Features - -- Allow token authentication for InfluxDB Clustered. - ---- - -## v2.1.0 {date="2023-10-26"} - -### Features - -- Add `--format` flag to [`influxctl token create`](/influxdb3/cloud-dedicated/reference/cli/influxctl/token/create/) - to specify the command output format. - -### Bug fixes - -- Use correct account and cluster names when specified in command flags. -- Make `influxctl database list` return an empty array instead of _null_ when - there are no databases to list. - -### Dependency updates - -- Update to Go 1.21.3. -- Update `github.com/jedib0t/go-pretty/v6` from 6.4.7 to 6.4.8. -- Update `go.uber.org/zap` from 1.25.0 to 1.26.0. -- Update `golang.org/x/mod` from 0.12.0 to 0.13.0. -- Update `golang.org/x/net` from 0.15.0 to 0.17.0. -- Update `golang.org/x/oauth2` from 0.12.0 to 0.13.0. -- Update `google.golang.org/grpc` from 1.58.0 to 1.59.0. - -### Miscellaneous - -- Automate Homebrew tap releases for `influxctl`. - ---- - -## v2.0.4 {date="2023-09-14"} - -### Bug fixes - -- Validate Microsoft Entra ID (formerly Azure Active Directory) token and device URLs. -- Only validate Microsoft Entra ID configuration when getting a token. - -### Dependency updates - -- Update to Go 1.21. - ---- - -## v2.0.3 {date="2023-09-12"} - -### Bug fixes - -- Add pagination support to [`influxctl token list`](/influxdb3/cloud-dedicated/reference/cli/influxctl/token/list/) - and [`influxctl user list`](/influxdb3/cloud-dedicated/reference/cli/influxctl/user/list/). -- Send all logging output to stderr. -- Return error for commands that are not supported by InfluxDB Clustered. - -### Dependency updates - -- Update `github.com/google/uuid` from 1.3.0 to 1.3.1. -- Update `github.com/jedib0t/go-pretty/v6` from 6.4.6 to 6.4.7. -- Update `github.com/pelletier/go-toml/v2` from 2.0.9 to 2.1.0. -- Update `golang.org/x/oauth2` from 0.11.0 to 0.12.0. -- Update `google.golang.org/grpc` from 1.57.0 to 1.58.0. - ---- - -## v2.0.2 {date="2023-08-23"} - -### Bug fixes - -- Add cluster get args, clarify error message. -- [`influxctl database update`](/influxdb3/cloud-dedicated/reference/cli/influxctl/database/update/) - should only accept retention policy updates as a flag. -- Update [`influxctl token create`](/influxdb3/cloud-dedicated/reference/cli/influxctl/token/create/) - and [`influxctl token update`](/influxdb3/cloud-dedicated/reference/cli/influxctl/token/update/) - help information with examples that use multiple permission flags. -- Update [`influxctl cluster get`](/influxdb3/cloud-dedicated/reference/cli/influxctl/cluster/get/) - help text. -- Switch email param ordering. - -### Dependency updates - -- Update `golang.org/x/mod` from 0.8.0 to 0.12.0. - -### Miscellaneous - -- Clean up log formatting. -- Remove extra debug output of account ID. - ---- - -## v2.0.1 {date="2023-08-15"} - -### Bug fixes - -- Return an error when using unrecognized TOML configuration options. - ---- - -## v2.0.0 {date="2023-08-09"} - -`influxctl` 2.0.0 introduces support for both InfluxDB Cloud Dedicated and -InfluxDB Clustered. To simplify configuration profile management, all connection -configurations now managed in a single configuration file. If using `influxctl` -1.x, migrate your 1.x configuration profiles to the 2.0 format: - -### Migrate from influxctl 1.x to 2.0 - -`influxctl` 2.0+ supports multiple InfluxDB 3 products. -To simplify connection configuration management, all configurations are now managed -in a single file rather than separate files for each connection configuration. - -To migrate `influxctl` 1.x configuration files to the 2.x format, use the -following guidelines: - -1. Create a 2.0+ configuration file (`config.toml`) at the default location - for your operating system. - _See [Create a configuration file](/influxdb3/cloud-dedicated/reference/cli/influxctl/#create-a-configuration-file)_. - -2. Copy the `account_id` and `cluster_id` credentials from your `influxctl` 1.x - configuration file and add them to a `[[profile]]` TOML table along with the - following fields: - - - **name**: Profile name - - **product**: InfluxDB product (`dedicated`) - - For example, the following 1.x configuration file: - - ```toml - account_id = "dff3ee52-b494-47c1-9e2c-ab59d90d94eb" - cluster_id = "5827cdeb-b868-4446-b40e-e08de116fddf" - ``` - - would become: - - ```toml - [[profile]] - name = "default" - product = "dedicated" - account_id = "dff3ee52-b494-47c1-9e2c-ab59d90d94eb" - cluster_id = "5827cdeb-b868-4446-b40e-e08de116fddf" - ``` - -### Features - -- Add support for both InfluxDB Cloud Dedicated and InfluxDB Clustered. -- Provide public distributions through - and the repository. -- The `influxctl` configuration file is now a single file that you can - optionally pass in via the CLI. -- Add additional options to [`influxctl database`](/influxdb3/cloud-dedicated/reference/cli/influxctl/database/) - and [`influxctl token`](/influxdb3/cloud-dedicated/reference/cli/influxctl/token/) - subcommands. -- Introduce [`influxctl cluster`](/influxdb3/cloud-dedicated/reference/cli/influxctl/cluster/) - subcommands. -- Remove the `influxctl init` subcommand to avoid additional complexity of an - InfluxDB Cloud Dedicated configuration. -- Set maximum tables and columns when creating a database. -- Support passing a connection configuration file path as a CLI option. -- Delete multiple tokens or database in one command. -- Disable of TLS verification for self-signed certificates. -- Update a database and token values. -- Update account & cluster ID for configurations for InfluxDB Clustered. -- Add account and authz gRPC method support. -- Add account and authz protofiles. -- Add oauth2 authentication. -- Specify custom TLS certificates. -- Store configuration settings for multiple InfluxDB products in a single - configuration file. - -### Bug Fixes - -- Return error when too many arguments are provided to a command. -- Set token directory permissions to only the current user. -- Unmarshal `expires_in` for device OAuth2 token. -- Update authentication host for InfluxDB Cloud Dedicated. -- Verify account and cluster IDs. - -### Miscellaneous - -- Update configuration examples with InfluxDB Clustered configurations. -- Properly close gRPC connections. -- Update error message for missing connection profiles. - -### Dependency Updates - -- Update `github.com/pelletier/go-toml/v2` from 2.0.7 to 2.0.9. -- Update `github.com/stretchr/testify` from 1.8.2 to 1.8.4. -- Update `github.com/urfave/cli/v2` from 2.25.3 to 2.25.7. -- Update `go.uber.org/zap` from 1.24.0 to 1.25.0. -- Update `golang.org/x/oauth2` from 0.9.0 to 0.11.0. -- Update `google.golang.org/grpc` from 1.55.0 to 1.57.0. -- Update `google.golang.org/protobuf` from 1.30.0 to 1.31.0. - ---- - -## v1.1.0 {date="2023-05-19"} - -### Features - -- Add the [`influxctl database update`](/influxdb3/cloud-dedicated/reference/cli/influxctl/database/update/) - subcommand to update retention periods. -- Add the [`influxctl token update`](/influxdb3/cloud-dedicated/reference/cli/influxctl/database/update/) - subcommand to update token descriptions. -- Using the `influxctl init` command: - - Confirm before overwriting an existing profile. - - Remove the existing token if overwriting a profile. -- On error, use stderr and return non-zero return code. -- Increase command timeouts to 60 seconds. -- Support setting the Auth0 and gRPC destinations using environment variables - for staging and development environment use. - -### Bug fixes - -- Call `Makefile` instead of `goreleaser`. -- Remove token on init. - -### Dependency updates - -- Update `github.com/urfave/cli/v2` from 2.25.1 to 2.25.3. -- Update `golang.org/x/oauth2` from 0.7.0 to 0.8.0. -- Update `google.golang.org/grpc` from 1.54.0 to 1.55.0. - ---- - -## v1.0.0 {date="2023-04-26"} - -### Features - -- Output confirmation messages on delete. -- Use production Authentication service URLs. - -### Miscellaneous - -- Display `0s` retention policies as infinite. + diff --git a/content/influxdb3/clustered/admin/tokens/database/create.md b/content/influxdb3/clustered/admin/tokens/database/create.md index 91f0fcc9d..a08149983 100644 --- a/content/influxdb3/clustered/admin/tokens/database/create.md +++ b/content/influxdb3/clustered/admin/tokens/database/create.md @@ -14,6 +14,7 @@ list_code_example: | --read-database DATABASE1_NAME \ --read-database DATABASE2_NAME \ --write-database DATABASE2_NAME \ + --expires-at 2030-01-01T00:00:00Z \ "Read-only on DATABASE1_NAME, Read/write on DATABASE2_NAME" ``` aliases: @@ -28,38 +29,50 @@ to create a token that grants access to databases in your {{% product-name omit= 1. If you haven't already, [download and install the `influxctl` CLI](/influxdb3/clustered/reference/cli/influxctl/#download-and-install-influxctl). 2. In your terminal, run the `influxctl token create` command and provide the following: + - Token permissions (read and write) + - `--read-database`: Grants read permissions to the specified database. Repeatable. - `--write-database`: Grants write permissions to the specified database. Repeatable. Both of these flags support the `*` wildcard which grants read or write permissions to all databases. Enclose wildcards in single or double quotes--for example: `'*'` or `"*"`. + + - Token expiration date and time in [RFC3339 format](/influxdb3/clustered/reference/glossary/#rfc3339-timestamp). + _If you do not provide an expiration, the token does not expire._ - Token description -{{% code-placeholders "DATABASE_NAME|TOKEN_DESCRIPTION" %}} +{{% code-placeholders "DATABASE_NAME|TOKEN_DESCRIPTION|RFC3339_TIMESTAMP" %}} ```sh influxctl token create \ --read-database DATABASE_NAME \ --write-database DATABASE_NAME \ - "Read/write token for DATABASE_NAME" + --expires-at RFC3339_TIMESTAMP \ + "Read/write token for DATABASE_NAME" ``` {{% /code-placeholders %}} Replace the following: -- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: your {{% product-name %}} [database](/influxdb3/clustered/admin/databases/) +- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: + your {{% product-name %}} [database](/influxdb3/clustered/admin/databases/) +- {{% code-placeholder-key %}}`RFC3339_TIMESTAMP`{{% /code-placeholder-key %}}: + the token expiration date and time in + [RFC3339 format](/influxdb3/clustered/reference/glossary/#rfc3339-timestamp). The output is the token ID and the token string. **This is the only time the token string is available in plain text.** ## Notable behaviors -- InfluxDB might take some time--from a few seconds to a few minutes--to activate and synchronize new tokens. -If a new database token doesn't immediately work (you receive a `401 Unauthorized` error) for querying or writing, wait and then try again. +- InfluxDB might take some time--from a few seconds to a few minutes--to + activate and synchronize new tokens. + If a new database token doesn't immediately work (you receive a `401 Unauthorized` error) + for querying or writing, wait and then try again. - Token strings are viewable _only_ on token creation. > [!Note] @@ -86,6 +99,7 @@ with your command to format the output as JSON. - [Create a token with read-only access to a database](#create-a-token-with-read-only-access-to-a-database) - [Create a token with read-only access to multiple databases](#create-a-token-with-read-only-access-to-multiple-databases) - [Create a token with mixed permissions to multiple databases](#create-a-token-with-mixed-permissions-to-multiple-databases) +- [Create a token that expires in seven days](#create-a-token-that-expires-in-seven-days) In the examples below, replace the following: @@ -152,3 +166,42 @@ influxctl token create \ ``` {{% /code-placeholders %}} + +### Create a token that expires in seven days + +{{% code-placeholders "DATABASE_NAME" %}} + +{{< code-tabs-wrapper >}} +{{% code-tabs %}} +[Linux](#) +[macOS](#) +{{% /code-tabs %}} +{{% code-tab-content %}} + + + +```bash +influxctl token create \ + --read-database DATABASE_NAME \ + --write-database DATABASE_NAME \ + --expires-at $(date -d "+7 days" +"%Y-%m-%dT%H:%M:%S%z") \ + "Read/write token for DATABASE_NAME with 7d expiration" +``` + +{{% /code-tab-content %}} +{{% code-tab-content %}} + + + +```bash +influxctl token create \ + --read-database DATABASE_NAME \ + --write-database DATABASE_NAME \ + --expires-at $(gdate -d "+7 days" +"%Y-%m-%dT%H:%M:%S%z") \ + "Read/write token for DATABASE_NAME with 7d expiration" +``` + +{{% /code-tab-content %}} +{{< /code-tabs-wrapper >}} + +{{% /code-placeholders %}} diff --git a/content/influxdb3/clustered/reference/cli/influxctl/token/_index.md b/content/influxdb3/clustered/reference/cli/influxctl/token/_index.md index fe5df8f8c..3de37bde2 100644 --- a/content/influxdb3/clustered/reference/cli/influxctl/token/_index.md +++ b/content/influxdb3/clustered/reference/cli/influxctl/token/_index.md @@ -20,14 +20,14 @@ influxctl token [subcommand] [flags] ## Subcommands -| Subcommand | Description | -| :------------------------------------------------------------------------ | :---------------------------- | +| Subcommand | Description | +| :------------------------------------------------------------------- | :---------------------------- | | [create](/influxdb3/clustered/reference/cli/influxctl/token/create/) | Create a database token | -| [delete](/influxdb3/clustered/reference/cli/influxctl/token/delete/) | Delete a database token | +| [revoke](/influxdb3/clustered/reference/cli/influxctl/token/revoke/) | Revoke a database token | | [get](/influxdb3/clustered/reference/cli/influxctl/token/get/) | Get information about a token | | [list](/influxdb3/clustered/reference/cli/influxctl/token/list/) | List database tokens | | [update](/influxdb3/clustered/reference/cli/influxctl/token/update/) | Update a database token | -| help, h | Output command help | +| help, h | Output command help | ## Flags diff --git a/content/influxdb3/clustered/reference/cli/influxctl/token/create.md b/content/influxdb3/clustered/reference/cli/influxctl/token/create.md index 326cd3e8c..f9eea88da 100644 --- a/content/influxdb3/clustered/reference/cli/influxctl/token/create.md +++ b/content/influxdb3/clustered/reference/cli/influxctl/token/create.md @@ -17,14 +17,22 @@ The `--read-database` and `--write-database` flags support the `*` wildcard which grants read or write permissions to all databases. Enclose wildcards in single or double quotes--for example: `'*'` or `"*"`. +The `--expires-at` flag specifies the date and time a token should expire. +Provide an [RFC3339 timestamp](/influxdb3/clustered/reference/glossary/#rfc3339-timestamp). + +> [!Important] +> If you don't specify a token expiration, the token never expires. + The `--format` flag lets you print the output in other formats. The `json` format is available for programmatic parsing by other tooling. Default: `table`. ## Notable behaviors -- InfluxDB might take some time--from a few seconds to a few minutes--to activate and synchronize new tokens. -If a new database token doesn't immediately work (you receive a `401 Unauthorized` error) for querying or writing, wait and then try again. +- InfluxDB might take some time--from a few seconds to a few minutes--to + activate and synchronize new tokens. If a new database token doesn't + immediately work (you receive a `401 Unauthorized` error) for querying or + writing, wait and then try again. - Token strings are viewable _only_ on token creation. > [!Note] @@ -36,10 +44,13 @@ If a new database token doesn't immediately work (you receive a `401 Unauthorize ## Usage -```sh + + +```bash influxctl token create \ [--read-database=] \ [--write-database=] \ + [--expires-at=] \ ``` @@ -53,6 +64,7 @@ influxctl token create \ | Flag | | Description | | :--- | :----------------- | :--------------------------------------------------- | +| | `--expires-at` | Token expiration date and time in RFC3339 format | | | `--format` | Output format (`table` _(default)_ or `json`) | | | `--read-database` | Grant read permissions to a database _(Repeatable)_ | | | `--write-database` | Grant write permissions to a database _(Repeatable)_ | @@ -69,6 +81,7 @@ _Also see [`influxctl` global flags](/influxdb3/clustered/reference/cli/influxct - [Create a token with read-only access to a database](#create-a-token-with-read-only-access-to-a-database) - [Create a token with read-only access to multiple databases](#create-a-token-with-read-only-access-to-multiple-databases) - [Create a token with mixed permissions to multiple databases](#create-a-token-with-mixed-permissions-on-multiple-databases) +- [Create a token that expires in seven days](#create-a-token-that-expires-in-seven-days) In the examples below, replace the following: @@ -79,7 +92,10 @@ In the examples below, replace the following: ### Create a token with read and write access to a database {{% code-placeholders "DATABASE_NAME" %}} -```sh + + + +```bash influxctl token create \ --read-database DATABASE_NAME \ --write-database DATABASE_NAME \ @@ -89,7 +105,9 @@ influxctl token create \ ### Create a token with read and write access to all databases -```sh + + +```bash influxctl token create \ --read-database "*" \ --write-database "*" \ @@ -99,7 +117,10 @@ influxctl token create \ ### Create a token with read-only access to a database {{% code-placeholders "DATABASE_NAME" %}} -```sh + + + +```bash influxctl token create \ --read-database DATABASE_NAME \ "Read-only token for DATABASE_NAME" @@ -109,7 +130,10 @@ influxctl token create \ ### Create a token with read-only access to multiple databases {{% code-placeholders "DATABASE_NAME|DATABASE2_NAME" %}} -```sh + + + +```bash influxctl token create \ --read-database DATABASE_NAME \ --read-database DATABASE2_NAME \ @@ -120,7 +144,10 @@ influxctl token create \ ### Create a token with mixed permissions to multiple databases {{% code-placeholders "DATABASE_NAME|DATABASE2_NAME" %}} -```sh + + + +```bash influxctl token create \ --read-database DATABASE_NAME \ --read-database DATABASE2_NAME \ @@ -128,3 +155,42 @@ influxctl token create \ "Read-only on DATABASE_NAME, read/write on DATABASE2_NAME" ``` {{% /code-placeholders %}} + +### Create a token that expires in seven days + +{{% code-placeholders "DATABASE_NAME" %}} + +{{< code-tabs-wrapper >}} +{{% code-tabs %}} +[Linux](#) +[macOS](#) +{{% /code-tabs %}} +{{% code-tab-content %}} + + + +```bash +influxctl token create \ + --read-database DATABASE_NAME \ + --write-database DATABASE_NAME \ + --expires-at $(date -d "+7 days" +"%Y-%m-%dT%H:%M:%S%z") \ + "Read/write token for DATABASE_NAME with 7d expiration" +``` + +{{% /code-tab-content %}} +{{% code-tab-content %}} + + + +```bash +influxctl token create \ + --read-database DATABASE_NAME \ + --write-database DATABASE_NAME \ + --expires-at $(gdate -d "+7 days" +"%Y-%m-%dT%H:%M:%S%z") \ + "Read/write token for DATABASE_NAME with 7d expiration" +``` + +{{% /code-tab-content %}} +{{< /code-tabs-wrapper >}} + +{{% /code-placeholders %}} diff --git a/content/influxdb3/clustered/reference/cli/influxctl/token/delete.md b/content/influxdb3/clustered/reference/cli/influxctl/token/delete.md deleted file mode 100644 index a6cb01ef6..000000000 --- a/content/influxdb3/clustered/reference/cli/influxctl/token/delete.md +++ /dev/null @@ -1,72 +0,0 @@ ---- -title: influxctl token delete -description: > - The `influxctl token delete` command deletes a database token from an InfluxDB - cluster and revokes all permissions associated with the token. -menu: - influxdb3_clustered: - parent: influxctl token -weight: 301 ---- - -The `influxctl token delete` command deletes a database token from an InfluxDB -cluster and revokes all permissions associated with the token. - -## Usage - -```sh -influxctl token delete [...] -``` - -> [!Warning] -> #### Deleting a token is immediate and cannot be undone -> -> Deleting a database token is a destructive action that takes place immediately -> and cannot be undone. -> -> #### Rotate deleted tokens -> -> After deleting a database token, any clients using the deleted token need to be -> updated with a new database token to continue to interact with your InfluxDB cluster. - -## Arguments - -| Argument | Description | -| :----------- | :-------------------------- | -| **TOKEN_ID** | Database token ID to delete | - -## Flags - -| Flag | | Description | -| :--- | :-------- | :---------------------------------------------------------- | -| | `--force` | Do not prompt for confirmation to delete (default is false) | -| `-h` | `--help` | Output command help | - -{{% caption %}} -_Also see [`influxctl` global flags](/influxdb3/clustered/reference/cli/influxctl/#global-flags)._ -{{% /caption %}} - -## Examples - -- [Delete a database token](#delete-a-database-token) -- [Delete multiple database tokens](#delete-multiple-database-tokens) - -In the examples below, replace the following: - -- {{% code-placeholder-key %}}`TOKEN_ID`{{% /code-placeholder-key %}}: token ID to delete - -### Delete a database token - -{{% code-placeholders "TOKEN_ID" %}} -```sh -influxctl token delete TOKEN_ID -``` -{{% /code-placeholders %}} - -### Delete multiple database tokens - -{{% code-placeholders "TOKEN_ID_\d{1}" %}} -```sh -influxctl token delete TOKEN_ID_1 TOKEN_ID_2 -``` -{{% /code-placeholders %}} diff --git a/content/influxdb3/clustered/reference/cli/influxctl/token/get.md b/content/influxdb3/clustered/reference/cli/influxctl/token/get.md index ecefba6e6..241c19380 100644 --- a/content/influxdb3/clustered/reference/cli/influxctl/token/get.md +++ b/content/influxdb3/clustered/reference/cli/influxctl/token/get.md @@ -2,7 +2,7 @@ title: influxctl token get description: > The `influxctl token get` command returns information about a database token - in an InfluxDB cluster. + in an {{% product-name omit=" Clustered" %}} cluster. menu: influxdb3_clustered: parent: influxctl token @@ -10,7 +10,7 @@ weight: 301 --- The `influxctl token get` command returns information about a database token -in an InfluxDB cluster. +in an {{% product-name omit=" Clustered" %}} cluster. The `--format` flag lets you print the output in other formats. The `json` format is available for programmatic parsing by other tooling. @@ -24,10 +24,11 @@ influxctl token get [command options] ## Flags -| Flag | | Description | -| :--- | :--------- | :-------------------------------------------- | -| | `--format` | Output format (`table` _(default)_ or `json`) | -| `-h` | `--help` | Output command help | +| Flag | | Description | +| :--- | :------------------ | :-------------------------------------------- | +| | `--format` | Output format (`table` _(default)_ or `json`) | +| | `--include-revoked` | Allow returning a revoked token | +| `-h` | `--help` | Output command help | {{% caption %}} _Also see [`influxctl` global flags](/influxdb3/clustered/reference/cli/influxctl/#global-flags)._ @@ -43,4 +44,4 @@ influxctl token get TOKEN_ID Replace the following: -- {{% code-placeholder-key %}}`TOKEN_ID`{{% /code-placeholder-key %}}: token ID to delete +- {{% code-placeholder-key %}}`TOKEN_ID`{{% /code-placeholder-key %}}: token ID to get diff --git a/content/influxdb3/clustered/reference/cli/influxctl/token/list.md b/content/influxdb3/clustered/reference/cli/influxctl/token/list.md index eb5dfde9e..3dba695fa 100644 --- a/content/influxdb3/clustered/reference/cli/influxctl/token/list.md +++ b/content/influxdb3/clustered/reference/cli/influxctl/token/list.md @@ -1,15 +1,16 @@ --- title: influxctl token list description: > - The `influxctl token list` command lists all database tokens in an InfluxDB cluster. + The `influxctl token list` command lists all database tokens in an + {{% product-name omit=" Clustered" %}} cluster. menu: influxdb3_clustered: parent: influxctl token weight: 301 --- -The `influxctl token list` command lists all database tokens in an InfluxDB Cloud -Dedicated cluster. +The `influxctl token list` command lists all database tokens in an +{{% product-name omit=" Clustered" %}} cluster. The `--format` flag lets you print the output in other formats. The `json` format is available for programmatic parsing by other tooling. @@ -23,11 +24,12 @@ influxctl token list [--format=table|json] ## Flags -| Flag | | Description | -| :--- | :--------- | :------------------------------------------------------------------------------------------------------------ | -| | `--format` | Output format (`table` _(default)_ or `json`) | -| | `--sort` | Sort output by a specific column (`created` _(default)_, `id`, `description`, `prefix`, `expires`, `revoked`) | -| `-h` | `--help` | Output command help | +| Flag | | Description | +| :--- | :------------------ | :-------------------------------------------------------------------- | +| | `--format` | Output format (`table` _(default)_ or `json`) | +| | `--sort` | Sort output by a specific column ( `id` _(default)_ or `description`) | +| | `--include-revoked` | Include revoked tokens in the list | +| `-h` | `--help` | Output command help | {{% caption %}} _Also see [`influxctl` global flags](/influxdb3/clustered/reference/cli/influxctl/#global-flags)._ diff --git a/content/influxdb3/clustered/reference/cli/influxctl/token/revoke.md b/content/influxdb3/clustered/reference/cli/influxctl/token/revoke.md new file mode 100644 index 000000000..59d93481e --- /dev/null +++ b/content/influxdb3/clustered/reference/cli/influxctl/token/revoke.md @@ -0,0 +1,82 @@ +--- +title: influxctl token revoke +description: > + The `influxctl token revoke` command revokes a database token associated with + an {{% product-name omit=" Clustered" %}} cluster and removes all permissions + associated with the token. +menu: + influxdb3_clustered: + parent: influxctl token +weight: 301 +aliases: + - /influxdb3/clustered/reference/cli/influxctl/token/delete/ +--- + +The `influxctl token revoke` command revokes a database token associated with +an {{% product-name omit=" Clustered" %}} cluster and removes all permissions +associated with the token. + +## Usage + +```sh +influxctl token revoke [...] +``` + +> [!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. + +##### Aliases + +`delete` + +## Arguments + +| Argument | Description | +| :----------- | :-------------------------- | +| **TOKEN_ID** | Database token ID to revoke | + +## Flags + +| Flag | | Description | +| :--- | :-------- | :---------------------------------------------------------- | +| | `--force` | Do not prompt for confirmation to revoke (default is false) | +| `-h` | `--help` | Output command help | + +{{% caption %}} +_Also see [`influxctl` global flags](/influxdb3/clustered/reference/cli/influxctl/#global-flags)._ +{{% /caption %}} + +## Examples + +- [Revoke a database token](#revoke-a-database-token) +- [Revoke multiple database tokens](#revoke-multiple-database-tokens) + +In the examples below, replace the following: + +- {{% code-placeholder-key %}}`TOKEN_ID`{{% /code-placeholder-key %}}: + token ID to revoke + +### Revoke a database token + +{{% code-placeholders "TOKEN_ID" %}} +```sh +influxctl token revoke TOKEN_ID +``` +{{% /code-placeholders %}} + +### Revoke multiple database tokens + +{{% code-placeholders "TOKEN_ID_\d{1}" %}} +```sh +influxctl token revoke TOKEN_ID_1 TOKEN_ID_2 +``` +{{% /code-placeholders %}} diff --git a/content/influxdb3/clustered/reference/release-notes/influxctl.md b/content/influxdb3/clustered/reference/release-notes/influxctl.md index 4ff2fa42e..120082848 100644 --- a/content/influxdb3/clustered/reference/release-notes/influxctl.md +++ b/content/influxdb3/clustered/reference/release-notes/influxctl.md @@ -9,652 +9,8 @@ menu: name: influxctl parent: Release notes weight: 202 -canonical: /influxdb3/cloud-dedicated/reference/release-notes/influxctl/ +source: /shared/influxctl/release-notes.md --- -## v2.9.9 {date="2025-01-24"} - -### Features - -- Sort [`influxctl token list`](/influxdb3/clustered/reference/cli/influxctl/token/list/) -and [`influxctl management list`](/influxdb3/clustered/reference/cli/influxctl/management/list/) output. - -### Bug fixes - -- Remove `UpdateAccount` and `UpdateCluster`. -- Remove "incorrect version" warning for gRPC unimplemented error code. -- Correctly parse multi-line queries from stdin. - -### Dependency updates - -- Update `github.com/fatih/color` from 1.17.0 to 1.18.0. -- Update `github.com/go-git/go-git/v5` from 5.12.0 to 5.13.1. -- Update `github.com/jedib0t/go-pretty/v6` from 6.6.0 to 6.6.5. -- Update `github.com/stretchr/testify` from 1.9.0 to 1.10.0. -- Update `golang.org/x/crypto` from 0.27.0 to 0.31.0. -- Update `golang.org/x/mod` from 0.21.0 to 0.22.0. -- Update `golang.org/x/oauth2` from 0.23.0 to 0.25.0. -- Update `google.golang.org/grpc` from 1.67.1 to 1.69.4. -- Update `google.golang.org/protobuf` from 1.35.1 to 1.36.3. -- Update Go to v1.23.5. - ---- - -## v2.9.8 {date="2024-10-15"} - -### Bug Fixes - -- Continue revoking tokens on error. -- Reject unsupported input to `--template-timeformat`. -- Remove unused `client_secret` option from - [connection configuration profiles](/influxdb3/clustered/reference/cli/influxctl/#configure-connection-profiles). - -### Dependency Updates - -- Update Go to v1.23.2. -- Update `github.com/jedib0t/go-pretty/v6` from 6.5.9 to 6.6.0. -- Update `github.com/urfave/cli/v2` from 2.27.4 to 2.27.5. -- Update `google.golang.org/grpc` from 1.66.0 to 1.67.1. -- Update `google.golang.org/protobuf` from 1.34.2 to 1.35.1. - ---- - -## v2.9.7 {date="2024-09-11"} - -### Features - -- Add [global `--timeout` flag](/influxdb3/clustered/reference/cli/influxctl/#global-flags). -- Improve timezone support. - -### Bug Fixes - -- Use passthrough resolver for gRPC. - -### Dependency Updates - -- Update Go to 1.23.1. -- Update `github.com/pelletier/go-toml/v2` from 2.2.2 to 2.2.3. -- Update `golang.org/x/mod` from 0.20.0 to 0.21.0. -- Update `golang.org/x/oauth2` from 0.22.0 to 0.23.0. -- Update `google.golang.org/grpc` from 1.65.0 to 1.66.0. - ---- - -## v2.9.6 {date="2024-08-15"} - -### Bug Fixes - -- Update query to wait for EOF on stdin instead of the first newline. - ---- - -## v2.9.5 {date="2024-08-13"} - -### Bug Fixes - -- Introduce auth login and logout commands. -- Attempt to refresh OAuth tokens when refresh token is present. - -### Dependency Updates - -- Update `github.com/urfave/cli/v2` from 2.27.2 to 2.27.4 -- Update `golang.org/x/mod` from 0.19.0 to 0.20.0 -- Update `golang.org/x/oauth2` from 0.21.0 to 0.22.0 - ---- - -## v2.9.4 {date="2024-07-25"} - -### Bug Fixes - -- Resolve crash when parsing error message and authentication was null. - -### Dependency Updates - -- Update `golang.org/x/mod` from 0.18.0 to 0.19.0 -- Update `google.golang.org/grpc` from 1.64.0 to 1.65.0 - ---- - -## v2.9.3 {date="2024-06-26"} - -### Bug Fixes - -- Update query subcommand to safely handle null timestamp in response. - ---- - -## v2.9.2 {date="2024-06-17"} - -### Bug Fixes - -- Ensure query subcommand returns any error while looping through results. - -### Dependency Updates - -- Update `google.golang.org/protobuf` from 1.34.1 to 1.34.2. - ---- - -## v2.9.1 {date="2024-06-06"} - -### Dependency Updates - -- Update Go from 1.22.2 to 1.22.4 -- Update `github.com/apache/arrow/go/v16` from 16.0.0 to 16.1.0 -- Update `github.com/fatih/color` from 1.16.0 to 1.17.0 -- Update `golang.org/x/mod` from 0.17.0 to 0.18.0 -- Update `golang.org/x/oauth2` from 0.20.0 to 0.21.0 -- Update `google.golang.org/grpc` from 1.63.2 to 1.64.0 -- Update `google.golang.org/protobuf` from 1.34.0 to 1.34.1 -- Update build dependencies. - ---- - -## v2.9.0 {date="2024-05-06"} - -### Features - -- Restore default `rfc3339nano` timestamps in table output for `influxctl query` - and add the option for `unixnano` timestamps. - -### Bug Fixes - -- Update unimplemented error message with additional information. - -### Dependency Updates - -- Update `github.com/apache/arrow/go/v16` from 16.0.0-20240401180149-68241d8a86e9 to 16.0.0. -- Update `github.com/jedib0t/go-pretty/v6` from 6.5.8 to 6.5.9. -- Update `github.com/pelletier/go-toml/v2` from 2.2.0 to 2.2.1. -- Update `github.com/pelletier/go-toml/v2` from 2.2.1 to 2.2.2. -- Update `github.com/urfave/cli/v2` from 2.27.1 to 2.27.2. -- Update `golang.org/x/net` from 0.22.0 to 0.23.0. -- Update `golang.org/x/oauth2` from 0.19.0 to 0.20.0. -- Update `google.golang.org/protobuf` from 1.33.0 to 1.34.0. -- Update build dependencies. - ---- - -## v2.8.0 {date="2024-04-11"} - -`influxctl` 2.8.0 requires InfluxDB Clustered version 20240326-922145 or newer. -A change was made to how database commands were handled internally in InfluxDB -Clustered that required this change. If using an older version of InfluxDB -Clustered, you will observe an unimplemented gRPC error when using functionality -that depends on the updated command handling. If upgrading is not possible, you -can continue to use a version prior to 2.8.0 until you are able to update. - -### Features - -- Introduce the ability to query with InfluxQL. -- Add insecure configuration option to TLS configuration. -- Allow users to query system tables. -- Utilize the database proxy service. - -### Dependency Updates - -- Update Go to v1.22.2. -- Update `github.com/go-git/go-git/v5` from 5.11.0 to 5.12.0. -- Update `github.com/jedib0t/go-pretty/v6` from 6.5.6 to 6.5.8. -- Update `golang.org/x/mod` from 0.16.0 to 0.17.0. -- Update `golang.org/x/oauth2` from 0.18.0 to 0.19.0. -- Update `google.golang.org/grpc` from 1.62.1 to 1.63.2. - ---- - -## v2.7.1 {date="2024-03-27"} - -### Bug Fixes - -- Correctly parse template tag bucket strings. - ---- - -## v2.7.0 {date="2024-03-26"} - -This minor release adds the `--template-tag-bucket` partition template option to -the already existing `--template-time-format` and `--template-tag` options used -to define custom partition templates for databases and tables. -This also fixes a nil pointer issue when listing management tokens. - -### Features - -- Introduce the bucket template method for grouping tag values into buckets and - partitioning by each tag bucket. - -### Bug Fixes - -- Ensure strings are not nil pointers. - -### Dependency Updates - -- Update `github.com/jedib0t/go-pretty/v6` from 6.5.5 to 6.5.6. -- Update `github.com/pelletier/go-toml/v2` from 2.1.1 to 2.2.0. -- Update granite proto. - ---- - -## v2.6.0 {date="2024-03-18"} - -`influxctl` 2.6.0 introduces the ability to create, list, and revoke -management tokens and allow you to authenticate directly with your -InfluxDB cluster instead of an OAuth2 provider. - -### New Features - -- Add management token subcommands to create, list, and revoke management - tokens. -- Introduce management token configuration option to authenticate using - management tokens created with `influxctl`. - -### Dependency Updates - -- Update Go to v1.22.1 -- Update `github.com/golang-jwt/jwt/v5` from v5.2.0 to v5.2.1. -- Update `google.golang.org/protobuf` from v1.32.0 to v1.33.0. -- Update `golang.org/x/oauth2` from v0.17.0 to v0.18.0. -- Update `google.golang.org/grpc` from v1.62.0 to v1.62.1. -- Update `github.com/jedib0t/go-pretty/v6` from v6.5.4 to v6.5.5. - ---- - -## v2.5.0 {date="2024-03-04"} - -`influxctl` 2.5.0 introduces the ability to set -[partition templates](/influxdb3/clustered/admin/custom-partitions/) during -database or table creation. It introduces the -[`table` subcommand](/influxdb3/clustered/reference/cli/influxctl/table/) -that lets users manually create tables. Additionally, `influxctl` now removes a -previously cached token if the response from InfluxDB is unauthorized. This -helps InfluxDB Clustered users who deploy new clusters using unexpired tokens -associated with another InfluxDB cluster. - -### New Features - -- Add partition templates to database and table creation. -- Remove token if unauthorized. - -### Bug Fixes - -- Update Arrow to allow non-TLS connections. -- Do not attempt to load cached tokens when an admin token file is provided. -- Print retention period up to days rather than very large hours. -- Fix indentation of help output. - -### Dependency Updates - -- Update `github.com/golangci/golangcilint` from v1.56.1 to v1.56.2. -- Update `golang.org/x/mod` from v0.15.0 to v0.16.0. -- Update `github.com/pkg/browser` from v0.0.0-20210911075715-681adbf594b8 to - v0.0.0-20240102092130-5ac0b6a4141c. -- Update `github.com/stretchr/testify` from 1.8.4 to 1.9.0. -- Update `go.uber.org/zap` from 1.26.0 to 1.27.0. -- Update `google.golang.org/grpc` from 1.61.0 to 1.61.1. -- Update `google.golang.org/grpc` from 1.61.1 to 1.62.0. - ---- - -## v2.4.4 {date="2024-02-16"} - -### Bug fixes - -- Introduced trace HTTP debug CLI option. -- Added custom gRPC error message handling to gRPC experience. - -### Dependency updates - -- Update to go1.22.0. -- Update `github.com/apache/arrow/go/v14` v14.0.2 to v15.0.0. -- Update `github.com/google/uuid` from 1.5.0 to 1.6.0. -- Update `github.com/jedib0t/go-pretty/v6` from 6.5.3 to 6.5.4. -- Update `golang.org/x/mod from` 0.14.0 to 0.15.0. -- Update `golang.org/x/oauth2` from 0.16.0 to 0.17.0. -- Update `google.golang.org/grpc` from 1.60.1 to 1.61.0. - ---- - -## v2.4.3 {date="2024-01-17"} - -### Bug fixes - -- Show empty value for database limits when not set, rather than zero. -- Use user configured port for write. -- Correct typos in query and write error messages. - -### Dependency updates - -- Update to go1.21.6. -- Update `github.com/apache/arrow/go/v14` from 14.0.1 to 14.0.2. -- Update `github.com/cloudflare/circl` from 1.3.6 to 1.3.7. -- Update `github.com/jedib0t/go-pretty/v6` from 6.4.9 to 6.5.3. -- Update `github.com/urfave/cli/v2` from 2.26.0 to 2.27.1. -- Update `golang.org/x/crypto` from 0.16.0 to 0.17.0. -- Update `golang.org/x/oauth2` from 0.15.0 to 0.16.0. -- Update `google.golang.org/grpc` from 1.60.0 to 1.60.1. -- Update `google.golang.org/protobuf` from 1.31.0 to 1.32.0. - ---- - -## v2.4.2 {date="2023-12-18"} - -### Bug fixes - -- Correctly set the version and build info for the version command. - ---- - -## v2.4.1 {date="2023-12-14"} - -### Bug fixes - -- Update `influxctl query` examples with SQL instead of InfluxQL. -- Update example connection profile configuration with query and write options. -- Use database and token CLI options if set. - ---- - -## v2.4.0 {date="2023-12-13"} - -This release includes the following notable changes: - -- InfluxDB Cloud Dedicated users now have the same `influxctl` login experience - as InfluxDB Clustered users. The Auth0 server uses device authorization by - displaying a code to validate when logging in. The browser still opens, - if possible, and pre-populates the code. The only difference is the need to - verify the code on one additional page. This was done to align the user - experience between both InfluxDB Cloud Dedicated and InfluxDB Clustered and - to allow Cloud Dedicated users without a local UI or browser to continue to - use `influxctl`. -- Introduce the `influxctl write` and `influxctl query` commands. - `influxctl query` queries an InfluxDB 3 instance using SQL. - `influxctl write` writes line protocol to a InfluxDB 3 instance. - -### Features - -- Introduce `influxctl query` command. -- Introduce `influxctl write` command. -- Use device auth for InfluxDB Cloud Dedicated. - -### Bug fixes - -- Avoid nil pointer for database information. -- Login and early return for TokenFile in InfluxDB Clustered. - -### Dependency updates - -- Update `github.com/go-git/go-git/v5` from 5.10.0 to 5.10.1. -- Update `github.com/go-git/go-git/v5` from 5.10.1 to 5.11.0. -- Update `github.com/golang-jwt/jwt/v5` from 5.1.0 to 5.2.0. -- Update `github.com/urfave/cli/v2` from 2.25.7 to 2.26.0. -- Update `golang.org/x/oauth2` from 0.14.0 to 0.15.0. - ---- - -## v2.3.1 {date="2023-11-15"} - -### Bug fixes - -- Include error message description in device authorization polling errors. -- Do not save tokens when loading from file. -- Update header comments in the example `config.toml`. - -### Dependency updates - -- Update `github.com/golang-jwt/jwt/v5` from 5.0.0 to 5.1.0. -- Update `golang.org/x/oauth2` from 0.13.0 to 0.14.0. - ---- - -## v2.3.0 {date="2023-11-06"} - -_Features updated in this release are meant for internal InfluxData use and do -not affect any public APIs._ - -### Dependency updates - -- Update `github.com/go-git/go-git/v5` from 5.9.0 to 5.10.0. -- Update `github.com/google/uuid` from 1.3.1 to 1.4.0. -- Update `github.com/jedib0t/go-pretty/v6` from 6.4.8 to 6.4.9. -- Update `golang.org/x/mod` from 0.13.0 to 0.14.0. - ---- - -## v2.2.0 {date="2023-10-27"} - -### Features - -- Allow token authentication for InfluxDB Clustered. - ---- - -## v2.1.0 {date="2023-10-26"} - -### Features - -- Add `--format` flag to [`influxctl token create`](/influxdb3/clustered/reference/cli/influxctl/token/create/) - to specify the command output format. - -### Bug fixes - -- Use correct account and cluster names when specified in command flags. -- Make `influxctl database list` return an empty array instead of _null_ when - there are no databases to list. - -### Dependency updates - -- Update to Go 1.21.3. -- Update `github.com/jedib0t/go-pretty/v6` from 6.4.7 to 6.4.8. -- Update `go.uber.org/zap` from 1.25.0 to 1.26.0. -- Update `golang.org/x/mod` from 0.12.0 to 0.13.0. -- Update `golang.org/x/net` from 0.15.0 to 0.17.0. -- Update `golang.org/x/oauth2` from 0.12.0 to 0.13.0. -- Update `google.golang.org/grpc` from 1.58.0 to 1.59.0. - -### Miscellaneous - -- Automate Homebrew tap releases for `influxctl`. - ---- - -## v2.0.4 {date="2023-09-14"} - -### Bug fixes - -- Validate Microsoft Entra ID (formerly Azure Active Directory) token and device URLs. -- Only validate Microsoft Entra ID configuration when getting a token. - -### Dependency updates - -- Update to Go 1.21. - ---- - -## v2.0.3 {date="2023-09-12"} - -### Bug fixes - -- Add pagination support to [`influxctl token list`](/influxdb3/clustered/reference/cli/influxctl/token/list/) - and [`influxctl user list`](/influxdb3/clustered/reference/cli/influxctl/user/list/). -- Send all logging output to stderr. -- Return error for commands that are not supported by InfluxDB Clustered. - -### Dependency updates - -- Update `github.com/google/uuid` from 1.3.0 to 1.3.1. -- Update `github.com/jedib0t/go-pretty/v6` from 6.4.6 to 6.4.7. -- Update `github.com/pelletier/go-toml/v2` from 2.0.9 to 2.1.0. -- Update `golang.org/x/oauth2` from 0.11.0 to 0.12.0. -- Update `google.golang.org/grpc` from 1.57.0 to 1.58.0. - ---- - -## v2.0.2 {date="2023-08-23"} - -### Bug fixes - -- Add cluster get args, clarify error message. -- [`influxctl database update`](/influxdb3/clustered/reference/cli/influxctl/database/update/) - should only accept retention policy updates as a flag. -- Update [`influxctl token create`](/influxdb3/clustered/reference/cli/influxctl/token/create/) - and [`influxctl token update`](/influxdb3/clustered/reference/cli/influxctl/token/update/) - help information with examples that use multiple permission flags. -- Update [`influxctl cluster get`](/influxdb3/clustered/reference/cli/influxctl/cluster/get/) - help text. -- Switch email param ordering. - -### Dependency updates - -- Update `golang.org/x/mod` from 0.8.0 to 0.12.0. - -### Miscellaneous - -- Clean up log formatting. -- Remove extra debug output of account ID. - ---- - -## v2.0.1 {date="2023-08-15"} - -### Bug fixes - -- Return an error when using unrecognized TOML configuration options. - ---- - -## v2.0.0 {date="2023-08-09"} - -`influxctl` 2.0.0 introduces support for both InfluxDB Cloud Dedicated and -InfluxDB Clustered. To simplify configuration profile management, all connection -configurations now managed in a single configuration file. If using `influxctl` -1.x, migrate your 1.x configuration profiles to the 2.0 format: - -### Migrate from influxctl 1.x to 2.0 - -`influxctl` 2.0+ supports multiple InfluxDB 3 products. -To simplify connection configuration management, all configurations are now managed -in a single file rather than separate files for each connection configuration. - -To migrate `influxctl` 1.x configuration files to the 2.x format, use the -following guidelines: - -1. Create a 2.0+ configuration file (`config.toml`) at the default location - for your operating system. - _See [Create a configuration file](/influxdb3/clustered/reference/cli/influxctl/#create-a-configuration-file)_. - -2. Copy the `account_id` and `cluster_id` credentials from your `influxctl` 1.x - configuration file and add them to a `[[profile]]` TOML table along with the - following fields: - - - **name**: Profile name - - **product**: InfluxDB product (`dedicated`) - - For example, the following 1.x configuration file: - - ```toml - account_id = "dff3ee52-b494-47c1-9e2c-ab59d90d94eb" - cluster_id = "5827cdeb-b868-4446-b40e-e08de116fddf" - ``` - - would become: - - ```toml - [[profile]] - name = "default" - product = "dedicated" - account_id = "dff3ee52-b494-47c1-9e2c-ab59d90d94eb" - cluster_id = "5827cdeb-b868-4446-b40e-e08de116fddf" - ``` - -### Features - -- Add support for both InfluxDB Cloud Dedicated and InfluxDB Clustered. -- Provide public distributions through - and the repository. -- The `influxctl` configuration file is now a single file that you can - optionally pass in via the CLI. -- Add additional options to [`influxctl database`](/influxdb3/clustered/reference/cli/influxctl/database/) - and [`influxctl token`](/influxdb3/clustered/reference/cli/influxctl/token/) - subcommands. -- Introduce [`influxctl cluster`](/influxdb3/clustered/reference/cli/influxctl/cluster/) - subcommands. -- Remove the `influxctl init` subcommand to avoid additional complexity of an - InfluxDB Cloud Dedicated configuration. -- Set maximum tables and columns when creating a database. -- Support passing a connection configuration file path as a CLI option. -- Delete multiple tokens or database in one command. -- Disable of TLS verification for self-signed certificates. -- Update a database and token values. -- Update account & cluster ID for configurations for InfluxDB Clustered. -- Add account and authz gRPC method support. -- Add account and authz protofiles. -- Add oauth2 authentication. -- Specify custom TLS certificates. -- Store configuration settings for multiple InfluxDB products in a single - configuration file. - -### Bug Fixes - -- Return error when too many arguments are provided to a command. -- Set token directory permissions to only the current user. -- Unmarshal `expires_in` for device OAuth2 token. -- Update authentication host for InfluxDB Cloud Dedicated. -- Verify account and cluster IDs. - -### Miscellaneous - -- Update configuration examples with InfluxDB Clustered configurations. -- Properly close gRPC connections. -- Update error message for missing connection profiles. - -### Dependency Updates - -- Update `github.com/pelletier/go-toml/v2` from 2.0.7 to 2.0.9. -- Update `github.com/stretchr/testify` from 1.8.2 to 1.8.4. -- Update `github.com/urfave/cli/v2` from 2.25.3 to 2.25.7. -- Update `go.uber.org/zap` from 1.24.0 to 1.25.0. -- Update `golang.org/x/oauth2` from 0.9.0 to 0.11.0. -- Update `google.golang.org/grpc` from 1.55.0 to 1.57.0. -- Update `google.golang.org/protobuf` from 1.30.0 to 1.31.0. - ---- - -## v1.1.0 {date="2023-05-19"} - -### Features - -- Add the [`influxctl database update`](/influxdb3/clustered/reference/cli/influxctl/database/update/) - subcommand to update retention periods. -- Add the [`influxctl token update`](/influxdb3/clustered/reference/cli/influxctl/database/update/) - subcommand to update token descriptions. -- Using the `influxctl init` command: - - Confirm before overwriting an existing profile. - - Remove the existing token if overwriting a profile. -- On error, use stderr and return non-zero return code. -- Increase command timeouts to 60 seconds. -- Support setting the Auth0 and gRPC destinations using environment variables - for staging and development environment use. - -### Bug fixes - -- Call `Makefile` instead of `goreleaser`. -- Remove token on init. - -### Dependency updates - -- Update `github.com/urfave/cli/v2` from 2.25.1 to 2.25.3. -- Update `golang.org/x/oauth2` from 0.7.0 to 0.8.0. -- Update `google.golang.org/grpc` from 1.54.0 to 1.55.0. - ---- - -## v1.0.0 {date="2023-04-26"} - -### Features - -- Output confirmation messages on delete. -- Use production Authentication service URLs. - -### Miscellaneous - -- Display `0s` retention policies as infinite. + diff --git a/content/shared/influxctl/release-notes.md b/content/shared/influxctl/release-notes.md new file mode 100644 index 000000000..acf26063e --- /dev/null +++ b/content/shared/influxctl/release-notes.md @@ -0,0 +1,676 @@ +## v2.10.0 {date="2025-04-04"} + +### Features + +- Rename `influxctl token delete` command to `influxctl token revoke`. +- Add `--include-revoked` flag to the following commands to optionally include + revoked tokens in the command output: + - [`influxctl token list`](/influxdb3/version/reference/cli/influxctl/token/list/) + - [`influxctl token get`](/influxdb3/version/reference/cli/influxctl/token/get/) +- Add `--expires-at` flag to the + [`influxctl token create`](/influxdb3/version/reference/cli/influxctl/token/create/) + command to set a database token expiration. + +### Bug fixes + +- Ensure the management token description is a non-empty string. +- Fix linter issues. +- Pass `nil` correctly for `expiresAt` when creating management tokens. + +### Dependency updates + +- Update `github.com/apache/arrow-go/v18` from 18.1.0 to 18.2.0. +- Update `github.com/go-git/go-git/v5` from 5.13.1 to 5.14.0. +- Update `github.com/golang-jwt/jwt/v5` from 5.2.1 to 5.2.2. +- Update `github.com/jedib0t/go-pretty/v6` from 6.6.5 to 6.6.7. +- Update `github.com/urfave/cli/v2` from 2.27.5 to 2.27.6. +- Update `golang.org/x/mod` from 0.22.0 to 0.36.0. +- Update `golang.org/x/oauth2` from 0.25.0 to 0.28.0. +- Update `google.golang.org/grpc` from 1.69.4 to 1.71.0. +- Update `google.golang.org/protobuf` from 1.36.3 to 1.36.6. +- Address `goreleaser` deprecation warnings. +- Update `golangci-lint` to v2. +- Update Apache Arrow from v16 to v18. +- Update Go to 1.24.1. +- Switch to updated `browser` fork. + +--- + +## v2.9.9 {date="2025-01-24"} + +### Features + +- Sort [`influxctl token list`](/influxdb3/version/reference/cli/influxctl/token/list/) +and [`influxctl management list`](/influxdb3/version/reference/cli/influxctl/management/list/) output. + +### Bug fixes + +- Remove `UpdateAccount` and `UpdateCluster`. +- Remove "incorrect version" warning for gRPC unimplemented error code. +- Correctly parse multi-line queries from stdin. + +### Dependency updates + +- Update `github.com/fatih/color` from 1.17.0 to 1.18.0. +- Update `github.com/go-git/go-git/v5` from 5.12.0 to 5.13.1. +- Update `github.com/jedib0t/go-pretty/v6` from 6.6.0 to 6.6.5. +- Update `github.com/stretchr/testify` from 1.9.0 to 1.10.0. +- Update `golang.org/x/crypto` from 0.27.0 to 0.31.0. +- Update `golang.org/x/mod` from 0.21.0 to 0.22.0. +- Update `golang.org/x/oauth2` from 0.23.0 to 0.25.0. +- Update `google.golang.org/grpc` from 1.67.1 to 1.69.4. +- Update `google.golang.org/protobuf` from 1.35.1 to 1.36.3. +- Update Go to v1.23.5. + +--- + +## v2.9.8 {date="2024-10-15"} + +### Bug Fixes + +- Continue revoking tokens on error. +- Reject unsupported input to `--template-timeformat`. +- Remove unused `client_secret` option from + [connection configuration profiles](/influxdb3/version/reference/cli/influxctl/#configure-connection-profiles). + +### Dependency Updates + +- Update Go to v1.23.2. +- Update `github.com/jedib0t/go-pretty/v6` from 6.5.9 to 6.6.0. +- Update `github.com/urfave/cli/v2` from 2.27.4 to 2.27.5. +- Update `google.golang.org/grpc` from 1.66.0 to 1.67.1. +- Update `google.golang.org/protobuf` from 1.34.2 to 1.35.1. + +--- + +## v2.9.7 {date="2024-09-11"} + +### Features + +- Add [global `--timeout` flag](/influxdb3/version/reference/cli/influxctl/#global-flags). +- Improve timezone support. + +### Bug Fixes + +- Use passthrough resolver for gRPC. + +### Dependency Updates + +- Update Go to 1.23.1. +- Update `github.com/pelletier/go-toml/v2` from 2.2.2 to 2.2.3. +- Update `golang.org/x/mod` from 0.20.0 to 0.21.0. +- Update `golang.org/x/oauth2` from 0.22.0 to 0.23.0. +- Update `google.golang.org/grpc` from 1.65.0 to 1.66.0. + +--- + +## v2.9.6 {date="2024-08-15"} + +### Bug Fixes + +- Update query to wait for EOF on stdin instead of the first newline. + +--- + +## v2.9.5 {date="2024-08-13"} + +### Bug Fixes + +- Introduce auth login and logout commands. + +### Dependency Updates + +- Update `github.com/urfave/cli/v2` from 2.27.2 to 2.27.4 +- Update `golang.org/x/mod` from 0.19.0 to 0.20.0 +- Update `golang.org/x/oauth2` from 0.21.0 to 0.22.0 + +--- + +## v2.9.4 {date="2024-07-25"} + +### Bug Fixes + +- Resolve crash when parsing error message and authentication was null. + +### Dependency Updates + +- Update `golang.org/x/mod` from 0.18.0 to 0.19.0 +- Update `google.golang.org/grpc` from 1.64.0 to 1.65.0 + +--- + +## v2.9.3 {date="2024-06-26"} + +### Bug Fixes + +- Update query subcommand to safely handle null timestamp in response. + +--- + +## v2.9.2 {date="2024-06-17"} + +### Bug Fixes + +- Ensure query subcommand returns any error while looping through results. + +### Dependency Updates + +- Update `google.golang.org/protobuf` from 1.34.1 to 1.34.2. + +--- + +## v2.9.1 {date="2024-06-06"} + +### Dependency Updates + +- Update Go from 1.22.2 to 1.22.4 +- Update `github.com/apache/arrow/go/v16` from 16.0.0 to 16.1.0 +- Update `github.com/fatih/color` from 1.16.0 to 1.17.0 +- Update `golang.org/x/mod` from 0.17.0 to 0.18.0 +- Update `golang.org/x/oauth2` from 0.20.0 to 0.21.0 +- Update `google.golang.org/grpc` from 1.63.2 to 1.64.0 +- Update `google.golang.org/protobuf` from 1.34.0 to 1.34.1 +- Update build dependencies. + +--- + +## v2.9.0 {date="2024-05-06"} + +### Features + +- Restore default `rfc3339nano` timestamps in table output for `influxctl query` + and add the option for `unixnano` timestamps. + +### Bug Fixes + +- Update unimplemented error message with additional information. + +### Dependency Updates + +- Update `github.com/apache/arrow/go/v16` from 16.0.0-20240401180149-68241d8a86e9 to 16.0.0. +- Update `github.com/jedib0t/go-pretty/v6` from 6.5.8 to 6.5.9. +- Update `github.com/pelletier/go-toml/v2` from 2.2.0 to 2.2.1. +- Update `github.com/pelletier/go-toml/v2` from 2.2.1 to 2.2.2. +- Update `github.com/urfave/cli/v2` from 2.27.1 to 2.27.2. +- Update `golang.org/x/net` from 0.22.0 to 0.23.0. +- Update `golang.org/x/oauth2` from 0.19.0 to 0.20.0. +- Update `google.golang.org/protobuf` from 1.33.0 to 1.34.0. +- Update build dependencies. + +--- + +## v2.8.0 {date="2024-04-11"} + +### Features + +- Introduce the ability to query with InfluxQL. +- Add insecure configuration option to TLS configuration. +- Allow users to query system tables. +- Utilize the database proxy service. + +### Dependency Updates + +- Update Go to v1.22.2. +- Update `github.com/go-git/go-git/v5` from 5.11.0 to 5.12.0. +- Update `github.com/jedib0t/go-pretty/v6` from 6.5.6 to 6.5.8. +- Update `golang.org/x/mod` from 0.16.0 to 0.17.0. +- Update `golang.org/x/oauth2` from 0.18.0 to 0.19.0. +- Update `google.golang.org/grpc` from 1.62.1 to 1.63.2. + +--- + +## v2.7.1 {date="2024-03-27"} + +### Bug Fixes + +- Correctly parse template tag bucket strings. + +--- + +## v2.7.0 {date="2024-03-26"} + +This minor release adds the `--template-tag-bucket` partition template option to +the already existing `--template-time-format` and `--template-tag` options used +to define custom partition templates for databases and tables. +This also fixes a nil pointer issue when listing management tokens. + +### Features + +- Introduce the bucket template method for grouping tag values into buckets and + partitioning by each tag bucket. + +### Bug Fixes + +- Ensure strings are not nil pointers. + +### Dependency Updates + +- Update `github.com/jedib0t/go-pretty/v6` from 6.5.5 to 6.5.6. +- Update `github.com/pelletier/go-toml/v2` from 2.1.1 to 2.2.0. +- Update granite proto. + +--- + +## v2.6.0 {date="2024-03-18"} + +`influxctl` 2.6.0 introduces the ability to create, list, and revoke +management tokens and allow you to authenticate directly with your +InfluxDB cluster instead of an OAuth2 provider. + +### New Features + +- Add management token subcommands to create, list, and revoke management + tokens. +- Introduce management token configuration option to authenticate using + management tokens created with `influxctl`. + +### Dependency Updates + +- Update Go to v1.22.1 +- Update `github.com/golang-jwt/jwt/v5` from v5.2.0 to v5.2.1. +- Update `google.golang.org/protobuf` from v1.32.0 to v1.33.0. +- Update `golang.org/x/oauth2` from v0.17.0 to v0.18.0. +- Update `google.golang.org/grpc` from v1.62.0 to v1.62.1. +- Update `github.com/jedib0t/go-pretty/v6` from v6.5.4 to v6.5.5. + +--- + +## v2.5.0 {date="2024-03-04"} + +`influxctl` 2.5.0 introduces the ability to set +[partition templates](/influxdb3/version/admin/custom-partitions/) during +database or table creation. It introduces the +[`table` subcommand](/influxdb3/version/reference/cli/influxctl/table/) +that lets users manually create tables. Additionally, `influxctl` now removes a +previously cached token if the response from InfluxDB is unauthorized. This +helps InfluxDB Clustered users who deploy new clusters using unexpired tokens +associated with another InfluxDB cluster. + +### New Features + +- Add partition templates to database and table creation. +- Remove token if unauthorized. + +### Bug Fixes + +- Update Arrow to allow non-TLS connections. +- Do not attempt to load cached tokens when an admin token file is provided. +- Print retention period up to days rather than very large hours. +- Fix indentation of help output. + +### Dependency Updates + +- Update `github.com/golangci/golangcilint` from v1.56.1 to v1.56.2. +- Update `golang.org/x/mod` from v0.15.0 to v0.16.0. +- Update `github.com/pkg/browser` from v0.0.0-20210911075715-681adbf594b8 to + v0.0.0-20240102092130-5ac0b6a4141c. +- Update `github.com/stretchr/testify` from 1.8.4 to 1.9.0. +- Update `go.uber.org/zap` from 1.26.0 to 1.27.0. +- Update `google.golang.org/grpc` from 1.61.0 to 1.61.1. +- Update `google.golang.org/grpc` from 1.61.1 to 1.62.0. + +--- + +## v2.4.4 {date="2024-02-16"} + +### Bug fixes + +- Introduced trace HTTP debug CLI option. +- Added custom gRPC error message handling to gRPC experience. + +### Dependency updates + +- Update to go1.22.0. +- Update `github.com/apache/arrow/go/v14` v14.0.2 to v15.0.0. +- Update `github.com/google/uuid` from 1.5.0 to 1.6.0. +- Update `github.com/jedib0t/go-pretty/v6` from 6.5.3 to 6.5.4. +- Update `golang.org/x/mod from` 0.14.0 to 0.15.0. +- Update `golang.org/x/oauth2` from 0.16.0 to 0.17.0. +- Update `google.golang.org/grpc` from 1.60.1 to 1.61.0. + +--- + +## v2.4.3 {date="2024-01-17"} + +### Bug fixes + +- Show empty value for database limits when not set, rather than zero. +- Use user configured port for write. +- Correct typos in query and write error messages. + +### Dependency updates + +- Update to go1.21.6. +- Update `github.com/apache/arrow/go/v14` from 14.0.1 to 14.0.2. +- Update `github.com/cloudflare/circl` from 1.3.6 to 1.3.7. +- Update `github.com/jedib0t/go-pretty/v6` from 6.4.9 to 6.5.3. +- Update `github.com/urfave/cli/v2` from 2.26.0 to 2.27.1. +- Update `golang.org/x/crypto` from 0.16.0 to 0.17.0. +- Update `golang.org/x/oauth2` from 0.15.0 to 0.16.0. +- Update `google.golang.org/grpc` from 1.60.0 to 1.60.1. +- Update `google.golang.org/protobuf` from 1.31.0 to 1.32.0. + +--- + +## v2.4.2 {date="2023-12-18"} + +### Bug fixes + +- Correctly set the version and build info for the version command. + +--- + +## v2.4.1 {date="2023-12-14"} + +### Bug fixes + +- Update `influxctl query` examples with SQL instead of InfluxQL. +- Update example connection profile configuration with query and write options. +- Use database and token CLI options if set. + +--- + +## v2.4.0 {date="2023-12-13"} + +This release includes the following notable changes: + +- InfluxDB Cloud Dedicated users now have the same `influxctl` login experience + as InfluxDB Clustered users. The Auth0 server uses device authorization by + displaying a code to validate when logging in. The browser still opens, + if possible, and pre-populates the code. The only difference is the need to + verify the code on one additional page. This was done to align the user + experience between both InfluxDB Cloud Dedicated and InfluxDB Clustered and + to allow Cloud Dedicated users without a local UI or browser to continue to + use `influxctl`. +- Introduce the `influxctl write` and `influxctl query` commands. + `influxctl query` queries an InfluxDB 3 instance using SQL. + `influxctl write` writes line protocol to a InfluxDB 3 instance. + +### Features + +- Introduce `influxctl query` command. +- Introduce `influxctl write` command. +- Use device auth for InfluxDB Cloud Dedicated. + +### Bug fixes + +- Avoid nil pointer for database information. +- Login and early return for TokenFile in InfluxDB Clustered. + +### Dependency updates + +- Update `github.com/go-git/go-git/v5` from 5.10.0 to 5.10.1. +- Update `github.com/go-git/go-git/v5` from 5.10.1 to 5.11.0. +- Update `github.com/golang-jwt/jwt/v5` from 5.1.0 to 5.2.0. +- Update `github.com/urfave/cli/v2` from 2.25.7 to 2.26.0. +- Update `golang.org/x/oauth2` from 0.14.0 to 0.15.0. + +--- + +## v2.3.1 {date="2023-11-15"} + +### Bug fixes + +- Include error message description in device authorization polling errors. +- Do not save tokens when loading from file. +- Update header comments in the example `config.toml`. + +### Dependency updates + +- Update `github.com/golang-jwt/jwt/v5` from 5.0.0 to 5.1.0. +- Update `golang.org/x/oauth2` from 0.13.0 to 0.14.0. + +--- + +## v2.3.0 {date="2023-11-06"} + +_Features updated in this release are meant for internal InfluxData use and do +not affect any public APIs._ + +### Dependency updates + +- Update `github.com/go-git/go-git/v5` from 5.9.0 to 5.10.0. +- Update `github.com/google/uuid` from 1.3.1 to 1.4.0. +- Update `github.com/jedib0t/go-pretty/v6` from 6.4.8 to 6.4.9. +- Update `golang.org/x/mod` from 0.13.0 to 0.14.0. + +--- + +## v2.2.0 {date="2023-10-27"} + +### Features + +- Allow token authentication for InfluxDB Clustered. + +--- + +## v2.1.0 {date="2023-10-26"} + +### Features + +- Add `--format` flag to [`influxctl token create`](/influxdb3/version/reference/cli/influxctl/token/create/) + to specify the command output format. + +### Bug fixes + +- Use correct account and cluster names when specified in command flags. +- Make `influxctl database list` return an empty array instead of _null_ when + there are no databases to list. + +### Dependency updates + +- Update to Go 1.21.3. +- Update `github.com/jedib0t/go-pretty/v6` from 6.4.7 to 6.4.8. +- Update `go.uber.org/zap` from 1.25.0 to 1.26.0. +- Update `golang.org/x/mod` from 0.12.0 to 0.13.0. +- Update `golang.org/x/net` from 0.15.0 to 0.17.0. +- Update `golang.org/x/oauth2` from 0.12.0 to 0.13.0. +- Update `google.golang.org/grpc` from 1.58.0 to 1.59.0. + +### Miscellaneous + +- Automate Homebrew tap releases for `influxctl`. + +--- + +## v2.0.4 {date="2023-09-14"} + +### Bug fixes + +- Validate Microsoft Entra ID (formerly Azure Active Directory) token and device URLs. +- Only validate Microsoft Entra ID configuration when getting a token. + +### Dependency updates + +- Update to Go 1.21. + +--- + +## v2.0.3 {date="2023-09-12"} + +### Bug fixes + +- Add pagination support to [`influxctl token list`](/influxdb3/version/reference/cli/influxctl/token/list/) + and [`influxctl user list`](/influxdb3/version/reference/cli/influxctl/user/list/). +- Send all logging output to stderr. +- Return error for commands that are not supported by InfluxDB Clustered. + +### Dependency updates + +- Update `github.com/google/uuid` from 1.3.0 to 1.3.1. +- Update `github.com/jedib0t/go-pretty/v6` from 6.4.6 to 6.4.7. +- Update `github.com/pelletier/go-toml/v2` from 2.0.9 to 2.1.0. +- Update `golang.org/x/oauth2` from 0.11.0 to 0.12.0. +- Update `google.golang.org/grpc` from 1.57.0 to 1.58.0. + +--- + +## v2.0.2 {date="2023-08-23"} + +### Bug fixes + +- Add cluster get args, clarify error message. +- [`influxctl database update`](/influxdb3/version/reference/cli/influxctl/database/update/) + should only accept retention policy updates as a flag. +- Update [`influxctl token create`](/influxdb3/version/reference/cli/influxctl/token/create/) + and [`influxctl token update`](/influxdb3/version/reference/cli/influxctl/token/update/) + help information with examples that use multiple permission flags. +- Update [`influxctl cluster get`](/influxdb3/version/reference/cli/influxctl/cluster/get/) + help text. +- Switch email param ordering. + +### Dependency updates + +- Update `golang.org/x/mod` from 0.8.0 to 0.12.0. + +### Miscellaneous + +- Clean up log formatting. +- Remove extra debug output of account ID. + +--- + +## v2.0.1 {date="2023-08-15"} + +### Bug fixes + +- Return an error when using unrecognized TOML configuration options. + +--- + +## v2.0.0 {date="2023-08-09"} + +`influxctl` 2.0.0 introduces support for both InfluxDB Cloud Dedicated and +InfluxDB Clustered. To simplify configuration profile management, all connection +configurations now managed in a single configuration file. If using `influxctl` +1.x, migrate your 1.x configuration profiles to the 2.0 format: + +### Migrate from influxctl 1.x to 2.0 + +`influxctl` 2.0+ supports multiple InfluxDB 3 products. +To simplify connection configuration management, all configurations are now managed +in a single file rather than separate files for each connection configuration. + +To migrate `influxctl` 1.x configuration files to the 2.x format, use the +following guidelines: + +1. Create a 2.0+ configuration file (`config.toml`) at the default location + for your operating system. + _See [Create a configuration file](/influxdb3/version/reference/cli/influxctl/#create-a-configuration-file)_. + +2. Copy the `account_id` and `cluster_id` credentials from your `influxctl` 1.x + configuration file and add them to a `[[profile]]` TOML table along with the + following fields: + + - **name**: Profile name + - **product**: InfluxDB product (`dedicated`) + + For example, the following 1.x configuration file: + + ```toml + account_id = "dff3ee52-b494-47c1-9e2c-ab59d90d94eb" + cluster_id = "5827cdeb-b868-4446-b40e-e08de116fddf" + ``` + + would become: + + ```toml + [[profile]] + name = "default" + product = "dedicated" + account_id = "dff3ee52-b494-47c1-9e2c-ab59d90d94eb" + cluster_id = "5827cdeb-b868-4446-b40e-e08de116fddf" + ``` + +### Features + +- Add support for both InfluxDB Cloud Dedicated and InfluxDB Clustered. +- Provide public distributions through + and the repository. +- The `influxctl` configuration file is now a single file that you can + optionally pass in via the CLI. +- Add additional options to [`influxctl database`](/influxdb3/version/reference/cli/influxctl/database/) + and [`influxctl token`](/influxdb3/version/reference/cli/influxctl/token/) + subcommands. +- Introduce [`influxctl cluster`](/influxdb3/version/reference/cli/influxctl/cluster/) + subcommands. +- Remove the `influxctl init` subcommand to avoid additional complexity of an + InfluxDB Cloud Dedicated configuration. +- Set maximum tables and columns when creating a database. +- Support passing a connection configuration file path as a CLI option. +- Delete multiple tokens or database in one command. +- Disable of TLS verification for self-signed certificates. +- Update a database and token values. +- Update account & cluster ID for configurations for InfluxDB Clustered. +- Add account and authz gRPC method support. +- Add account and authz protofiles. +- Add oauth2 authentication. +- Specify custom TLS certificates. +- Store configuration settings for multiple InfluxDB products in a single + configuration file. + +### Bug Fixes + +- Return error when too many arguments are provided to a command. +- Set token directory permissions to only the current user. +- Unmarshal `expires_in` for device OAuth2 token. +- Update authentication host for InfluxDB Cloud Dedicated. +- Verify account and cluster IDs. + +### Miscellaneous + +- Update configuration examples with InfluxDB Clustered configurations. +- Properly close gRPC connections. +- Update error message for missing connection profiles. + +### Dependency Updates + +- Update `github.com/pelletier/go-toml/v2` from 2.0.7 to 2.0.9. +- Update `github.com/stretchr/testify` from 1.8.2 to 1.8.4. +- Update `github.com/urfave/cli/v2` from 2.25.3 to 2.25.7. +- Update `go.uber.org/zap` from 1.24.0 to 1.25.0. +- Update `golang.org/x/oauth2` from 0.9.0 to 0.11.0. +- Update `google.golang.org/grpc` from 1.55.0 to 1.57.0. +- Update `google.golang.org/protobuf` from 1.30.0 to 1.31.0. + +--- + +## v1.1.0 {date="2023-05-19"} + +### Features + +- Add the [`influxctl database update`](/influxdb3/version/reference/cli/influxctl/database/update/) + subcommand to update retention periods. +- Add the [`influxctl token update`](/influxdb3/version/reference/cli/influxctl/database/update/) + subcommand to update token descriptions. +- Using the `influxctl init` command: + - Confirm before overwriting an existing profile. + - Remove the existing token if overwriting a profile. +- On error, use stderr and return non-zero return code. +- Increase command timeouts to 60 seconds. +- Support setting the Auth0 and gRPC destinations using environment variables + for staging and development environment use. + +### Bug fixes + +- Call `Makefile` instead of `goreleaser`. +- Remove token on init. + +### Dependency updates + +- Update `github.com/urfave/cli/v2` from 2.25.1 to 2.25.3. +- Update `golang.org/x/oauth2` from 0.7.0 to 0.8.0. +- Update `google.golang.org/grpc` from 1.54.0 to 1.55.0. + +--- + +## v1.0.0 {date="2023-04-26"} + +### Features + +- Output confirmation messages on delete. +- Use production Authentication service URLs. + +### Miscellaneous + +- Display `0s` retention policies as infinite. diff --git a/data/products.yml b/data/products.yml index ef87cb484..4e46dbd3b 100644 --- a/data/products.yml +++ b/data/products.yml @@ -48,7 +48,7 @@ influxdb3_cloud_dedicated: list_order: 3 latest: cloud-dedicated link: "https://www.influxdata.com/contact-sales-form/" - latest_cli: 2.9.9 + latest_cli: 2.10.0 placeholder_host: cluster-id.a.influxdb.io ai_sample_questions: - How do I migrate from InfluxDB v1 to InfluxDB Cloud Dedicated?