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 >}}
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
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.
- **At-Home**: For at-home hobbyist use with limited access to {{< product-name >}} capabilities.
- **Commercial**: Commercial license with full access to {{< product-name >}} capabilities.
#### License feature comparison
| Features | Trial | At-Home | Commercial |
| :------------- | :-----------------------: | :-----: | :-----------------------: |
| 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.
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.
Use either the `--license-email` option or set the
`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
`INFLUXDB3_ENTERPRISE_LICENSE_FILE` environment variable.
#### Example: Start the {{< product-name >}} server with your license email:
{{< code-tabs-wrapper >}}
{{% code-tabs %}}
[influxdb3 options](#)
@ -108,11 +121,10 @@ email address. The server auto-generates and stores your license.
<!-- pytest.mark.skip -->
```bash
influxdb3 serve \
--cluster-id cluster01 \
--node-id node01 \
--license-email example@email.com \
--license-file /path/to/license-file.jwt \
# ...
--cluster-id cluster01 \
--node-id node01 \
--license-email example@email.com \
# ...
```
<!------------------------- END INFLUXDB3 CLI OPTIONS ------------------------->
{{% /code-tab-content %}}
@ -121,12 +133,45 @@ influxdb3 serve \
<!-- pytest.mark.skip -->
```bash
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 serve \
--cluster-id cluster01 \
--node-id node01 \
# ...
--cluster-id cluster01 \
--node-id node01 \
# ...
```
<!------------------------- END ENVIRONMENT VARIABLES ------------------------->
{{% /code-tab-content %}}

View File

@ -25,6 +25,7 @@ environment variables.
```sh
influxdb3 serve \
--license-email example@email.com \
--object-store file \
--data-dir ~/.influxdb3 \
--node-id NODE_ID \
@ -39,6 +40,7 @@ influxdb3 serve \
<!--pytest.mark.skip-->
```sh
export INFLUXDB3_ENTERPRISE_LICENSE_EMAIL=example@email.com
export INFLUXDB3_OBJECT_STORE=file
export INFLUXDB3_DB_DIR=~/.influxdb3
export INFLUXDB3_WRITER_IDENTIFIER_PREFIX=my-host
@ -52,12 +54,13 @@ influxdb3 serve
## Server configuration options
- [General](#general)
- [object-store](#object-store)
- [data-dir](#data-dir)
- [node-id](#node-id)
- [cluster-id](#cluster-id)
- [mode](#mode)
- [data-dir](#data-dir)
- [license-email](#license-email)
- [license-file](#license-file)
- [mode](#mode)
- [node-id](#node-id)
- [object-store](#object-store)
- [query-file-limit](#query-file-limit)
- [AWS](#aws)
- [aws-access-key-id](#aws-access-key-id)
@ -145,30 +148,23 @@ influxdb3 serve
### General
- [object-store](#object-store)
- [bucket](#bucket)
- [data-dir](#data-dir)
- [node-id](#node-id)
- [cluster-id](#cluster-id)
- [mode](#mode)
- [data-dir](#data-dir)
- [license-email](#license-email)
- [license-file](#license-file)
- [mode](#mode)
- [node-id](#node-id)
- [object-store](#object-store)
- [query-file-limit](#query-file-limit)
#### object-store
#### cluster-id
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`)
Specifies the cluster identifier that prefixes the object store path for the Enterprise Catalog.
This value must be different than the [`--node-id`](#node-id) value.
| influxdb3 serve option | Environment variable |
| :--------------------- | :----------------------- |
| `--object-store` | `INFLUXDB3_OBJECT_STORE` |
| :--------------------- | :--------------------------------- |
| `--cluster-id` | `INFLUXDB3_ENTERPRISE_my-cluster-01` |
---
@ -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.
This should be unique for any hosts sharing the same object store
configuration--for example, the same bucket.
Specifies the email address to associate with your {{< product-name >}} license
and automatically responds to the interactive email prompt when the server starts.
This option is mutually exclusive with [license-file](#license-file).
| 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.
This value must be different than the [`--node-id`](#node-id) value.
Specifies the path to a license file for {{< product-name >}}. When provided, the license
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 |
| :--------------------- | :--------------------------------- |
| `--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
and automatically responds to the interactive email prompt when the server starts.
Specifies the node identifier used as a prefix in all object store file paths.
This should be unique for any hosts sharing the same object store
configuration--for example, the same bucket.
| 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` |
---