docs-v2/content/shared/influxdb3-cli/create/token/admin.md

129 lines
5.4 KiB
Markdown

Create an operator token or named admin token.
## Usage
```
influxdb3 create token --admin [OPTIONS]
```
## Options {.no-shorthand}
| Option | Description |
| :-------------- | :------------------------------------------------------------------------------------------------------------ |
| `--regenerate` | Regenerates the operator token. Requires `--token` and the current operator token |
| `--name` | Name of the token |
| `--expiry` | Expires in `duration`--for example, 10d for 10 days 1y for 1 year |
| `--host` | The host URL of the running InfluxDB 3 server [env: `INFLUXDB3_HOST_URL=`] [default: `http://127.0.0.1:8181`] |
| `--token` | An existing admin token for the InfluxDB 3 server |
| `--tls-ca` | An optional arg to use a custom ca for useful for testing with self signed certs |
| `--format` | Output format for token [possible values: `json`, `text`] |
| `--offline` | Generate token without connecting to server (for automation) |
| `--output-file` | File path to save the token (required with `--offline`) |
| `-h`, `--help` | Print help information |
| `--help-all` | Print more detailed help information |
## Examples
- [Create an operator token](#create-an-operator-token)
- [Use the operator token to create a named admin token](#use-the-operator-token-to-create-a-named-admin-token)
- [Use the token to create a database](#use-the-token-to-create-a-database)
- [Generate an offline admin token](#generate-an-offline-admin-token)
### Create an operator token
The operator token is a special token that has full administrative privileges on the InfluxDB server and doesn't expire.
The first admin token you create becomes the operator token for the instance.
You can create an operator token using the `--admin` flag without any additional options.
<!--pytest.mark.skip-->
```bash
influxdb3 create token --admin
```
The output is the raw token string you can use to authenticate future CLI commands and API requests.
For CLI commands, use the `--token` option or the `INFLUXDB3_AUTH_TOKEN` environment variable to pass the token string.
### Use the operator token to create a named admin token
<!--pytest.mark.skip-->
```bash { placeholders="OPERATOR_TOKEN|TOKEN_NAME|EXPIRY" }
influxdb3 create token \
--admin \
--token OPERATOR_TOKEN \
--name TOKEN_NAME \
--expiry DURATION
```
Replace the following:
- {{% code-placeholder-key %}}`OPERATOR_TOKEN`{{% /code-placeholder-key %}}: Your operator token for the server
- {{% code-placeholder-key %}}`TOKEN_NAME`{{% /code-placeholder-key %}}: Name for your new admin token
- {{% code-placeholder-key %}}`DURATION`{{% /code-placeholder-key %}}: Duration for the token to remain valid, in [humantime](https://docs.rs/humantime/latest/humantime/fn.parse_duration.html) format (for example, `10d` for 10 days or `1y` for 1 year).
### Use the token to create a database
<!--pytest.mark.skip-->
```bash { placeholders="YOUR_ADMIN_TOKEN|DATABASE_NAME" }
influxdb3 create database \
--token ADMIN_TOKEN \
DATABASE_NAME
```
Replace the following:
- {{% code-placeholder-key %}}`ADMIN_TOKEN`{{% /code-placeholder-key %}}: Your InfluxDB admin token
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: Name for your new database
> [!Note]
> #### Use CLI environment variables
> Set the token as an environment variable to simplify repeated CLI commands:
>
> ```bash
> export INFLUXDB3_AUTH_TOKEN=ADMIN_TOKEN
> ```
### Generate an offline admin token
Generate an offline admin token file to use if no tokens exist when the server
starts. Once started, you can interact with the server using the provided token.
Offline admin tokens are designed to help with automated deployments.
Include the following options:
- `--offline` _({{% req %}})_
- `--output-file` _({{% req %}})_
- `--name` _(default is `_admin`)_
- `--expiry` _(Optional)_
<!-- pytest.mark.skip -->
```bash { placeholders="TOKEN_NAME|DURATION|path/to/admin-token.json" }
influxdb3 create token --admin \
--name TOKEN_NAME \
--expiry DURATION \
--offline \
--output-file path/to/admin-token.json
```
Replace the following:
- {{% code-placeholder-key %}}`TOKEN_NAME`{{% /code-placeholder-key %}}: Name for your offline admin token
- {{% code-placeholder-key %}}`DURATION`{{% /code-placeholder-key %}}: Duration for the token to remain valid, in [humantime](https://docs.rs/humantime/latest/humantime/fn.parse_duration.html) format (for example, `10d` for 10 days or `1y` for 1 year).
- {{% code-placeholder-key %}}`path/to/admin-token.json`{{% /code-placeholder-key %}}: File path to use for the generated token file
{{< expand-wrapper >}}
{{% expand "View example offline admin token file" %}}
```json
{
"token": "apiv3_0XXXX-xxxXxXxxxXX_OxxxX...",
"name": "example-admin-token",
"expiry_millis": 1756400061529
}
```
{{% /expand %}}
{{< /expand-wrapper >}}