fix(ent3): License options: clarify license email and license file are mutally exclusive (Closes #6039):

- Add examples using license email or license file
- Add license file entry in config-options and note they're mutually exclusive.
pull/6041/head
Jason Stirnaman 2025-05-02 12:45:57 -05:00
parent 72143c1e5d
commit 43663d0836
2 changed files with 115 additions and 54 deletions

View File

@ -13,14 +13,25 @@ weight: 101
{{< product-name >}} licenses authorize the use of the {{< product-name >}} {{< product-name >}} licenses authorize the use of the {{< product-name >}}
software and apply to a single cluster. Licenses are primarily based on the software and apply to a single cluster. Licenses are primarily based on the
number of CPUs InfluxDB can use, but there are other limitations depending on number of CPUs InfluxDB can use, but there are other limitations depending on
the license type. The following {{< product-name >}} license types are available: the license type.
- [License feature comparison](#license-feature-comparison)
- [CPU limit](#cpu-limit)
- [CPU accounting](#cpu-accounting)
- [Activate a license](#activate-a-license)
- [Activate a Trial or At-Home license](#activate-a-trial-or-at-home-license)
- [Activate a Commercial license](#activate-a-commercial-license)
- [Renew a license](#renew-a-license)
- [Expiration behavior](#expiration-behavior)
## License feature comparison
The following {{< product-name >}} license types are available:
- **Trial**: 30-day trial license with full access to {{< product-name >}} capabilities. - **Trial**: 30-day trial license with full access to {{< product-name >}} capabilities.
- **At-Home**: For at-home hobbyist use with limited access to {{< product-name >}} capabilities. - **At-Home**: For at-home hobbyist use with limited access to {{< product-name >}} capabilities.
- **Commercial**: Commercial license with full access to {{< product-name >}} capabilities. - **Commercial**: Commercial license with full access to {{< product-name >}} capabilities.
#### License feature comparison
| Features | Trial | At-Home | Commercial | | Features | Trial | At-Home | Commercial |
| :------------- | :-----------------------: | :-----: | :-----------------------: | | :------------- | :-----------------------: | :-----: | :-----------------------: |
| CPU Core Limit | 256 | 2 | _Per contract_ | | CPU Core Limit | 256 | 2 | _Per contract_ |
@ -86,18 +97,20 @@ email address. The server auto-generates and stores your license.
InfluxData will provide you with a Commercial license file. InfluxData will provide you with a Commercial license file.
2. Provide the following when starting the {{< product-name >}} server: 2. Provide ONE of the following authentication methods when starting the {{< product-name >}} server:
- **License email**: The email address associated with your Commercial license. - **License email**: The email address associated with your Commercial license.
Use either the `--license-email` option or set the Use either the `--license-email` option or set the
`INFLUXDB3_ENTERPRISE_LICENSE_EMAIL` environment variable. `INFLUXDB3_ENTERPRISE_LICENSE_EMAIL` environment variable.
- **License file**: The file path of the provided Commercial license file. - **License file**: The file path of the Commercial license file you received in the previous step.
Use either the `--license-file` option or set the Use either the `--license-file` option or set the
`INFLUXDB3_ENTERPRISE_LICENSE_FILE` environment variable. `INFLUXDB3_ENTERPRISE_LICENSE_FILE` environment variable.
#### Example: Start the {{< product-name >}} server with your license email:
{{< code-tabs-wrapper >}} {{< code-tabs-wrapper >}}
{{% code-tabs %}} {{% code-tabs %}}
[influxdb3 options](#) [influxdb3 options](#)
@ -108,11 +121,10 @@ email address. The server auto-generates and stores your license.
<!-- pytest.mark.skip --> <!-- pytest.mark.skip -->
```bash ```bash
influxdb3 serve \ influxdb3 serve \
--cluster-id cluster01 \ --cluster-id cluster01 \
--node-id node01 \ --node-id node01 \
--license-email example@email.com \ --license-email example@email.com \
--license-file /path/to/license-file.jwt \ # ...
# ...
``` ```
<!------------------------- END INFLUXDB3 CLI OPTIONS -------------------------> <!------------------------- END INFLUXDB3 CLI OPTIONS ------------------------->
{{% /code-tab-content %}} {{% /code-tab-content %}}
@ -121,12 +133,45 @@ influxdb3 serve \
<!-- pytest.mark.skip --> <!-- pytest.mark.skip -->
```bash ```bash
INFLUXDB3_ENTERPRISE_LICENSE_EMAIL=example@email.com INFLUXDB3_ENTERPRISE_LICENSE_EMAIL=example@email.com
influxdb3 serve \
--cluster-id cluster01 \
--node-id node01 \
# ...
```
<!------------------------- END ENVIRONMENT VARIABLES ------------------------->
{{% /code-tab-content %}}
{{< /code-tabs-wrapper >}}
#### Example: Start the {{< product-name >}} server with your license file:
{{< code-tabs-wrapper >}}
{{% code-tabs %}}
[influxdb3 options](#)
[Environment variables](#)
{{% /code-tabs %}}
{{% code-tab-content %}}
<!------------------------ BEGIN INFLUXDB3 CLI OPTIONS ------------------------>
<!-- pytest.mark.skip -->
```bash
influxdb3 serve \
--cluster-id cluster01 \
--node-id node01 \
--license-file /path/to/license-file.jwt \
# ...
```
<!------------------------- END INFLUXDB3 CLI OPTIONS ------------------------->
{{% /code-tab-content %}}
{{% code-tab-content %}}
<!------------------------ BEGIN ENVIRONMENT VARIABLES ------------------------>
<!-- pytest.mark.skip -->
```bash
INFLUXDB3_ENTERPRISE_LICENSE_FILE=/path/to/license-file.jwt INFLUXDB3_ENTERPRISE_LICENSE_FILE=/path/to/license-file.jwt
influxdb3 serve \ influxdb3 serve \
--cluster-id cluster01 \ --cluster-id cluster01 \
--node-id node01 \ --node-id node01 \
# ... # ...
``` ```
<!------------------------- END ENVIRONMENT VARIABLES -------------------------> <!------------------------- END ENVIRONMENT VARIABLES ------------------------->
{{% /code-tab-content %}} {{% /code-tab-content %}}

View File

@ -25,6 +25,7 @@ environment variables.
```sh ```sh
influxdb3 serve \ influxdb3 serve \
--license-email example@email.com \
--object-store file \ --object-store file \
--data-dir ~/.influxdb3 \ --data-dir ~/.influxdb3 \
--node-id NODE_ID \ --node-id NODE_ID \
@ -39,6 +40,7 @@ influxdb3 serve \
<!--pytest.mark.skip--> <!--pytest.mark.skip-->
```sh ```sh
export INFLUXDB3_ENTERPRISE_LICENSE_EMAIL=example@email.com
export INFLUXDB3_OBJECT_STORE=file export INFLUXDB3_OBJECT_STORE=file
export INFLUXDB3_DB_DIR=~/.influxdb3 export INFLUXDB3_DB_DIR=~/.influxdb3
export INFLUXDB3_WRITER_IDENTIFIER_PREFIX=my-host export INFLUXDB3_WRITER_IDENTIFIER_PREFIX=my-host
@ -52,12 +54,13 @@ influxdb3 serve
## Server configuration options ## Server configuration options
- [General](#general) - [General](#general)
- [object-store](#object-store)
- [data-dir](#data-dir)
- [node-id](#node-id)
- [cluster-id](#cluster-id) - [cluster-id](#cluster-id)
- [mode](#mode) - [data-dir](#data-dir)
- [license-email](#license-email) - [license-email](#license-email)
- [license-file](#license-file)
- [mode](#mode)
- [node-id](#node-id)
- [object-store](#object-store)
- [query-file-limit](#query-file-limit) - [query-file-limit](#query-file-limit)
- [AWS](#aws) - [AWS](#aws)
- [aws-access-key-id](#aws-access-key-id) - [aws-access-key-id](#aws-access-key-id)
@ -145,30 +148,23 @@ influxdb3 serve
### General ### General
- [object-store](#object-store)
- [bucket](#bucket)
- [data-dir](#data-dir)
- [node-id](#node-id)
- [cluster-id](#cluster-id) - [cluster-id](#cluster-id)
- [mode](#mode) - [data-dir](#data-dir)
- [license-email](#license-email) - [license-email](#license-email)
- [license-file](#license-file)
- [mode](#mode)
- [node-id](#node-id)
- [object-store](#object-store)
- [query-file-limit](#query-file-limit) - [query-file-limit](#query-file-limit)
#### object-store #### cluster-id
Specifies which object storage to use to store Parquet files. Specifies the cluster identifier that prefixes the object store path for the Enterprise Catalog.
This option supports the following values: This value must be different than the [`--node-id`](#node-id) value.
- `memory` _(default)_: Effectively no object persistence | influxdb3 serve option | Environment variable |
- `memory-throttled`: Like `memory` but with latency and throughput that somewhat resembles a cloud object store | :--------------------- | :--------------------------------- |
- `file`: Stores objects in the local filesystem (must also set `--data-dir`) | `--cluster-id` | `INFLUXDB3_ENTERPRISE_my-cluster-01` |
- `s3`: Amazon S3 (must also set `--bucket`, `--aws-access-key-id`, `--aws-secret-access-key`, and possibly `--aws-default-region`)
- `google`: Google Cloud Storage (must also set `--bucket` and `--google-service-account`)
- `azure`: Microsoft Azure blob storage (must also set `--bucket`, `--azure-storage-account`, and `--azure-storage-access-key`)
| influxdb3 serve option | Environment variable |
| :--------------------- | :----------------------- |
| `--object-store` | `INFLUXDB3_OBJECT_STORE` |
--- ---
@ -182,26 +178,27 @@ Defines the location {{< product-name >}} uses to store files locally.
--- ---
#### node-id #### license-email
Specifies the node identifier used as a prefix in all object store file paths. Specifies the email address to associate with your {{< product-name >}} license
This should be unique for any hosts sharing the same object store and automatically responds to the interactive email prompt when the server starts.
configuration--for example, the same bucket. This option is mutually exclusive with [license-file](#license-file).
| influxdb3 serve option | Environment variable | | influxdb3 serve option | Environment variable |
| :--------------------- | :--------------------------------- | | :--------------------- | :----------------------------------- |
| `--node-id` | `INFLUXDB3_NODE_IDENTIFIER_PREFIX` | | `--license-email` | `INFLUXDB3_ENTERPRISE_LICENSE_EMAIL` |
--- ---
#### cluster-id #### license-file
Specifies the cluster identifier that prefixes the object store path for the Enterprise Catalog. Specifies the path to a license file for {{< product-name >}}. When provided, the license
This value must be different than the [`--node-id`](#node-id) value. file's contents are used instead of requesting a new license.
This option is mutually exclusive with [license-email](#license-email).
| influxdb3 serve option | Environment variable | | influxdb3 serve option | Environment variable |
| :--------------------- | :--------------------------------- | | :--------------------- | :----------------------------------- |
| `--cluster-id` | `INFLUXDB3_ENTERPRISE_my-cluster-01` | | `--license-file` | `INFLUXDB3_ENTERPRISE_LICENSE_FILE` |
--- ---
@ -227,14 +224,33 @@ You can specify multiple modes using a comma-delimited list (for example, `inges
--- ---
#### license-email #### node-id
Specifies the email address to associate with your {{< product-name >}} license Specifies the node identifier used as a prefix in all object store file paths.
and automatically responds to the interactive email prompt when the server starts. This should be unique for any hosts sharing the same object store
configuration--for example, the same bucket.
| influxdb3 serve option | Environment variable | | influxdb3 serve option | Environment variable |
| :--------------------- | :----------------------------------- | | :--------------------- | :--------------------------------- |
| `--license-email` | `INFLUXDB3_ENTERPRISE_LICENSE_EMAIL` | | `--node-id` | `INFLUXDB3_NODE_IDENTIFIER_PREFIX` |
---
#### object-store
Specifies which object storage to use to store Parquet files.
This option supports the following values:
- `memory` _(default)_: Effectively no object persistence
- `memory-throttled`: Like `memory` but with latency and throughput that somewhat resembles a cloud object store
- `file`: Stores objects in the local filesystem (must also set `--data-dir`)
- `s3`: Amazon S3 (must also set `--bucket`, `--aws-access-key-id`, `--aws-secret-access-key`, and possibly `--aws-default-region`)
- `google`: Google Cloud Storage (must also set `--bucket` and `--google-service-account`)
- `azure`: Microsoft Azure blob storage (must also set `--bucket`, `--azure-storage-account`, and `--azure-storage-access-key`)
| influxdb3 serve option | Environment variable |
| :--------------------- | :----------------------- |
| `--object-store` | `INFLUXDB3_OBJECT_STORE` |
--- ---