Merge origin/master into jts-create-docs
Resolved conflicts by keeping enhancements: - stdin support for draft content - link extraction and following (local files + external URLs) - alphabetical product sorting with detected products first - --from-draft and --follow-external flagsjts-multifile-plugins-guide
commit
61ae161501
|
|
@ -4,11 +4,13 @@ import remarkPresetLintMarkdownStyleGuide from 'remark-preset-lint-markdown-styl
|
||||||
import remarkFrontmatter from 'remark-frontmatter';
|
import remarkFrontmatter from 'remark-frontmatter';
|
||||||
import remarkFrontmatterSchema from 'remark-lint-frontmatter-schema';
|
import remarkFrontmatterSchema from 'remark-lint-frontmatter-schema';
|
||||||
import remarkNoShellDollars from 'remark-lint-no-shell-dollars';
|
import remarkNoShellDollars from 'remark-lint-no-shell-dollars';
|
||||||
|
import remarkLintNoUndefinedReferences from 'remark-lint-no-undefined-references';
|
||||||
import remarkToc from 'remark-toc';
|
import remarkToc from 'remark-toc';
|
||||||
|
|
||||||
const remarkConfig = {
|
const remarkConfig = {
|
||||||
settings: {
|
settings: {
|
||||||
bullet: '-',
|
bullet: '-',
|
||||||
|
},
|
||||||
plugins: [
|
plugins: [
|
||||||
remarkPresetLintConsistent,
|
remarkPresetLintConsistent,
|
||||||
remarkPresetLintRecommended,
|
remarkPresetLintRecommended,
|
||||||
|
|
@ -16,10 +18,17 @@ const remarkConfig = {
|
||||||
remarkFrontmatter,
|
remarkFrontmatter,
|
||||||
remarkFrontmatterSchema,
|
remarkFrontmatterSchema,
|
||||||
remarkNoShellDollars,
|
remarkNoShellDollars,
|
||||||
|
// Override no-undefined-references to allow GitHub Alerts syntax
|
||||||
|
// This prevents lint warnings for [!Note], [!Tip], etc. in blockquotes
|
||||||
|
[
|
||||||
|
remarkLintNoUndefinedReferences,
|
||||||
|
{
|
||||||
|
allow: ['!Note', '!Tip', '!Important', '!Warning', '!Caution'],
|
||||||
|
},
|
||||||
|
],
|
||||||
// Generate a table of contents in `## Contents`
|
// Generate a table of contents in `## Contents`
|
||||||
[remarkToc, { heading: '' }],
|
[remarkToc, { heading: '' }],
|
||||||
],
|
],
|
||||||
},
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export default remarkConfig;
|
export default remarkConfig;
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@
|
||||||
"remark-preset-lint-recommended": "7.0.0",
|
"remark-preset-lint-recommended": "7.0.0",
|
||||||
"remark-frontmatter": "5.0.0",
|
"remark-frontmatter": "5.0.0",
|
||||||
"remark-lint-frontmatter-schema": "3.15.4",
|
"remark-lint-frontmatter-schema": "3.15.4",
|
||||||
"remark-lint-no-shell-dollars": "4.0.0"
|
"remark-lint-no-shell-dollars": "4.0.0",
|
||||||
|
"remark-lint-no-undefined-references": "5.0.2"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -22,14 +22,14 @@ provides an alternative method for deploying your InfluxDB cluster using
|
||||||
resource. When using Helm, apply configuration options in a
|
resource. When using Helm, apply configuration options in a
|
||||||
a `values.yaml` on your local machine.
|
a `values.yaml` on your local machine.
|
||||||
|
|
||||||
InfluxData provides the following items:
|
InfluxData provides the following items:
|
||||||
|
|
||||||
- **`influxdb-docker-config.json`**: an authenticated Docker configuration file.
|
- **`influxdb-docker-config.json`**: an authenticated Docker configuration file.
|
||||||
The InfluxDB Clustered software is in a secure container registry.
|
The InfluxDB Clustered software is in a secure container registry.
|
||||||
This file grants access to the collection of container images required to
|
This file grants access to the collection of container images required to
|
||||||
install InfluxDB Clustered.
|
install InfluxDB Clustered.
|
||||||
|
|
||||||
---
|
***
|
||||||
|
|
||||||
## Configuration data
|
## Configuration data
|
||||||
|
|
||||||
|
|
@ -40,21 +40,22 @@ available:
|
||||||
API endpoints
|
API endpoints
|
||||||
- **PostgreSQL-style data source name (DSN)**: used to access your
|
- **PostgreSQL-style data source name (DSN)**: used to access your
|
||||||
PostgreSQL-compatible database that stores the InfluxDB Catalog.
|
PostgreSQL-compatible database that stores the InfluxDB Catalog.
|
||||||
- **Object store credentials** _(AWS S3 or S3-compatible)_
|
- **Object store credentials** *(AWS S3 or S3-compatible)*
|
||||||
- Endpoint URL
|
- Endpoint URL
|
||||||
- Access key
|
- Access key
|
||||||
- Bucket name
|
- Bucket name
|
||||||
- Region (required for S3, may not be required for other object stores)
|
- Region (required for S3, may not be required for other object stores)
|
||||||
- **Local storage information** _(for ingester pods)_
|
- **Local storage information** *(for ingester pods)*
|
||||||
- Storage class
|
- Storage class
|
||||||
- Storage size
|
- Storage size
|
||||||
|
|
||||||
InfluxDB is deployed to a Kubernetes namespace which, throughout the following
|
InfluxDB is deployed to a Kubernetes namespace which, throughout the following
|
||||||
installation procedure, is referred to as the _target_ namespace.
|
installation procedure, is referred to as the *target* namespace.
|
||||||
For simplicity, we assume this namespace is `influxdb`, however
|
For simplicity, we assume this namespace is `influxdb`, however
|
||||||
you may use any name you like.
|
you may use any name you like.
|
||||||
|
|
||||||
> [!Note]
|
> \[!Note]
|
||||||
|
>
|
||||||
> #### Set namespaceOverride if using a namespace other than influxdb
|
> #### Set namespaceOverride if using a namespace other than influxdb
|
||||||
>
|
>
|
||||||
> If you use a namespace name other than `influxdb`, update the `namespaceOverride`
|
> If you use a namespace name other than `influxdb`, update the `namespaceOverride`
|
||||||
|
|
@ -85,7 +86,7 @@ which simplifies the installation and management of the InfluxDB Clustered packa
|
||||||
It manages the application of the jsonnet templates used to install, manage, and
|
It manages the application of the jsonnet templates used to install, manage, and
|
||||||
update an InfluxDB cluster.
|
update an InfluxDB cluster.
|
||||||
|
|
||||||
> [!Note]
|
> \[!Note]
|
||||||
> If you already installed the `kubecfg kubit` operator separately when
|
> If you already installed the `kubecfg kubit` operator separately when
|
||||||
> [setting up prerequisites](/influxdb3/clustered/install/set-up-cluster/prerequisites/#install-the-kubecfg-kubit-operator)
|
> [setting up prerequisites](/influxdb3/clustered/install/set-up-cluster/prerequisites/#install-the-kubecfg-kubit-operator)
|
||||||
> for your cluster, in your `values.yaml`, set `skipOperator` to `true`.
|
> for your cluster, in your `values.yaml`, set `skipOperator` to `true`.
|
||||||
|
|
@ -140,7 +141,7 @@ to create a container registry secret file.
|
||||||
2. Use the following command to create a container registry secret file and
|
2. Use the following command to create a container registry secret file and
|
||||||
retrieve the necessary secrets:
|
retrieve the necessary secrets:
|
||||||
|
|
||||||
{{% code-placeholders "PACKAGE_VERSION" %}}
|
{{% code-placeholders "PACKAGE\_VERSION" %}}
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
mkdir /tmp/influxdbsecret
|
mkdir /tmp/influxdbsecret
|
||||||
|
|
@ -152,12 +153,12 @@ DOCKER_CONFIG=/tmp/influxdbsecret \
|
||||||
|
|
||||||
{{% /code-placeholders %}}
|
{{% /code-placeholders %}}
|
||||||
|
|
||||||
---
|
***
|
||||||
|
|
||||||
Replace {{% code-placeholder-key %}}`PACKAGE_VERSION`{{% /code-placeholder-key %}}
|
Replace {{% code-placeholder-key %}}`PACKAGE_VERSION`{{% /code-placeholder-key %}}
|
||||||
with your InfluxDB Clustered package version.
|
with your InfluxDB Clustered package version.
|
||||||
|
|
||||||
---
|
***
|
||||||
|
|
||||||
If your Docker configuration is valid and you’re able to connect to the container
|
If your Docker configuration is valid and you’re able to connect to the container
|
||||||
registry, the command succeeds and the output is the JSON manifest for the Docker
|
registry, the command succeeds and the output is the JSON manifest for the Docker
|
||||||
|
|
@ -206,6 +207,7 @@ Error: fetching manifest us-docker.pkg.dev/influxdb2-artifacts/clustered/influxd
|
||||||
{{% /tabs %}}
|
{{% /tabs %}}
|
||||||
|
|
||||||
{{% tab-content %}}
|
{{% tab-content %}}
|
||||||
|
|
||||||
<!--------------------------- BEGIN Public Registry --------------------------->
|
<!--------------------------- BEGIN Public Registry --------------------------->
|
||||||
|
|
||||||
#### Public registry
|
#### Public registry
|
||||||
|
|
@ -229,8 +231,10 @@ If you change the name of this secret, you must also change the value of the
|
||||||
`imagePullSecrets.name` field in your `values.yaml`.
|
`imagePullSecrets.name` field in your `values.yaml`.
|
||||||
|
|
||||||
<!---------------------------- END Public Registry ---------------------------->
|
<!---------------------------- END Public Registry ---------------------------->
|
||||||
|
|
||||||
{{% /tab-content %}}
|
{{% /tab-content %}}
|
||||||
{{% tab-content %}}
|
{{% tab-content %}}
|
||||||
|
|
||||||
<!--------------------------- BEGIN Private Registry -------------------------->
|
<!--------------------------- BEGIN Private Registry -------------------------->
|
||||||
|
|
||||||
#### Private registry (air-gapped)
|
#### Private registry (air-gapped)
|
||||||
|
|
@ -284,9 +288,8 @@ In addition to the InfluxDB images, copy the kubit operator images:
|
||||||
```bash
|
```bash
|
||||||
# Create a list of kubit-related images
|
# Create a list of kubit-related images
|
||||||
cat > /tmp/kubit-images.txt << EOF
|
cat > /tmp/kubit-images.txt << EOF
|
||||||
ghcr.io/kubecfg/kubit:v0.0.20
|
ghcr.io/kubecfg/kubit:v0.0.22
|
||||||
ghcr.io/kubecfg/kubecfg/kubecfg:latest
|
ghcr.io/kubecfg/kubecfg/kubecfg:latest
|
||||||
bitnami/kubectl:1.27.5
|
|
||||||
registry.k8s.io/kubectl:v1.28.0
|
registry.k8s.io/kubectl:v1.28.0
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
|
@ -298,7 +301,8 @@ cat /tmp/kubit-images.txt | xargs -I% crane cp % YOUR_PRIVATE_REGISTRY/%
|
||||||
|
|
||||||
Configure your `values.yaml` to use your private registry:
|
Configure your `values.yaml` to use your private registry:
|
||||||
|
|
||||||
{{% code-placeholders "REGISTRY_HOSTNAME" %}}
|
{{% code-placeholders "REGISTRY\_HOSTNAME" %}}
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# Configure registry override for all images
|
# Configure registry override for all images
|
||||||
images:
|
images:
|
||||||
|
|
@ -307,8 +311,8 @@ images:
|
||||||
# Configure kubit operator images
|
# Configure kubit operator images
|
||||||
kubit:
|
kubit:
|
||||||
controller:
|
controller:
|
||||||
image: REGISTRY_HOSTNAME/ghcr.io/kubecfg/kubit:v0.0.20
|
image: REGISTRY_HOSTNAME/ghcr.io/kubecfg/kubit:v0.0.22
|
||||||
apply_step_image: REGISTRY_HOSTNAME/bitnami/kubectl:1.27.5
|
apply_step_image: REGISTRY_HOSTNAME/registry.k8s.io/kubectl:v1.28.0
|
||||||
render_step_image: REGISTRY_HOSTNAME/registry.k8s.io/kubectl:v1.28.0
|
render_step_image: REGISTRY_HOSTNAME/registry.k8s.io/kubectl:v1.28.0
|
||||||
kubecfg_image: REGISTRY_HOSTNAME/ghcr.io/kubecfg/kubecfg/kubecfg:latest
|
kubecfg_image: REGISTRY_HOSTNAME/ghcr.io/kubecfg/kubecfg/kubecfg:latest
|
||||||
|
|
||||||
|
|
@ -316,6 +320,7 @@ kubit:
|
||||||
imagePullSecrets:
|
imagePullSecrets:
|
||||||
- name: your-registry-pull-secret
|
- name: your-registry-pull-secret
|
||||||
```
|
```
|
||||||
|
|
||||||
{{% /code-placeholders %}}
|
{{% /code-placeholders %}}
|
||||||
|
|
||||||
Replace {{% code-placeholder-key %}}`REGISTRY_HOSTNAME`{{% /code-placeholder-key %}} with your private registry hostname.
|
Replace {{% code-placeholder-key %}}`REGISTRY_HOSTNAME`{{% /code-placeholder-key %}} with your private registry hostname.
|
||||||
|
|
@ -345,11 +350,11 @@ To configure ingress, provide values for the following fields in your
|
||||||
Provide the hostnames that Kubernetes should use to expose the InfluxDB API
|
Provide the hostnames that Kubernetes should use to expose the InfluxDB API
|
||||||
endpoints--for example: `{{< influxdb/host >}}`.
|
endpoints--for example: `{{< influxdb/host >}}`.
|
||||||
|
|
||||||
_You can provide multiple hostnames. The ingress layer accepts incoming
|
*You can provide multiple hostnames. The ingress layer accepts incoming
|
||||||
requests for all listed hostnames. This can be useful if you want to have
|
requests for all listed hostnames. This can be useful if you want to have
|
||||||
distinct paths for your internal and external traffic._
|
distinct paths for your internal and external traffic.*
|
||||||
|
|
||||||
> [!Note]
|
> \[!Note]
|
||||||
> You are responsible for configuring and managing DNS. Options include:
|
> You are responsible for configuring and managing DNS. Options include:
|
||||||
>
|
>
|
||||||
> - Manually managing DNS records
|
> - Manually managing DNS records
|
||||||
|
|
@ -361,16 +366,16 @@ To configure ingress, provide values for the following fields in your
|
||||||
(Optional): Provide the name of the secret that contains your TLS certificate
|
(Optional): Provide the name of the secret that contains your TLS certificate
|
||||||
and key. The examples in this guide use the name `ingress-tls`.
|
and key. The examples in this guide use the name `ingress-tls`.
|
||||||
|
|
||||||
_The `tlsSecretName` field is optional. You may want to use it if you already
|
*The `tlsSecretName` field is optional. You may want to use it if you already
|
||||||
have a TLS certificate for your DNS name._
|
have a TLS certificate for your DNS name.*
|
||||||
|
|
||||||
> [!Note]
|
> \[!Note]
|
||||||
> Writing to and querying data from InfluxDB does not require TLS.
|
> Writing to and querying data from InfluxDB does not require TLS.
|
||||||
> For simplicity, you can wait to enable TLS before moving into production.
|
> For simplicity, you can wait to enable TLS before moving into production.
|
||||||
> For more information, see Phase 4 of the InfluxDB Clustered installation
|
> For more information, see Phase 4 of the InfluxDB Clustered installation
|
||||||
> process, [Secure your cluster](/influxdb3/clustered/install/secure-cluster/).
|
> process, [Secure your cluster](/influxdb3/clustered/install/secure-cluster/).
|
||||||
|
|
||||||
{{% code-callout "ingress-tls|cluster-host\.com" "green" %}}
|
{{% code-callout "ingress-tls|cluster-host.com" "green" %}}
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
ingress:
|
ingress:
|
||||||
|
|
@ -405,14 +410,14 @@ following fields in your `values.yaml`:
|
||||||
- `bucket`: Object storage bucket name
|
- `bucket`: Object storage bucket name
|
||||||
- `s3`:
|
- `s3`:
|
||||||
- `endpoint`: Object storage endpoint URL
|
- `endpoint`: Object storage endpoint URL
|
||||||
- `allowHttp`: _Set to `true` to allow unencrypted HTTP connections_
|
- `allowHttp`: *Set to `true` to allow unencrypted HTTP connections*
|
||||||
- `accessKey.value`: Object storage access key
|
- `accessKey.value`: Object storage access key
|
||||||
_(can use a `value` literal or `valueFrom` to retrieve the value from a secret)_
|
*(can use a `value` literal or `valueFrom` to retrieve the value from a secret)*
|
||||||
- `secretKey.value`: Object storage secret key
|
- `secretKey.value`: Object storage secret key
|
||||||
_(can use a `value` literal or `valueFrom` to retrieve the value from a secret)_
|
*(can use a `value` literal or `valueFrom` to retrieve the value from a secret)*
|
||||||
- `region`: Object storage region
|
- `region`: Object storage region
|
||||||
|
|
||||||
{{% code-placeholders "S3_(URL|ACCESS_KEY|SECRET_KEY|BUCKET_NAME|REGION)" %}}
|
{{% code-placeholders "S3\_(URL|ACCESS\_KEY|SECRET\_KEY|BUCKET\_NAME|REGION)" %}}
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
objectStore:
|
objectStore:
|
||||||
|
|
@ -442,7 +447,7 @@ objectStore:
|
||||||
|
|
||||||
{{% /code-placeholders %}}
|
{{% /code-placeholders %}}
|
||||||
|
|
||||||
---
|
***
|
||||||
|
|
||||||
Replace the following:
|
Replace the following:
|
||||||
|
|
||||||
|
|
@ -452,7 +457,7 @@ Replace the following:
|
||||||
- {{% code-placeholder-key %}}`S3_SECRET_KEY`{{% /code-placeholder-key %}}: Object storage secret key
|
- {{% code-placeholder-key %}}`S3_SECRET_KEY`{{% /code-placeholder-key %}}: Object storage secret key
|
||||||
- {{% code-placeholder-key %}}`S3_REGION`{{% /code-placeholder-key %}}: Object storage region
|
- {{% code-placeholder-key %}}`S3_REGION`{{% /code-placeholder-key %}}: Object storage region
|
||||||
|
|
||||||
---
|
***
|
||||||
|
|
||||||
<!----------------------------------- END S3 ---------------------------------->
|
<!----------------------------------- END S3 ---------------------------------->
|
||||||
|
|
||||||
|
|
@ -468,11 +473,11 @@ following fields in your `values.yaml`:
|
||||||
- `bucket`: Azure Blob Storage bucket name
|
- `bucket`: Azure Blob Storage bucket name
|
||||||
- `azure`:
|
- `azure`:
|
||||||
- `accessKey.value`: Azure Blob Storage access key
|
- `accessKey.value`: Azure Blob Storage access key
|
||||||
_(can use a `value` literal or `valueFrom` to retrieve the value from a secret)_
|
*(can use a `value` literal or `valueFrom` to retrieve the value from a secret)*
|
||||||
- `account.value`: Azure Blob Storage account ID
|
- `account.value`: Azure Blob Storage account ID
|
||||||
_(can use a `value` literal or `valueFrom` to retrieve the value from a secret)_
|
*(can use a `value` literal or `valueFrom` to retrieve the value from a secret)*
|
||||||
|
|
||||||
{{% code-placeholders "AZURE_(BUCKET_NAME|ACCESS_KEY|STORAGE_ACCOUNT)" %}}
|
{{% code-placeholders "AZURE\_(BUCKET\_NAME|ACCESS\_KEY|STORAGE\_ACCOUNT)" %}}
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
objectStore:
|
objectStore:
|
||||||
|
|
@ -493,7 +498,7 @@ objectStore:
|
||||||
|
|
||||||
{{% /code-placeholders %}}
|
{{% /code-placeholders %}}
|
||||||
|
|
||||||
---
|
***
|
||||||
|
|
||||||
Replace the following:
|
Replace the following:
|
||||||
|
|
||||||
|
|
@ -501,7 +506,7 @@ Replace the following:
|
||||||
- {{% code-placeholder-key %}}`AZURE_ACCESS_KEY`{{% /code-placeholder-key %}}: Azure Blob Storage access key
|
- {{% code-placeholder-key %}}`AZURE_ACCESS_KEY`{{% /code-placeholder-key %}}: Azure Blob Storage access key
|
||||||
- {{% code-placeholder-key %}}`AZURE_STORAGE_ACCOUNT`{{% /code-placeholder-key %}}: Azure Blob Storage account ID
|
- {{% code-placeholder-key %}}`AZURE_STORAGE_ACCOUNT`{{% /code-placeholder-key %}}: Azure Blob Storage account ID
|
||||||
|
|
||||||
---
|
***
|
||||||
|
|
||||||
<!--------------------------------- END AZURE --------------------------------->
|
<!--------------------------------- END AZURE --------------------------------->
|
||||||
|
|
||||||
|
|
@ -521,7 +526,7 @@ following fields in your `values.yaml`:
|
||||||
- `serviceAccountSecret.key`: the key inside of your Google IAM secret that
|
- `serviceAccountSecret.key`: the key inside of your Google IAM secret that
|
||||||
contains your Google IAM account credentials
|
contains your Google IAM account credentials
|
||||||
|
|
||||||
{{% code-placeholders "GOOGLE_(BUCKET_NAME|IAM_SECRET|CREDENTIALS_KEY)" %}}
|
{{% code-placeholders "GOOGLE\_(BUCKET\_NAME|IAM\_SECRET|CREDENTIALS\_KEY)" %}}
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
objectStore:
|
objectStore:
|
||||||
|
|
@ -541,7 +546,7 @@ objectStore:
|
||||||
|
|
||||||
{{% /code-placeholders %}}
|
{{% /code-placeholders %}}
|
||||||
|
|
||||||
---
|
***
|
||||||
|
|
||||||
Replace the following:
|
Replace the following:
|
||||||
|
|
||||||
|
|
@ -554,7 +559,7 @@ Replace the following:
|
||||||
the key inside of your Google IAM secret that contains your Google IAM account
|
the key inside of your Google IAM secret that contains your Google IAM account
|
||||||
credentials
|
credentials
|
||||||
|
|
||||||
---
|
***
|
||||||
|
|
||||||
<!--------------------------------- END AZURE --------------------------------->
|
<!--------------------------------- END AZURE --------------------------------->
|
||||||
|
|
||||||
|
|
@ -568,7 +573,7 @@ metadata about your time series data.
|
||||||
To connect your InfluxDB cluster to your PostgreSQL-compatible database,
|
To connect your InfluxDB cluster to your PostgreSQL-compatible database,
|
||||||
provide values for the following fields in your `values.yaml`:
|
provide values for the following fields in your `values.yaml`:
|
||||||
|
|
||||||
> [!Note]
|
> \[!Note]
|
||||||
> We recommend storing sensitive credentials, such as your PostgreSQL-compatible DSN,
|
> We recommend storing sensitive credentials, such as your PostgreSQL-compatible DSN,
|
||||||
> as secrets in your Kubernetes cluster.
|
> as secrets in your Kubernetes cluster.
|
||||||
|
|
||||||
|
|
@ -576,7 +581,7 @@ provide values for the following fields in your `values.yaml`:
|
||||||
- `SecretName`: Secret name
|
- `SecretName`: Secret name
|
||||||
- `SecretKey`: Key in the secret that contains the DSN
|
- `SecretKey`: Key in the secret that contains the DSN
|
||||||
|
|
||||||
{{% code-placeholders "SECRET_(NAME|KEY)" %}}
|
{{% code-placeholders "SECRET\_(NAME|KEY)" %}}
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
catalog:
|
catalog:
|
||||||
|
|
@ -591,7 +596,7 @@ catalog:
|
||||||
|
|
||||||
{{% /code-placeholders %}}
|
{{% /code-placeholders %}}
|
||||||
|
|
||||||
---
|
***
|
||||||
|
|
||||||
Replace the following:
|
Replace the following:
|
||||||
|
|
||||||
|
|
@ -600,9 +605,9 @@ Replace the following:
|
||||||
- {{% code-placeholder-key %}}`SECRET_KEY`{{% /code-placeholder-key %}}:
|
- {{% code-placeholder-key %}}`SECRET_KEY`{{% /code-placeholder-key %}}:
|
||||||
Key in the secret that references your PostgreSQL-compatible DSN
|
Key in the secret that references your PostgreSQL-compatible DSN
|
||||||
|
|
||||||
---
|
***
|
||||||
|
|
||||||
> [!Warning]
|
> \[!Warning]
|
||||||
>
|
>
|
||||||
> ##### Percent-encode special symbols in PostgreSQL DSNs
|
> ##### Percent-encode special symbols in PostgreSQL DSNs
|
||||||
>
|
>
|
||||||
|
|
@ -621,27 +626,31 @@ Replace the following:
|
||||||
> For more information, see the [PostgreSQL Connection URI docs](https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING-URIS).
|
> For more information, see the [PostgreSQL Connection URI docs](https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING-URIS).
|
||||||
>
|
>
|
||||||
> {{< expand-wrapper >}}
|
> {{< expand-wrapper >}}
|
||||||
{{% expand "View percent-encoded DSN example" %}}
|
> {{% expand "View percent-encoded DSN example" %}}
|
||||||
To use the following DSN containing special characters:
|
> To use the following DSN containing special characters:
|
||||||
|
|
||||||
{{% code-callout "#" %}}
|
{{% code-callout "#" %}}
|
||||||
|
|
||||||
```txt
|
```txt
|
||||||
postgresql://postgres:meow#meow@my-fancy.cloud-database.party:5432/postgres
|
postgresql://postgres:meow#meow@my-fancy.cloud-database.party:5432/postgres
|
||||||
```
|
```
|
||||||
|
|
||||||
{{% /code-callout %}}
|
{{% /code-callout %}}
|
||||||
|
|
||||||
You must percent-encode the special characters in the connection string:
|
You must percent-encode the special characters in the connection string:
|
||||||
|
|
||||||
{{% code-callout "%23" %}}
|
{{% code-callout "%23" %}}
|
||||||
|
|
||||||
```txt
|
```txt
|
||||||
postgresql://postgres:meow%23meow@my-fancy.cloud-database.party:5432/postgres
|
postgresql://postgres:meow%23meow@my-fancy.cloud-database.party:5432/postgres
|
||||||
```
|
```
|
||||||
|
|
||||||
{{% /code-callout %}}
|
{{% /code-callout %}}
|
||||||
|
|
||||||
{{% /expand %}}
|
{{% /expand %}}
|
||||||
{{< /expand-wrapper >}}
|
{{< /expand-wrapper >}}
|
||||||
|
|
||||||
> [!Note]
|
> \[!Note]
|
||||||
>
|
>
|
||||||
> ##### PostgreSQL instances without TLS or SSL
|
> ##### PostgreSQL instances without TLS or SSL
|
||||||
>
|
>
|
||||||
|
|
@ -649,9 +658,11 @@ postgresql://postgres:meow%23meow@my-fancy.cloud-database.party:5432/postgres
|
||||||
> the `sslmode=disable` parameter in the DSN. For example:
|
> the `sslmode=disable` parameter in the DSN. For example:
|
||||||
>
|
>
|
||||||
> {{% code-callout "sslmode=disable" %}}
|
> {{% code-callout "sslmode=disable" %}}
|
||||||
|
|
||||||
```
|
```
|
||||||
postgres://username:passw0rd@mydomain:5432/influxdb?sslmode=disable
|
postgres://username:passw0rd@mydomain:5432/influxdb?sslmode=disable
|
||||||
```
|
```
|
||||||
|
|
||||||
{{% /code-callout %}}
|
{{% /code-callout %}}
|
||||||
|
|
||||||
#### Configure local storage for ingesters
|
#### Configure local storage for ingesters
|
||||||
|
|
@ -666,7 +677,7 @@ following fields in your `values.yaml`:
|
||||||
This differs based on the Kubernetes environment and desired storage characteristics.
|
This differs based on the Kubernetes environment and desired storage characteristics.
|
||||||
- `storage`: Storage size. We recommend a minimum of 2 gibibytes (`2Gi`).
|
- `storage`: Storage size. We recommend a minimum of 2 gibibytes (`2Gi`).
|
||||||
|
|
||||||
{{% code-placeholders "STORAGE_(CLASS|SIZE)" %}}
|
{{% code-placeholders "STORAGE\_(CLASS|SIZE)" %}}
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
ingesterStorage:
|
ingesterStorage:
|
||||||
|
|
@ -680,7 +691,7 @@ ingesterStorage:
|
||||||
|
|
||||||
{{% /code-placeholders %}}
|
{{% /code-placeholders %}}
|
||||||
|
|
||||||
---
|
***
|
||||||
|
|
||||||
Replace the following:
|
Replace the following:
|
||||||
|
|
||||||
|
|
@ -689,7 +700,7 @@ Replace the following:
|
||||||
- {{% code-placeholder-key %}}`STORAGE_SIZE`{{% /code-placeholder-key %}}:
|
- {{% code-placeholder-key %}}`STORAGE_SIZE`{{% /code-placeholder-key %}}:
|
||||||
Storage size (example: `2Gi`)
|
Storage size (example: `2Gi`)
|
||||||
|
|
||||||
---
|
***
|
||||||
|
|
||||||
### Deploy your cluster
|
### Deploy your cluster
|
||||||
|
|
||||||
|
|
@ -775,6 +786,7 @@ helm upgrade influxdb ./influxdb3-clustered-X.Y.Z.tgz \
|
||||||
```
|
```
|
||||||
|
|
||||||
{{% note %}}
|
{{% note %}}
|
||||||
|
|
||||||
#### Understanding kubit's role in air-gapped environments
|
#### Understanding kubit's role in air-gapped environments
|
||||||
|
|
||||||
When deploying with Helm in an air-gapped environment:
|
When deploying with Helm in an air-gapped environment:
|
||||||
|
|
@ -802,3 +814,4 @@ This is why mirroring both the InfluxDB images and the kubit operator images is
|
||||||
Internal error occurred: failed to create pod sandbox: rpc error: code = Unknown
|
Internal error occurred: failed to create pod sandbox: rpc error: code = Unknown
|
||||||
desc = failed to pull image "us-docker.pkg.dev/...": failed to pull and unpack image "...":
|
desc = failed to pull image "us-docker.pkg.dev/...": failed to pull and unpack image "...":
|
||||||
failed to resolve reference "...": failed to do request: ... i/o timeout
|
failed to resolve reference "...": failed to do request: ... i/o timeout
|
||||||
|
```
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,7 @@ If you haven't already set up and configured your cluster, see how to
|
||||||
[install InfluxDB Clustered](/influxdb3/clustered/install/).
|
[install InfluxDB Clustered](/influxdb3/clustered/install/).
|
||||||
|
|
||||||
<!-- Hidden anchor for links to the kubectl/kubit/helm tabs -->
|
<!-- Hidden anchor for links to the kubectl/kubit/helm tabs -->
|
||||||
|
|
||||||
<span id="kubectl-kubit-helm"></span>
|
<span id="kubectl-kubit-helm"></span>
|
||||||
|
|
||||||
{{< tabs-wrapper >}}
|
{{< tabs-wrapper >}}
|
||||||
|
|
@ -41,7 +42,9 @@ If you haven't already set up and configured your cluster, see how to
|
||||||
[helm](#)
|
[helm](#)
|
||||||
{{% /tabs %}}
|
{{% /tabs %}}
|
||||||
{{% tab-content %}}
|
{{% tab-content %}}
|
||||||
|
|
||||||
<!------------------------------- BEGIN kubectl ------------------------------->
|
<!------------------------------- BEGIN kubectl ------------------------------->
|
||||||
|
|
||||||
- [`kubectl` standard deployment (with internet access)](#kubectl-standard-deployment-with-internet-access)
|
- [`kubectl` standard deployment (with internet access)](#kubectl-standard-deployment-with-internet-access)
|
||||||
- [`kubectl` air-gapped deployment](#kubectl-air-gapped-deployment)
|
- [`kubectl` air-gapped deployment](#kubectl-air-gapped-deployment)
|
||||||
|
|
||||||
|
|
@ -56,31 +59,34 @@ kubectl apply \
|
||||||
--namespace influxdb
|
--namespace influxdb
|
||||||
```
|
```
|
||||||
|
|
||||||
> [!Note]
|
> \[!Note]
|
||||||
> Due to the additional complexity and maintenance requirements, using `kubectl apply` isn't
|
> Due to the additional complexity and maintenance requirements, using `kubectl apply` isn't
|
||||||
> recommended for air-gapped environments.
|
> recommended for air-gapped environments.
|
||||||
> Instead, consider using the [`kubit` CLI approach](#kubit-cli), which is specifically designed for air-gapped deployments.
|
> Instead, consider using the [`kubit` CLI approach](#kubit-cli), which is specifically designed for air-gapped deployments.
|
||||||
|
|
||||||
<!-------------------------------- END kubectl -------------------------------->
|
<!-------------------------------- END kubectl -------------------------------->
|
||||||
|
|
||||||
{{% /tab-content %}}
|
{{% /tab-content %}}
|
||||||
{{% tab-content %}}
|
{{% tab-content %}}
|
||||||
|
|
||||||
<!-------------------------------- BEGIN kubit CLI -------------------------------->
|
<!-------------------------------- BEGIN kubit CLI -------------------------------->
|
||||||
|
|
||||||
## Standard and air-gapped deployments
|
## Standard and air-gapped deployments
|
||||||
|
|
||||||
_This approach avoids the need for installing the kubit operator in the cluster,
|
*This approach avoids the need for installing the kubit operator in the cluster,
|
||||||
making it ideal for air-gapped clusters._
|
making it ideal for air-gapped clusters.*
|
||||||
|
|
||||||
> [!Important]
|
> \[!Important]
|
||||||
> For air-gapped deployment, ensure you have [configured access to a private registry for InfluxDB images](/influxdb3/clustered/install/set-up-cluster/configure-cluster/directly/#configure-access-to-the-influxDB-container-registry).
|
> For air-gapped deployment, ensure you have [configured access to a private registry for InfluxDB images](/influxdb3/clustered/install/set-up-cluster/configure-cluster/directly/#configure-access-to-the-influxDB-container-registry).
|
||||||
|
|
||||||
1. On a machine with internet access, download the [`kubit` CLI](https://github.com/kubecfg/kubit#cli-tool)--for example:
|
1. On a machine with internet access, download the [`kubit` CLI](https://github.com/kubecfg/kubit#cli-tool)--for example:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -L -o kubit https://github.com/kubecfg/kubit/archive/refs/tags/v0.0.20.tar.gz
|
curl -L -o kubit https://github.com/kubecfg/kubit/archive/refs/tags/v0.0.22.tar.gz
|
||||||
chmod +x kubit
|
chmod +x kubit
|
||||||
```
|
```
|
||||||
|
|
||||||
Replace {{% code-placeholder-key %}}`v0.0.20`{{% /code-placeholder-key%}} with the [latest release version](https://github.com/kubecfg/kubit/releases/latest).
|
Replace {{% code-placeholder-key %}}`v0.0.22`{{% /code-placeholder-key%}} with the [latest release version](https://github.com/kubecfg/kubit/releases/latest).
|
||||||
|
|
||||||
2. If deploying InfluxDB in an air-gapped environment (without internet access),
|
2. If deploying InfluxDB in an air-gapped environment (without internet access),
|
||||||
transfer the binary to your air-gapped environment.
|
transfer the binary to your air-gapped environment.
|
||||||
|
|
@ -108,7 +114,9 @@ applies the resulting Kubernetes resources directly to your cluster.
|
||||||
|
|
||||||
{{% /tab-content %}}
|
{{% /tab-content %}}
|
||||||
{{% tab-content %}}
|
{{% tab-content %}}
|
||||||
|
|
||||||
<!-------------------------------- BEGIN Helm --------------------------------->
|
<!-------------------------------- BEGIN Helm --------------------------------->
|
||||||
|
|
||||||
- [Helm standard deployment (with internet access)](#helm-standard-deployment-with-internet-access)
|
- [Helm standard deployment (with internet access)](#helm-standard-deployment-with-internet-access)
|
||||||
- [Helm air-gapped deployment](#helm-air-gapped-deployment)
|
- [Helm air-gapped deployment](#helm-air-gapped-deployment)
|
||||||
|
|
||||||
|
|
@ -145,7 +153,7 @@ helm upgrade influxdb influxdata/influxdb3-clustered \
|
||||||
|
|
||||||
## Helm air-gapped deployment
|
## Helm air-gapped deployment
|
||||||
|
|
||||||
> [!Important]
|
> \[!Important]
|
||||||
> For air-gapped deployment, ensure you have [configured access to a private registry for InfluxDB images and the kubit operator](/influxdb3/clustered/install/set-up-cluster/configure-cluster/use-helm/#configure-access-to-the-influxDB-container-registry).
|
> For air-gapped deployment, ensure you have [configured access to a private registry for InfluxDB images and the kubit operator](/influxdb3/clustered/install/set-up-cluster/configure-cluster/use-helm/#configure-access-to-the-influxDB-container-registry).
|
||||||
|
|
||||||
1. On a machine with internet access, download the Helm chart:
|
1. On a machine with internet access, download the Helm chart:
|
||||||
|
|
@ -188,7 +196,8 @@ helm upgrade influxdb ./influxdb3-clustered-X.Y.Z.tgz \
|
||||||
--namespace influxdb
|
--namespace influxdb
|
||||||
```
|
```
|
||||||
|
|
||||||
> [!Note]
|
> \[!Note]
|
||||||
|
>
|
||||||
> #### kubit's role in air-gapped environments
|
> #### kubit's role in air-gapped environments
|
||||||
>
|
>
|
||||||
> When deploying with Helm in an air-gapped environment:
|
> When deploying with Helm in an air-gapped environment:
|
||||||
|
|
@ -200,6 +209,7 @@ helm upgrade influxdb ./influxdb3-clustered-X.Y.Z.tgz \
|
||||||
> This is why you need to [mirror InfluxDB images and kubit operator images](/influxdb3/clustered/install/set-up-cluster/configure-cluster/use-helm/#mirror-influxdb-images) for air-gapped deployments.
|
> This is why you need to [mirror InfluxDB images and kubit operator images](/influxdb3/clustered/install/set-up-cluster/configure-cluster/use-helm/#mirror-influxdb-images) for air-gapped deployments.
|
||||||
|
|
||||||
<!--------------------------------- END Helm ---------------------------------->
|
<!--------------------------------- END Helm ---------------------------------->
|
||||||
|
|
||||||
{{% /tab-content %}}
|
{{% /tab-content %}}
|
||||||
{{< /tabs-wrapper >}}
|
{{< /tabs-wrapper >}}
|
||||||
|
|
||||||
|
|
@ -208,7 +218,7 @@ helm upgrade influxdb ./influxdb3-clustered-X.Y.Z.tgz \
|
||||||
Kubernetes deployments take some time to complete. To check on the status of a
|
Kubernetes deployments take some time to complete. To check on the status of a
|
||||||
deployment, use the `kubectl get` command:
|
deployment, use the `kubectl get` command:
|
||||||
|
|
||||||
> [!Note]
|
> \[!Note]
|
||||||
> The following example uses the [`yq` command-line YAML parser](https://github.com/mikefarah/yq)
|
> The following example uses the [`yq` command-line YAML parser](https://github.com/mikefarah/yq)
|
||||||
> to parse and format the YAML output.
|
> to parse and format the YAML output.
|
||||||
> You can also specify the output as `json` and use the
|
> You can also specify the output as `json` and use the
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ InfluxDB Clustered requires the following prerequisite external dependencies:
|
||||||
- **Kubernetes ingress controller**
|
- **Kubernetes ingress controller**
|
||||||
- **Object storage**: AWS S3 or S3-compatible storage (including Google Cloud Storage
|
- **Object storage**: AWS S3 or S3-compatible storage (including Google Cloud Storage
|
||||||
or Azure Blob Storage) to store the InfluxDB Parquet files.
|
or Azure Blob Storage) to store the InfluxDB Parquet files.
|
||||||
- **PostgreSQL-compatible database** _(AWS Aurora, hosted PostgreSQL, etc.)_:
|
- **PostgreSQL-compatible database** *(AWS Aurora, hosted PostgreSQL, etc.)*:
|
||||||
Stores the [InfluxDB Catalog](/influxdb3/clustered/reference/internals/storage-engine/#catalog).
|
Stores the [InfluxDB Catalog](/influxdb3/clustered/reference/internals/storage-engine/#catalog).
|
||||||
- **Local or attached storage**:
|
- **Local or attached storage**:
|
||||||
Stores the Write-Ahead Log (WAL) for
|
Stores the Write-Ahead Log (WAL) for
|
||||||
|
|
@ -45,7 +45,7 @@ cluster.
|
||||||
|
|
||||||
Follow instructions to install `kubectl` on your local machine:
|
Follow instructions to install `kubectl` on your local machine:
|
||||||
|
|
||||||
> [!Note]
|
> \[!Note]
|
||||||
> InfluxDB Clustered Kubernetes deployments require `kubectl` 1.27 or higher.
|
> InfluxDB Clustered Kubernetes deployments require `kubectl` 1.27 or higher.
|
||||||
|
|
||||||
- [Install kubectl on Linux](https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/)
|
- [Install kubectl on Linux](https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/)
|
||||||
|
|
@ -97,10 +97,11 @@ following sizing for {{% product-name %}} components:
|
||||||
[On-Prem](#)
|
[On-Prem](#)
|
||||||
{{% /tabs %}}
|
{{% /tabs %}}
|
||||||
{{% tab-content %}}
|
{{% tab-content %}}
|
||||||
|
|
||||||
<!--------------------------------- BEGIN AWS --------------------------------->
|
<!--------------------------------- BEGIN AWS --------------------------------->
|
||||||
|
|
||||||
- **Catalog store (PostgreSQL-compatible database) (x1):**
|
- **Catalog store (PostgreSQL-compatible database) (x1):**
|
||||||
- _[See below](#postgresql-compatible-database-requirements)_
|
- *[See below](#postgresql-compatible-database-requirements)*
|
||||||
- **Ingesters and Routers (x3):**
|
- **Ingesters and Routers (x3):**
|
||||||
- EC2 m6i.2xlarge (8 CPU, 32 GB RAM)
|
- EC2 m6i.2xlarge (8 CPU, 32 GB RAM)
|
||||||
- Local storage: minimum of 2 GB (high-speed SSD)
|
- Local storage: minimum of 2 GB (high-speed SSD)
|
||||||
|
|
@ -112,12 +113,14 @@ following sizing for {{% product-name %}} components:
|
||||||
- EC2 t3.large (2 CPU, 8 GB RAM)
|
- EC2 t3.large (2 CPU, 8 GB RAM)
|
||||||
|
|
||||||
<!---------------------------------- END AWS ---------------------------------->
|
<!---------------------------------- END AWS ---------------------------------->
|
||||||
|
|
||||||
{{% /tab-content %}}
|
{{% /tab-content %}}
|
||||||
{{% tab-content %}}
|
{{% tab-content %}}
|
||||||
|
|
||||||
<!--------------------------------- BEGIN GCP --------------------------------->
|
<!--------------------------------- BEGIN GCP --------------------------------->
|
||||||
|
|
||||||
- **Catalog store (PostgreSQL-compatible database) (x1):**
|
- **Catalog store (PostgreSQL-compatible database) (x1):**
|
||||||
- _[See below](#postgresql-compatible-database-requirements)_
|
- *[See below](#postgresql-compatible-database-requirements)*
|
||||||
- **Ingesters and Routers (x3):**
|
- **Ingesters and Routers (x3):**
|
||||||
- GCE c2-standard-8 (8 CPU, 32 GB RAM)
|
- GCE c2-standard-8 (8 CPU, 32 GB RAM)
|
||||||
- Local storage: minimum of 2 GB (high-speed SSD)
|
- Local storage: minimum of 2 GB (high-speed SSD)
|
||||||
|
|
@ -129,25 +132,29 @@ following sizing for {{% product-name %}} components:
|
||||||
- GCE c2d-standard-2 (2 CPU, 8 GB RAM)
|
- GCE c2d-standard-2 (2 CPU, 8 GB RAM)
|
||||||
|
|
||||||
<!---------------------------------- END GCP ---------------------------------->
|
<!---------------------------------- END GCP ---------------------------------->
|
||||||
|
|
||||||
{{% /tab-content %}}
|
{{% /tab-content %}}
|
||||||
{{% tab-content %}}
|
{{% tab-content %}}
|
||||||
|
|
||||||
<!-------------------------------- BEGIN Azure -------------------------------->
|
<!-------------------------------- BEGIN Azure -------------------------------->
|
||||||
|
|
||||||
- **Catalog store (PostgreSQL-compatible database) (x1):**
|
- **Catalog store (PostgreSQL-compatible database) (x1):**
|
||||||
- _[See below](#postgresql-compatible-database-requirements)_
|
- *[See below](#postgresql-compatible-database-requirements)*
|
||||||
- **Ingesters and Routers (x3):**
|
- **Ingesters and Routers (x3):**
|
||||||
- Standard_D8s_v3 (8 CPU, 32 GB RAM)
|
- Standard\_D8s\_v3 (8 CPU, 32 GB RAM)
|
||||||
- Local storage: minimum of 2 GB (high-speed SSD)
|
- Local storage: minimum of 2 GB (high-speed SSD)
|
||||||
- **Queriers (x3):**
|
- **Queriers (x3):**
|
||||||
- Standard_D8s_v3 (8 CPU, 32 GB RAM)
|
- Standard\_D8s\_v3 (8 CPU, 32 GB RAM)
|
||||||
- **Compactors (x1):**
|
- **Compactors (x1):**
|
||||||
- Standard_D8s_v3 (8 CPU, 32 GB RAM)
|
- Standard\_D8s\_v3 (8 CPU, 32 GB RAM)
|
||||||
- **Kubernetes Control Plane (x1):**
|
- **Kubernetes Control Plane (x1):**
|
||||||
- Standard_B2ms (2 CPU, 8 GB RAM)
|
- Standard\_B2ms (2 CPU, 8 GB RAM)
|
||||||
|
|
||||||
<!--------------------------------- END Azure --------------------------------->
|
<!--------------------------------- END Azure --------------------------------->
|
||||||
|
|
||||||
{{% /tab-content %}}
|
{{% /tab-content %}}
|
||||||
{{% tab-content %}}
|
{{% tab-content %}}
|
||||||
|
|
||||||
<!------------------------------- BEGIN ON-PREM ------------------------------->
|
<!------------------------------- BEGIN ON-PREM ------------------------------->
|
||||||
|
|
||||||
- **Catalog store (PostgreSQL-compatible database) (x1):**
|
- **Catalog store (PostgreSQL-compatible database) (x1):**
|
||||||
|
|
@ -168,6 +175,7 @@ following sizing for {{% product-name %}} components:
|
||||||
- RAM: 8 GB
|
- RAM: 8 GB
|
||||||
|
|
||||||
<!-------------------------------- END ON-PREM -------------------------------->
|
<!-------------------------------- END ON-PREM -------------------------------->
|
||||||
|
|
||||||
{{% /tab-content %}}
|
{{% /tab-content %}}
|
||||||
{{< /tabs-wrapper >}}
|
{{< /tabs-wrapper >}}
|
||||||
|
|
||||||
|
|
@ -181,7 +189,8 @@ simplifies the installation and management of the InfluxDB Clustered package.
|
||||||
It manages the application of the jsonnet templates used to install, manage, and
|
It manages the application of the jsonnet templates used to install, manage, and
|
||||||
update an InfluxDB cluster.
|
update an InfluxDB cluster.
|
||||||
|
|
||||||
> [!Note]
|
> \[!Note]
|
||||||
|
>
|
||||||
> #### The InfluxDB Clustered Helm chart includes the kubit operator
|
> #### The InfluxDB Clustered Helm chart includes the kubit operator
|
||||||
>
|
>
|
||||||
> If using the [InfluxDB Clustered Helm chart](https://github.com/influxdata/helm-charts/tree/master/charts/influxdb3-clustered)
|
> If using the [InfluxDB Clustered Helm chart](https://github.com/influxdata/helm-charts/tree/master/charts/influxdb3-clustered)
|
||||||
|
|
@ -189,12 +198,12 @@ update an InfluxDB cluster.
|
||||||
> separately. The Helm chart installs the kubit operator.
|
> separately. The Helm chart installs the kubit operator.
|
||||||
|
|
||||||
Use `kubectl` to install the [kubecfg kubit](https://github.com/kubecfg/kubit)
|
Use `kubectl` to install the [kubecfg kubit](https://github.com/kubecfg/kubit)
|
||||||
operator **v0.0.18 or later**.
|
operator **v0.0.22 or later**.
|
||||||
|
|
||||||
<!-- pytest.mark.skip -->
|
<!-- pytest.mark.skip -->
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
kubectl apply -k 'https://github.com/kubecfg/kubit//kustomize/global?ref=v0.0.19'
|
kubectl apply -k 'https://github.com/kubecfg/kubit//kustomize/global?ref=v0.0.22'
|
||||||
```
|
```
|
||||||
|
|
||||||
### Set up a Kubernetes ingress controller
|
### Set up a Kubernetes ingress controller
|
||||||
|
|
@ -206,7 +215,8 @@ You can provide your own ingress or you can install
|
||||||
[Nginx Ingress Controller](https://github.com/kubernetes/ingress-nginx) to use
|
[Nginx Ingress Controller](https://github.com/kubernetes/ingress-nginx) to use
|
||||||
the InfluxDB-defined ingress.
|
the InfluxDB-defined ingress.
|
||||||
|
|
||||||
> [!Important]
|
> \[!Important]
|
||||||
|
>
|
||||||
> #### Allow gRPC/HTTP2
|
> #### Allow gRPC/HTTP2
|
||||||
>
|
>
|
||||||
> InfluxDB Clustered components use gRPC/HTTP2 protocols.
|
> InfluxDB Clustered components use gRPC/HTTP2 protocols.
|
||||||
|
|
@ -232,7 +242,8 @@ that work with InfluxDB Clustered. Other S3-compatible object stores should work
|
||||||
as well.
|
as well.
|
||||||
{{% /caption %}}
|
{{% /caption %}}
|
||||||
|
|
||||||
> [!Important]
|
> \[!Important]
|
||||||
|
>
|
||||||
> #### Object storage recommendations
|
> #### Object storage recommendations
|
||||||
>
|
>
|
||||||
> We **strongly** recommend the following:
|
> We **strongly** recommend the following:
|
||||||
|
|
@ -260,7 +271,8 @@ the correct permissions to allow InfluxDB to perform all the actions it needs to
|
||||||
|
|
||||||
The IAM role that you use to access AWS S3 should have the following policy:
|
The IAM role that you use to access AWS S3 should have the following policy:
|
||||||
|
|
||||||
{{% code-placeholders "S3_BUCKET_NAME" %}}
|
{{% code-placeholders "S3\_BUCKET\_NAME" %}}
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"Version": "2012-10-17",
|
"Version": "2012-10-17",
|
||||||
|
|
@ -297,6 +309,7 @@ The IAM role that you use to access AWS S3 should have the following policy:
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
{{% /code-placeholders %}}
|
{{% /code-placeholders %}}
|
||||||
|
|
||||||
Replace the following:
|
Replace the following:
|
||||||
|
|
@ -310,13 +323,15 @@ Replace the following:
|
||||||
To use Google Cloud Storage (GCS) as your object store, your [IAM principal](https://cloud.google.com/iam/docs/overview) should be granted the `roles/storage.objectUser` role.
|
To use Google Cloud Storage (GCS) as your object store, your [IAM principal](https://cloud.google.com/iam/docs/overview) should be granted the `roles/storage.objectUser` role.
|
||||||
For example, if using [Google Service Accounts](https://cloud.google.com/iam/docs/service-account-overview):
|
For example, if using [Google Service Accounts](https://cloud.google.com/iam/docs/service-account-overview):
|
||||||
|
|
||||||
{{% code-placeholders "GCP_SERVICE_ACCOUNT|GCP_BUCKET" %}}
|
{{% code-placeholders "GCP\_SERVICE\_ACCOUNT|GCP\_BUCKET" %}}
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
gcloud storage buckets add-iam-policy-binding \
|
gcloud storage buckets add-iam-policy-binding \
|
||||||
gs://GCP_BUCKET \
|
gs://GCP_BUCKET \
|
||||||
--member="serviceAccount:GCP_SERVICE_ACCOUNT" \
|
--member="serviceAccount:GCP_SERVICE_ACCOUNT" \
|
||||||
--role="roles/storage.objectUser"
|
--role="roles/storage.objectUser"
|
||||||
```
|
```
|
||||||
|
|
||||||
{{% /code-placeholders %}}
|
{{% /code-placeholders %}}
|
||||||
|
|
||||||
Replace the following:
|
Replace the following:
|
||||||
|
|
@ -333,13 +348,15 @@ should be granted the `Storage Blob Data Contributor` role.
|
||||||
This is a built-in role for Azure which encompasses common permissions.
|
This is a built-in role for Azure which encompasses common permissions.
|
||||||
You can assign it using the following command:
|
You can assign it using the following command:
|
||||||
|
|
||||||
{{% code-placeholders "PRINCIPAL|AZURE_SUBSCRIPTION|AZURE_RESOURCE_GROUP|AZURE_STORAGE_ACCOUNT|AZURE_STORAGE_CONTAINER" %}}
|
{{% code-placeholders "PRINCIPAL|AZURE\_SUBSCRIPTION|AZURE\_RESOURCE\_GROUP|AZURE\_STORAGE\_ACCOUNT|AZURE\_STORAGE\_CONTAINER" %}}
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
az role assignment create \
|
az role assignment create \
|
||||||
--role "Storage Blob Data Contributor" \
|
--role "Storage Blob Data Contributor" \
|
||||||
--assignee PRINCIPAL \
|
--assignee PRINCIPAL \
|
||||||
--scope "/subscriptions/AZURE_SUBSCRIPTION/resourceGroups/AZURE_RESOURCE_GROUP/providers/Microsoft.Storage/storageAccounts/AZURE_STORAGE_ACCOUNT/blobServices/default/containers/AZURE_STORAGE_CONTAINER"
|
--scope "/subscriptions/AZURE_SUBSCRIPTION/resourceGroups/AZURE_RESOURCE_GROUP/providers/Microsoft.Storage/storageAccounts/AZURE_STORAGE_ACCOUNT/blobServices/default/containers/AZURE_STORAGE_CONTAINER"
|
||||||
```
|
```
|
||||||
|
|
||||||
{{% /code-placeholders %}}
|
{{% /code-placeholders %}}
|
||||||
|
|
||||||
Replace the following:
|
Replace the following:
|
||||||
|
|
@ -354,7 +371,7 @@ Replace the following:
|
||||||
|
|
||||||
{{< /expand-wrapper >}}
|
{{< /expand-wrapper >}}
|
||||||
|
|
||||||
> [!Note]
|
> \[!Note]
|
||||||
> To configure permissions with MinIO, use the
|
> To configure permissions with MinIO, use the
|
||||||
> [example AWS access policy](#view-example-aws-s3-access-policy).
|
> [example AWS access policy](#view-example-aws-s3-access-policy).
|
||||||
|
|
||||||
|
|
@ -362,7 +379,7 @@ Replace the following:
|
||||||
|
|
||||||
The [InfluxDB Catalog](/influxdb3/clustered/reference/internals/storage-engine/#catalog)
|
The [InfluxDB Catalog](/influxdb3/clustered/reference/internals/storage-engine/#catalog)
|
||||||
that stores metadata related to your time series data requires a PostgreSQL or
|
that stores metadata related to your time series data requires a PostgreSQL or
|
||||||
PostgreSQL-compatible database _(AWS Aurora, hosted PostgreSQL, etc.)_.
|
PostgreSQL-compatible database *(AWS Aurora, hosted PostgreSQL, etc.)*.
|
||||||
The process for installing and setting up your PostgreSQL-compatible database
|
The process for installing and setting up your PostgreSQL-compatible database
|
||||||
depends on the database and database provider you use.
|
depends on the database and database provider you use.
|
||||||
Refer to your database's or provider's documentation for setting up your
|
Refer to your database's or provider's documentation for setting up your
|
||||||
|
|
@ -376,7 +393,7 @@ PostgreSQL-compatible database.
|
||||||
applications, ensure that your PostgreSQL-compatible instance is dedicated
|
applications, ensure that your PostgreSQL-compatible instance is dedicated
|
||||||
exclusively to InfluxDB.
|
exclusively to InfluxDB.
|
||||||
|
|
||||||
> [!Note]
|
> \[!Note]
|
||||||
> We **strongly** recommended running the PostgreSQL-compatible database
|
> We **strongly** recommended running the PostgreSQL-compatible database
|
||||||
> in a separate namespace from InfluxDB or external to Kubernetes entirely.
|
> in a separate namespace from InfluxDB or external to Kubernetes entirely.
|
||||||
> Doing so makes management of the InfluxDB cluster easier and helps to prevent
|
> Doing so makes management of the InfluxDB cluster easier and helps to prevent
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ influxdb3 [GLOBAL-OPTIONS] [COMMAND]
|
||||||
## Commands
|
## Commands
|
||||||
|
|
||||||
| Command | Description |
|
| Command | Description |
|
||||||
| :--------------------------------------------------------------| :---------------------------------- |
|
| :---------------------------------------------------------- | :---------------------------------- |
|
||||||
| [create](/influxdb3/core/reference/cli/influxdb3/create/) | Create resources |
|
| [create](/influxdb3/core/reference/cli/influxdb3/create/) | Create resources |
|
||||||
| [delete](/influxdb3/core/reference/cli/influxdb3/delete/) | Delete resources |
|
| [delete](/influxdb3/core/reference/cli/influxdb3/delete/) | Delete resources |
|
||||||
| [disable](/influxdb3/core/reference/cli/influxdb3/disable/) | Disable resources |
|
| [disable](/influxdb3/core/reference/cli/influxdb3/disable/) | Disable resources |
|
||||||
|
|
@ -38,13 +38,38 @@ influxdb3 [GLOBAL-OPTIONS] [COMMAND]
|
||||||
## Global options
|
## Global options
|
||||||
|
|
||||||
| Option | | Description |
|
| Option | | Description |
|
||||||
| :----- | :---------------- | :-------------------------------------------------------------------- |
|
| :----- | :----------- | :---------------------------------------------------------------------- |
|
||||||
| `-h` | `--help` | Print help information |
|
| `-h` | `--help` | Print help information |
|
||||||
| | `--help-all` | Print detailed help information including runtime configuration options |
|
| | `--help-all` | Print detailed help information including runtime configuration options |
|
||||||
| `-V` | `--version` | Print version |
|
| `-V` | `--version` | Print version |
|
||||||
|
|
||||||
For advanced global configuration options (including `--num-io-threads` and other runtime settings), see [Configuration options](/influxdb3/core/reference/config-options/#global-configuration-options).
|
For advanced global configuration options (including `--num-io-threads` and other runtime settings), see [Configuration options](/influxdb3/core/reference/config-options/#global-configuration-options).
|
||||||
|
|
||||||
|
## Quick-Start Mode
|
||||||
|
|
||||||
|
For development, testing, and home use, you can start {{< product-name >}} by running `influxdb3` without the `serve` subcommand or any configuration parameters. The system automatically generates required values:
|
||||||
|
|
||||||
|
- **`node-id`**: `{hostname}-node` (fallback: `primary-node`)
|
||||||
|
- **`object-store`**: `file`
|
||||||
|
- **`data-dir`**: `~/.influxdb`
|
||||||
|
|
||||||
|
The system displays warning messages showing the auto-generated identifiers:
|
||||||
|
|
||||||
|
```
|
||||||
|
Using auto-generated node id: mylaptop-node. For production deployments, explicitly set --node-id
|
||||||
|
```
|
||||||
|
|
||||||
|
> \[!Important]
|
||||||
|
>
|
||||||
|
> #### Production deployments
|
||||||
|
>
|
||||||
|
> Quick-start mode is designed for development and testing environments.
|
||||||
|
> For production deployments, use explicit configuration with the `serve` subcommand
|
||||||
|
> and specify all required parameters as shown in the [Examples](#examples) below.
|
||||||
|
|
||||||
|
**Configuration precedence**: CLI flags > environment variables > auto-generated defaults
|
||||||
|
|
||||||
|
For more information about quick-start mode, see [Get started](/influxdb3/core/get-started/setup/#quick-start-mode-development).
|
||||||
|
|
||||||
## Examples
|
## Examples
|
||||||
|
|
||||||
|
|
@ -54,6 +79,21 @@ with a unique identifier for your {{< product-name >}} server.
|
||||||
|
|
||||||
{{% code-placeholders "my-host-01" %}}
|
{{% code-placeholders "my-host-01" %}}
|
||||||
|
|
||||||
|
<!--pytest.mark.skip-->
|
||||||
|
|
||||||
|
### Quick-start InfluxDB 3 server
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Zero-config startup
|
||||||
|
influxdb3
|
||||||
|
|
||||||
|
# Override specific defaults
|
||||||
|
influxdb3 --object-store memory
|
||||||
|
|
||||||
|
# Use environment variables to override defaults
|
||||||
|
INFLUXDB3_NODE_IDENTIFIER_PREFIX=my-node influxdb3
|
||||||
|
```
|
||||||
|
|
||||||
### Run the InfluxDB 3 server
|
### Run the InfluxDB 3 server
|
||||||
|
|
||||||
<!--pytest.mark.skip-->
|
<!--pytest.mark.skip-->
|
||||||
|
|
@ -104,7 +144,7 @@ influxdb3 serve \
|
||||||
--verbose
|
--verbose
|
||||||
```
|
```
|
||||||
|
|
||||||
### Run {{% product-name %}} with debug logging using LOG_FILTER
|
### Run {{% product-name %}} with debug logging using LOG\_FILTER
|
||||||
|
|
||||||
<!--pytest.mark.skip-->
|
<!--pytest.mark.skip-->
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,20 +18,22 @@ The `influxdb3 serve` command starts the {{< product-name >}} server.
|
||||||
<!--pytest.mark.skip-->
|
<!--pytest.mark.skip-->
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
influxdb3 serve [OPTIONS] --node-id <HOST_IDENTIFIER_PREFIX>
|
influxdb3 serve [OPTIONS]
|
||||||
```
|
```
|
||||||
|
|
||||||
## Required parameters
|
## Required Parameters
|
||||||
|
|
||||||
- **node-id**: A unique identifier for your server instance. Must be unique for any hosts sharing the same object store.
|
- **node-id**: A unique identifier for your server instance. Must be unique for any hosts sharing the same object store.
|
||||||
- **object-store**: Determines where time series data is stored.
|
- **object-store**: Determines where time series data is stored.
|
||||||
- Other object store parameters depending on the selected `object-store` type.
|
- Other object store parameters depending on the selected `object-store` type.
|
||||||
|
|
||||||
> [!NOTE]
|
> \[!NOTE]
|
||||||
> `--node-id` supports alphanumeric strings with optional hyphens.
|
> `--node-id` supports alphanumeric strings with optional hyphens.
|
||||||
|
|
||||||
> [!Important]
|
> \[!Important]
|
||||||
|
>
|
||||||
> #### Global configuration options
|
> #### Global configuration options
|
||||||
|
>
|
||||||
> Some configuration options (like [`--num-io-threads`](/influxdb3/core/reference/config-options/#num-io-threads)) are **global** and must be specified **before** the `serve` command:
|
> Some configuration options (like [`--num-io-threads`](/influxdb3/core/reference/config-options/#num-io-threads)) are **global** and must be specified **before** the `serve` command:
|
||||||
>
|
>
|
||||||
> ```bash
|
> ```bash
|
||||||
|
|
@ -44,99 +46,95 @@ influxdb3 serve [OPTIONS] --node-id <HOST_IDENTIFIER_PREFIX>
|
||||||
|
|
||||||
| Option | | Description |
|
| Option | | Description |
|
||||||
| :--------------- | :--------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------ |
|
| :--------------- | :--------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------ |
|
||||||
| {{< req "\*" >}} | `--node-id` | _See [configuration options](/influxdb3/core/reference/config-options/#node-id)_ |
|
| {{< req "\*" >}} | `--node-id` | *See [configuration options](/influxdb3/core/reference/config-options/#node-id)* |
|
||||||
| | `--object-store` | _See [configuration options](/influxdb3/core/reference/config-options/#object-store)_ |
|
| {{< req "\*" >}} | `--object-store` | *See [configuration options](/influxdb3/core/reference/config-options/#object-store)* |
|
||||||
| | `--admin-token-recovery-http-bind` | _See [configuration options](/influxdb3/core/reference/config-options/#admin-token-recovery-http-bind)_ |
|
| | `--admin-token-recovery-http-bind` | *See [configuration options](/influxdb3/core/reference/config-options/#admin-token-recovery-http-bind)* |
|
||||||
| | `--admin-token-recovery-tcp-listener-file-path` | _See [configuration options](/influxdb3/core/reference/config-options/#admin-token-recovery-tcp-listener-file-path)_ |
|
| | `--admin-token-recovery-tcp-listener-file-path` | *See [configuration options](/influxdb3/core/reference/config-options/#admin-token-recovery-tcp-listener-file-path)* |
|
||||||
| | `--admin-token-file` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#admin-token-file)_ |
|
| | `--admin-token-file` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#admin-token-file)* |
|
||||||
| | `--aws-access-key-id` | _See [configuration options](/influxdb3/core/reference/config-options/#aws-access-key-id)_ |
|
| | `--aws-access-key-id` | *See [configuration options](/influxdb3/core/reference/config-options/#aws-access-key-id)* |
|
||||||
| | `--aws-allow-http` | _See [configuration options](/influxdb3/core/reference/config-options/#aws-allow-http)_ |
|
| | `--aws-allow-http` | *See [configuration options](/influxdb3/core/reference/config-options/#aws-allow-http)* |
|
||||||
| | `--aws-credentials-file` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#aws-credentials-file)_ |
|
| | `--aws-credentials-file` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#aws-credentials-file)* |
|
||||||
| | `--aws-default-region` | _See [configuration options](/influxdb3/core/reference/config-options/#aws-default-region)_ |
|
| | `--aws-default-region` | *See [configuration options](/influxdb3/core/reference/config-options/#aws-default-region)* |
|
||||||
| | `--aws-endpoint` | _See [configuration options](/influxdb3/core/reference/config-options/#aws-endpoint)_ |
|
| | `--aws-endpoint` | *See [configuration options](/influxdb3/core/reference/config-options/#aws-endpoint)* |
|
||||||
| | `--aws-secret-access-key` | _See [configuration options](/influxdb3/core/reference/config-options/#aws-secret-access-key)_ |
|
| | `--aws-secret-access-key` | *See [configuration options](/influxdb3/core/reference/config-options/#aws-secret-access-key)* |
|
||||||
| | `--aws-session-token` | _See [configuration options](/influxdb3/core/reference/config-options/#aws-session-token)_ |
|
| | `--aws-session-token` | *See [configuration options](/influxdb3/core/reference/config-options/#aws-session-token)* |
|
||||||
| | `--aws-skip-signature` | _See [configuration options](/influxdb3/core/reference/config-options/#aws-skip-signature)_ |
|
| | `--aws-skip-signature` | *See [configuration options](/influxdb3/core/reference/config-options/#aws-skip-signature)* |
|
||||||
| | `--azure-allow-http` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#azure-allow-http)_ |
|
| | `--azure-allow-http` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#azure-allow-http)* |
|
||||||
| | `--azure-endpoint` | _See [configuration options](/influxdb3/enterprise/reference/config-options/##azure-endpoint)_ |
|
| | `--azure-endpoint` | *See [configuration options](/influxdb3/enterprise/reference/config-options/##azure-endpoint)* |
|
||||||
| | `--azure-storage-access-key` | _See [configuration options](/influxdb3/core/reference/config-options/#azure-storage-access-key)_ |
|
| | `--azure-storage-access-key` | *See [configuration options](/influxdb3/core/reference/config-options/#azure-storage-access-key)* |
|
||||||
| | `--azure-storage-account` | _See [configuration options](/influxdb3/core/reference/config-options/#azure-storage-account)_ |
|
| | `--azure-storage-account` | *See [configuration options](/influxdb3/core/reference/config-options/#azure-storage-account)* |
|
||||||
| | `--bucket` | _See [configuration options](/influxdb3/core/reference/config-options/#bucket)_ |
|
| | `--bucket` | *See [configuration options](/influxdb3/core/reference/config-options/#bucket)* |
|
||||||
| | `--data-dir` | _See [configuration options](/influxdb3/core/reference/config-options/#data-dir)_ |
|
| | `--data-dir` | *See [configuration options](/influxdb3/core/reference/config-options/#data-dir)* |
|
||||||
| | `--datafusion-config` | _See [configuration options](/influxdb3/core/reference/config-options/#datafusion-config)_ |
|
| | `--datafusion-config` | *See [configuration options](/influxdb3/core/reference/config-options/#datafusion-config)* |
|
||||||
| | `--datafusion-max-parquet-fanout` | _See [configuration options](/influxdb3/core/reference/config-options/#datafusion-max-parquet-fanout)_ |
|
| | `--datafusion-max-parquet-fanout` | *See [configuration options](/influxdb3/core/reference/config-options/#datafusion-max-parquet-fanout)* |
|
||||||
| | `--datafusion-num-threads` | _See [configuration options](/influxdb3/core/reference/config-options/#datafusion-num-threads)_ |
|
| | `--datafusion-num-threads` | *See [configuration options](/influxdb3/core/reference/config-options/#datafusion-num-threads)* |
|
||||||
| | `--datafusion-runtime-disable-lifo-slot` | _See [configuration options](/influxdb3/core/reference/config-options/#datafusion-runtime-disable-lifo-slot)_ |
|
| | `--datafusion-runtime-disable-lifo-slot` | *See [configuration options](/influxdb3/core/reference/config-options/#datafusion-runtime-disable-lifo-slot)* |
|
||||||
| | `--datafusion-runtime-event-interval` | _See [configuration options](/influxdb3/core/reference/config-options/#datafusion-runtime-event-interval)_ |
|
| | `--datafusion-runtime-event-interval` | *See [configuration options](/influxdb3/core/reference/config-options/#datafusion-runtime-event-interval)* |
|
||||||
| | `--datafusion-runtime-global-queue-interval` | _See [configuration options](/influxdb3/core/reference/config-options/#datafusion-runtime-global-queue-interval)_ |
|
| | `--datafusion-runtime-global-queue-interval` | *See [configuration options](/influxdb3/core/reference/config-options/#datafusion-runtime-global-queue-interval)* |
|
||||||
| | `--datafusion-runtime-max-blocking-threads` | _See [configuration options](/influxdb3/core/reference/config-options/#datafusion-runtime-max-blocking-threads)_ |
|
| | `--datafusion-runtime-max-blocking-threads` | *See [configuration options](/influxdb3/core/reference/config-options/#datafusion-runtime-max-blocking-threads)* |
|
||||||
| | `--datafusion-runtime-max-io-events-per-tick` | _See [configuration options](/influxdb3/core/reference/config-options/#datafusion-runtime-max-io-events-per-tick)_ |
|
| | `--datafusion-runtime-max-io-events-per-tick` | *See [configuration options](/influxdb3/core/reference/config-options/#datafusion-runtime-max-io-events-per-tick)* |
|
||||||
| | `--datafusion-runtime-thread-keep-alive` | _See [configuration options](/influxdb3/core/reference/config-options/#datafusion-runtime-thread-keep-alive)_ |
|
| | `--datafusion-runtime-thread-keep-alive` | *See [configuration options](/influxdb3/core/reference/config-options/#datafusion-runtime-thread-keep-alive)* |
|
||||||
| | `--datafusion-runtime-thread-priority` | _See [configuration options](/influxdb3/core/reference/config-options/#datafusion-runtime-thread-priority)_ |
|
| | `--datafusion-runtime-thread-priority` | *See [configuration options](/influxdb3/core/reference/config-options/#datafusion-runtime-thread-priority)* |
|
||||||
| | `--datafusion-runtime-type` | _See [configuration options](/influxdb3/core/reference/config-options/#datafusion-runtime-type)_ |
|
| | `--datafusion-runtime-type` | *See [configuration options](/influxdb3/core/reference/config-options/#datafusion-runtime-type)* |
|
||||||
| | `--datafusion-use-cached-parquet-loader` | _See [configuration options](/influxdb3/core/reference/config-options/#datafusion-use-cached-parquet-loader)_ |
|
| | `--datafusion-use-cached-parquet-loader` | *See [configuration options](/influxdb3/core/reference/config-options/#datafusion-use-cached-parquet-loader)* |
|
||||||
| | `--delete-grace-period` | _See [configuration options](/influxdb3/core/reference/config-options/#delete-grace-period)_ |
|
| | `--delete-grace-period` | *See [configuration options](/influxdb3/core/reference/config-options/#delete-grace-period)* |
|
||||||
| | `--disable-authz` | _See [configuration options](/influxdb3/core/reference/config-options/#disable-authz)_ |
|
| | `--disable-authz` | *See [configuration options](/influxdb3/core/reference/config-options/#disable-authz)* |
|
||||||
| | `--disable-parquet-mem-cache` | _See [configuration options](/influxdb3/core/reference/config-options/#disable-parquet-mem-cache)_ |
|
| | `--disable-parquet-mem-cache` | *See [configuration options](/influxdb3/core/reference/config-options/#disable-parquet-mem-cache)* |
|
||||||
| | `--distinct-cache-eviction-interval` | _See [configuration options](/influxdb3/core/reference/config-options/#distinct-cache-eviction-interval)_ |
|
| | `--distinct-cache-eviction-interval` | *See [configuration options](/influxdb3/core/reference/config-options/#distinct-cache-eviction-interval)* |
|
||||||
| | `--exec-mem-pool-bytes` | _See [configuration options](/influxdb3/core/reference/config-options/#exec-mem-pool-bytes)_ |
|
| | `--exec-mem-pool-bytes` | *See [configuration options](/influxdb3/core/reference/config-options/#exec-mem-pool-bytes)* |
|
||||||
| | `--force-snapshot-mem-threshold` | _See [configuration options](/influxdb3/core/reference/config-options/#force-snapshot-mem-threshold)_ |
|
| | `--force-snapshot-mem-threshold` | *See [configuration options](/influxdb3/core/reference/config-options/#force-snapshot-mem-threshold)* |
|
||||||
| | `--gen1-duration` | _See [configuration options](/influxdb3/core/reference/config-options/#gen1-duration)_ |
|
| | `--gen1-duration` | *See [configuration options](/influxdb3/core/reference/config-options/#gen1-duration)* |
|
||||||
| | `--gen1-lookback-duration` | _See [configuration options](/influxdb3/core/reference/config-options/#gen1-lookback-duration)_ |
|
| | `--gen1-lookback-duration` | *See [configuration options](/influxdb3/core/reference/config-options/#gen1-lookback-duration)* |
|
||||||
| | `--google-service-account` | _See [configuration options](/influxdb3/core/reference/config-options/#google-service-account)_ |
|
| | `--google-service-account` | *See [configuration options](/influxdb3/core/reference/config-options/#google-service-account)* |
|
||||||
| | `--hard-delete-default-duration` | _See [configuration options](/influxdb3/core/reference/config-options/#hard-delete-default-duration)_ |
|
| | `--hard-delete-default-duration` | *See [configuration options](/influxdb3/core/reference/config-options/#hard-delete-default-duration)* |
|
||||||
| `-h` | `--help` | Print help information |
|
| `-h` | `--help` | Print help information |
|
||||||
| | `--help-all` | Print detailed help information |
|
| | `--help-all` | Print detailed help information |
|
||||||
| | `--http-bind` | _See [configuration options](/influxdb3/core/reference/config-options/#http-bind)_ |
|
| | `--http-bind` | *See [configuration options](/influxdb3/core/reference/config-options/#http-bind)* |
|
||||||
| | `--last-cache-eviction-interval` | _See [configuration options](/influxdb3/core/reference/config-options/#last-cache-eviction-interval)_ |
|
| | `--last-cache-eviction-interval` | *See [configuration options](/influxdb3/core/reference/config-options/#last-cache-eviction-interval)* |
|
||||||
| | `--log-destination` | _See [configuration options](/influxdb3/core/reference/config-options/#log-destination)_ |
|
| | `--log-destination` | *See [configuration options](/influxdb3/core/reference/config-options/#log-destination)* |
|
||||||
| | `--log-filter` | _See [configuration options](/influxdb3/core/reference/config-options/#log-filter)_ |
|
| | `--log-filter` | *See [configuration options](/influxdb3/core/reference/config-options/#log-filter)* |
|
||||||
| | `--log-format` | _See [configuration options](/influxdb3/core/reference/config-options/#log-format)_ |
|
| | `--log-format` | *See [configuration options](/influxdb3/core/reference/config-options/#log-format)* |
|
||||||
| | `--max-http-request-size` | _See [configuration options](/influxdb3/core/reference/config-options/#max-http-request-size)_ |
|
| | `--max-http-request-size` | *See [configuration options](/influxdb3/core/reference/config-options/#max-http-request-size)* |
|
||||||
| | `--object-store-cache-endpoint` | _See [configuration options](/influxdb3/core/reference/config-options/#object-store-cache-endpoint)_ |
|
| | `--object-store-cache-endpoint` | *See [configuration options](/influxdb3/core/reference/config-options/#object-store-cache-endpoint)* |
|
||||||
| | `--object-store-connection-limit` | _See [configuration options](/influxdb3/core/reference/config-options/#object-store-connection-limit)_ |
|
| | `--object-store-connection-limit` | *See [configuration options](/influxdb3/core/reference/config-options/#object-store-connection-limit)* |
|
||||||
| | `--object-store-http2-max-frame-size` | _See [configuration options](/influxdb3/core/reference/config-options/#object-store-http2-max-frame-size)_ |
|
| | `--object-store-http2-max-frame-size` | *See [configuration options](/influxdb3/core/reference/config-options/#object-store-http2-max-frame-size)* |
|
||||||
| | `--object-store-http2-only` | _See [configuration options](/influxdb3/core/reference/config-options/#object-store-http2-only)_ |
|
| | `--object-store-http2-only` | *See [configuration options](/influxdb3/core/reference/config-options/#object-store-http2-only)* |
|
||||||
| | `--object-store-max-retries` | _See [configuration options](/influxdb3/core/reference/config-options/#object-store-max-retries)_ |
|
| | `--object-store-max-retries` | *See [configuration options](/influxdb3/core/reference/config-options/#object-store-max-retries)* |
|
||||||
| | `--object-store-retry-timeout` | _See [configuration options](/influxdb3/core/reference/config-options/#object-store-retry-timeout)_ |
|
| | `--object-store-retry-timeout` | *See [configuration options](/influxdb3/core/reference/config-options/#object-store-retry-timeout)* |
|
||||||
| | `--package-manager` | _See [configuration options](/influxdb3/core/reference/config-options/#package-manager)_ |
|
| | `--package-manager` | *See [configuration options](/influxdb3/core/reference/config-options/#package-manager)* |
|
||||||
| | `--parquet-mem-cache-prune-interval` | _See [configuration options](/influxdb3/core/reference/config-options/#parquet-mem-cache-prune-interval)_ |
|
| | `--parquet-mem-cache-prune-interval` | *See [configuration options](/influxdb3/core/reference/config-options/#parquet-mem-cache-prune-interval)* |
|
||||||
| | `--parquet-mem-cache-prune-percentage` | _See [configuration options](/influxdb3/core/reference/config-options/#parquet-mem-cache-prune-percentage)_ |
|
| | `--parquet-mem-cache-prune-percentage` | *See [configuration options](/influxdb3/core/reference/config-options/#parquet-mem-cache-prune-percentage)* |
|
||||||
| | `--parquet-mem-cache-query-path-duration` | _See [configuration options](/influxdb3/core/reference/config-options/#parquet-mem-cache-query-path-duration)_ |
|
| | `--parquet-mem-cache-query-path-duration` | *See [configuration options](/influxdb3/core/reference/config-options/#parquet-mem-cache-query-path-duration)* |
|
||||||
| | `--parquet-mem-cache-size` | _See [configuration options](/influxdb3/core/reference/config-options/#parquet-mem-cache-size)_ |
|
| | `--parquet-mem-cache-size` | *See [configuration options](/influxdb3/core/reference/config-options/#parquet-mem-cache-size)* |
|
||||||
| | `--plugin-dir` | _See [configuration options](/influxdb3/core/reference/config-options/#plugin-dir)_ |
|
| | `--plugin-dir` | *See [configuration options](/influxdb3/core/reference/config-options/#plugin-dir)* |
|
||||||
| | `--preemptive-cache-age` | _See [configuration options](/influxdb3/core/reference/config-options/#preemptive-cache-age)_ |
|
| | `--preemptive-cache-age` | *See [configuration options](/influxdb3/core/reference/config-options/#preemptive-cache-age)* |
|
||||||
| | `--query-file-limit` | _See [configuration options](/influxdb3/core/reference/config-options/#query-file-limit)_ |
|
| | `--query-file-limit` | *See [configuration options](/influxdb3/core/reference/config-options/#query-file-limit)* |
|
||||||
| | `--query-log-size` | _See [configuration options](/influxdb3/core/reference/config-options/#query-log-size)_ |
|
| | `--query-log-size` | *See [configuration options](/influxdb3/core/reference/config-options/#query-log-size)* |
|
||||||
| | `--retention-check-interval` | _See [configuration options](/influxdb3/core/reference/config-options/#retention-check-interval)_ |
|
| | `--retention-check-interval` | *See [configuration options](/influxdb3/core/reference/config-options/#retention-check-interval)* |
|
||||||
| | `--snapshotted-wal-files-to-keep` | _See [configuration options](/influxdb3/core/reference/config-options/#snapshotted-wal-files-to-keep)_ |
|
| | `--snapshotted-wal-files-to-keep` | *See [configuration options](/influxdb3/core/reference/config-options/#snapshotted-wal-files-to-keep)* |
|
||||||
| | `--table-index-cache-concurrency-limit` | _See [configuration options](/influxdb3/core/reference/config-options/#table-index-cache-concurrency-limit)_ |
|
| | `--table-index-cache-concurrency-limit` | *See [configuration options](/influxdb3/core/reference/config-options/#table-index-cache-concurrency-limit)* |
|
||||||
| | `--table-index-cache-max-entries` | _See [configuration options](/influxdb3/core/reference/config-options/#table-index-cache-max-entries)_ |
|
| | `--table-index-cache-max-entries` | *See [configuration options](/influxdb3/core/reference/config-options/#table-index-cache-max-entries)* |
|
||||||
| | `--tcp-listener-file-path` | _See [configuration options](/influxdb3/core/reference/config-options/#tcp-listener-file-path)_ |
|
| | `--tcp-listener-file-path` | *See [configuration options](/influxdb3/core/reference/config-options/#tcp-listener-file-path)* |
|
||||||
| | `--telemetry-disable-upload` | _See [configuration options](/influxdb3/core/reference/config-options/#telemetry-disable-upload)_ |
|
| | `--telemetry-disable-upload` | *See [configuration options](/influxdb3/core/reference/config-options/#telemetry-disable-upload)* |
|
||||||
| | `--telemetry-endpoint` | _See [configuration options](/influxdb3/core/reference/config-options/#telemetry-endpoint)_ |
|
| | `--telemetry-endpoint` | *See [configuration options](/influxdb3/core/reference/config-options/#telemetry-endpoint)* |
|
||||||
| | `--tls-cert` | _See [configuration options](/influxdb3/core/reference/config-options/#tls-cert)_ |
|
| | `--tls-cert` | *See [configuration options](/influxdb3/core/reference/config-options/#tls-cert)* |
|
||||||
| | `--tls-key` | _See [configuration options](/influxdb3/core/reference/config-options/#tls-key)_ |
|
| | `--tls-key` | *See [configuration options](/influxdb3/core/reference/config-options/#tls-key)* |
|
||||||
| | `--tls-minimum-version` | _See [configuration options](/influxdb3/core/reference/config-options/#tls-minimum-version)_ |
|
| | `--tls-minimum-version` | *See [configuration options](/influxdb3/core/reference/config-options/#tls-minimum-version)* |
|
||||||
| | `--traces-exporter` | _See [configuration options](/influxdb3/core/reference/config-options/#traces-exporter)_ |
|
| | `--traces-exporter` | *See [configuration options](/influxdb3/core/reference/config-options/#traces-exporter)* |
|
||||||
| | `--traces-exporter-jaeger-agent-host` | _See [configuration options](/influxdb3/core/reference/config-options/#traces-exporter-jaeger-agent-host)_ |
|
| | `--traces-exporter-jaeger-agent-host` | *See [configuration options](/influxdb3/core/reference/config-options/#traces-exporter-jaeger-agent-host)* |
|
||||||
| | `--traces-exporter-jaeger-agent-port` | _See [configuration options](/influxdb3/core/reference/config-options/#traces-exporter-jaeger-agent-port)_ |
|
| | `--traces-exporter-jaeger-agent-port` | *See [configuration options](/influxdb3/core/reference/config-options/#traces-exporter-jaeger-agent-port)* |
|
||||||
| | `--traces-exporter-jaeger-service-name` | _See [configuration options](/influxdb3/core/reference/config-options/#traces-exporter-jaeger-service-name)_ |
|
| | `--traces-exporter-jaeger-service-name` | *See [configuration options](/influxdb3/core/reference/config-options/#traces-exporter-jaeger-service-name)* |
|
||||||
| | `--traces-exporter-jaeger-trace-context-header-name` | _See [configuration options](/influxdb3/core/reference/config-options/#traces-exporter-jaeger-trace-context-header-name)_ |
|
| | `--traces-exporter-jaeger-trace-context-header-name` | *See [configuration options](/influxdb3/core/reference/config-options/#traces-exporter-jaeger-trace-context-header-name)* |
|
||||||
| | `--traces-jaeger-debug-name` | _See [configuration options](/influxdb3/core/reference/config-options/#traces-jaeger-debug-name)_ |
|
| | `--traces-jaeger-debug-name` | *See [configuration options](/influxdb3/core/reference/config-options/#traces-jaeger-debug-name)* |
|
||||||
| | `--traces-jaeger-max-msgs-per-second` | _See [configuration options](/influxdb3/core/reference/config-options/#traces-jaeger-max-msgs-per-second)_ |
|
| | `--traces-jaeger-max-msgs-per-second` | *See [configuration options](/influxdb3/core/reference/config-options/#traces-jaeger-max-msgs-per-second)* |
|
||||||
| | `--traces-jaeger-tags` | _See [configuration options](/influxdb3/core/reference/config-options/#traces-jaeger-tags)_ |
|
| | `--traces-jaeger-tags` | *See [configuration options](/influxdb3/core/reference/config-options/#traces-jaeger-tags)* |
|
||||||
| | `--virtual-env-location` | _See [configuration options](/influxdb3/core/reference/config-options/#virtual-env-location)_ |
|
| | `--virtual-env-location` | *See [configuration options](/influxdb3/core/reference/config-options/#virtual-env-location)* |
|
||||||
| | `--wal-flush-interval` | _See [configuration options](/influxdb3/core/reference/config-options/#wal-flush-interval)_ |
|
| | `--wal-flush-interval` | *See [configuration options](/influxdb3/core/reference/config-options/#wal-flush-interval)* |
|
||||||
| | `--wal-max-write-buffer-size` | _See [configuration options](/influxdb3/core/reference/config-options/#wal-max-write-buffer-size)_ |
|
| | `--wal-max-write-buffer-size` | *See [configuration options](/influxdb3/core/reference/config-options/#wal-max-write-buffer-size)* |
|
||||||
| | `--wal-replay-concurrency-limit` | _See [configuration options](/influxdb3/core/reference/config-options/#wal-replay-concurrency-limit)_ |
|
| | `--wal-replay-concurrency-limit` | *See [configuration options](/influxdb3/core/reference/config-options/#wal-replay-concurrency-limit)* |
|
||||||
| | `--wal-replay-fail-on-error` | _See [configuration options](/influxdb3/core/reference/config-options/#wal-replay-fail-on-error)_ |
|
| | `--wal-replay-fail-on-error` | *See [configuration options](/influxdb3/core/reference/config-options/#wal-replay-fail-on-error)* |
|
||||||
| | `--wal-snapshot-size` | _See [configuration options](/influxdb3/core/reference/config-options/#wal-snapshot-size)_ |
|
| | `--wal-snapshot-size` | *See [configuration options](/influxdb3/core/reference/config-options/#wal-snapshot-size)* |
|
||||||
| | `--without-auth` | _See [configuration options](/influxdb3/core/reference/config-options/#without-auth)_ |
|
| | `--without-auth` | *See [configuration options](/influxdb3/core/reference/config-options/#without-auth)* |
|
||||||
|
|
||||||
{{< caption >}}
|
|
||||||
{{< req text="\* Required options" >}}
|
|
||||||
{{< /caption >}}
|
|
||||||
|
|
||||||
### Option environment variables
|
### Option environment variables
|
||||||
|
|
||||||
|
|
@ -144,11 +142,52 @@ You can use environment variables to define most `influxdb3 serve` options.
|
||||||
For more information, see
|
For more information, see
|
||||||
[Configuration options](/influxdb3/core/reference/config-options/).
|
[Configuration options](/influxdb3/core/reference/config-options/).
|
||||||
|
|
||||||
|
## Quick-Start Mode
|
||||||
|
|
||||||
|
For development, testing, and home use, you can start {{< product-name >}} by running `influxdb3` without the `serve` subcommand or any configuration parameters. The system automatically generates required values:
|
||||||
|
|
||||||
|
- **`node-id`**: `{hostname}-node` (fallback: `primary-node`)
|
||||||
|
- **`object-store`**: `file`
|
||||||
|
- **`data-dir`**: `~/.influxdb`
|
||||||
|
|
||||||
|
The system displays warning messages showing the auto-generated identifiers:
|
||||||
|
|
||||||
|
```
|
||||||
|
Using auto-generated node id: mylaptop-node. For production deployments, explicitly set --node-id
|
||||||
|
```
|
||||||
|
|
||||||
|
### Quick-start examples
|
||||||
|
|
||||||
|
<!--pytest.mark.skip-->
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Zero-config startup
|
||||||
|
influxdb3
|
||||||
|
|
||||||
|
# Override specific defaults
|
||||||
|
influxdb3 --object-store memory
|
||||||
|
|
||||||
|
# Use environment variables to override defaults
|
||||||
|
INFLUXDB3_NODE_IDENTIFIER_PREFIX=my-node influxdb3
|
||||||
|
```
|
||||||
|
|
||||||
|
> \[!Important]
|
||||||
|
>
|
||||||
|
> #### Production deployments
|
||||||
|
>
|
||||||
|
> Quick-start mode is designed for development and testing environments.
|
||||||
|
> For production deployments, use explicit configuration with the `serve` subcommand
|
||||||
|
> and specify all required parameters as shown in the [Examples](#examples) below.
|
||||||
|
|
||||||
|
**Configuration precedence**: CLI flags > environment variables > auto-generated defaults
|
||||||
|
|
||||||
|
For more information about quick-start mode, see [Get started](/influxdb3/core/get-started/setup/#quick-start-mode-development).
|
||||||
|
|
||||||
## Examples
|
## Examples
|
||||||
|
|
||||||
- [Run the InfluxDB 3 server](#run-the-influxdb-3-server)
|
- [Run the InfluxDB 3 server](#run-the-influxdb-3-server)
|
||||||
- [Run the InfluxDB 3 server with extra verbose logging](#run-the-influxdb-3-server-with-extra-verbose-logging)
|
- [Run the InfluxDB 3 server with extra verbose logging](#run-the-influxdb-3-server-with-extra-verbose-logging)
|
||||||
- [Run InfluxDB 3 with debug logging using LOG_FILTER](#run-influxdb-3-with-debug-logging-using-log_filter)
|
- [Run InfluxDB 3 with debug logging using LOG\_FILTER](#run-influxdb-3-with-debug-logging-using-log_filter)
|
||||||
|
|
||||||
In the examples below, replace
|
In the examples below, replace
|
||||||
{{% code-placeholder-key %}}`my-host-01`{{% /code-placeholder-key %}}:
|
{{% code-placeholder-key %}}`my-host-01`{{% /code-placeholder-key %}}:
|
||||||
|
|
@ -179,7 +218,7 @@ influxdb3 serve \
|
||||||
--verbose
|
--verbose
|
||||||
```
|
```
|
||||||
|
|
||||||
### Run InfluxDB 3 with debug logging using LOG_FILTER
|
### Run InfluxDB 3 with debug logging using LOG\_FILTER
|
||||||
|
|
||||||
<!--pytest.mark.skip-->
|
<!--pytest.mark.skip-->
|
||||||
|
|
||||||
|
|
@ -192,13 +231,12 @@ LOG_FILTER=debug influxdb3 serve \
|
||||||
|
|
||||||
{{% /code-placeholders %}}
|
{{% /code-placeholders %}}
|
||||||
|
|
||||||
|
|
||||||
## Troubleshooting
|
## Troubleshooting
|
||||||
|
|
||||||
### Common Issues
|
### Common Issues
|
||||||
|
|
||||||
- **Error: "Failed to connect to object store"**
|
- **Error: "Failed to connect to object store"**\
|
||||||
Verify your `--object-store` setting and ensure all required parameters for that storage type are provided.
|
Verify your `--object-store` setting and ensure all required parameters for that storage type are provided.
|
||||||
|
|
||||||
- **Permission errors when using S3, Google Cloud, or Azure storage**
|
- **Permission errors when using S3, Google Cloud, or Azure storage**\
|
||||||
Check that your authentication credentials are correct and have sufficient permissions.
|
Check that your authentication credentials are correct and have sufficient permissions.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
---
|
||||||
|
title: influxdb3 show plugins
|
||||||
|
description: >
|
||||||
|
The `influxdb3 show plugins` command lists loaded Processing Engine plugins in your
|
||||||
|
InfluxDB 3 Core server.
|
||||||
|
menu:
|
||||||
|
influxdb3_core:
|
||||||
|
parent: influxdb3 show
|
||||||
|
name: influxdb3 show plugins
|
||||||
|
weight: 350
|
||||||
|
source: /shared/influxdb3-cli/show/plugins.md
|
||||||
|
---
|
||||||
|
|
||||||
|
<!--
|
||||||
|
// SOURCE content/shared/influxdb3-cli/show/plugins.md
|
||||||
|
-->
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
---
|
||||||
|
title: influxdb3 update trigger
|
||||||
|
description: >
|
||||||
|
The `influxdb3 update trigger` command updates an existing trigger.
|
||||||
|
menu:
|
||||||
|
influxdb3_core:
|
||||||
|
parent: influxdb3 update
|
||||||
|
name: influxdb3 update trigger
|
||||||
|
weight: 401
|
||||||
|
source: /shared/influxdb3-cli/update/trigger.md
|
||||||
|
---
|
||||||
|
|
||||||
|
<!--
|
||||||
|
// SOURCE content/shared/influxdb3-cli/update/trigger.md
|
||||||
|
-->
|
||||||
|
|
@ -23,7 +23,7 @@ influxdb3 [GLOBAL-OPTIONS] [COMMAND]
|
||||||
## Commands
|
## Commands
|
||||||
|
|
||||||
| Command | Description |
|
| Command | Description |
|
||||||
| :--------------------------------------------------------------| :---------------------------------- |
|
| :---------------------------------------------------------------- | :---------------------------------- |
|
||||||
| [create](/influxdb3/enterprise/reference/cli/influxdb3/create/) | Create resources |
|
| [create](/influxdb3/enterprise/reference/cli/influxdb3/create/) | Create resources |
|
||||||
| [delete](/influxdb3/enterprise/reference/cli/influxdb3/delete/) | Delete resources |
|
| [delete](/influxdb3/enterprise/reference/cli/influxdb3/delete/) | Delete resources |
|
||||||
| [disable](/influxdb3/enterprise/reference/cli/influxdb3/disable/) | Disable resources |
|
| [disable](/influxdb3/enterprise/reference/cli/influxdb3/disable/) | Disable resources |
|
||||||
|
|
@ -38,26 +38,68 @@ influxdb3 [GLOBAL-OPTIONS] [COMMAND]
|
||||||
## Global options
|
## Global options
|
||||||
|
|
||||||
| Option | | Description |
|
| Option | | Description |
|
||||||
| :----- | :---------------- | :-------------------------------------------------------------------- |
|
| :----- | :----------- | :---------------------------------------------------------------------- |
|
||||||
| `-h` | `--help` | Print help information |
|
| `-h` | `--help` | Print help information |
|
||||||
| | `--help-all` | Print detailed help information including runtime configuration options |
|
| | `--help-all` | Print detailed help information including runtime configuration options |
|
||||||
| `-V` | `--version` | Print version |
|
| `-V` | `--version` | Print version |
|
||||||
|
|
||||||
For advanced global configuration options (including `--num-io-threads` and other runtime settings), see [Configuration options](/influxdb3/enterprise/reference/config-options/#global-configuration-options).
|
For advanced global configuration options (including `--num-io-threads` and other runtime settings), see [Configuration options](/influxdb3/enterprise/reference/config-options/#global-configuration-options).
|
||||||
|
|
||||||
|
## Quick-Start Mode
|
||||||
|
|
||||||
|
For development, testing, and home use, you can start {{< product-name >}} by running `influxdb3` without the `serve` subcommand or any configuration parameters. The system automatically generates required values:
|
||||||
|
|
||||||
|
- **`node-id`**: `{hostname}-node` (fallback: `primary-node`)
|
||||||
|
- **`cluster-id`**: `{hostname}-cluster` (fallback: `primary-cluster`)
|
||||||
|
- **`object-store`**: `file`
|
||||||
|
- **`data-dir`**: `~/.influxdb`
|
||||||
|
|
||||||
|
The system displays warning messages showing the auto-generated identifiers:
|
||||||
|
|
||||||
|
```
|
||||||
|
Using auto-generated node id: mylaptop-node. For production deployments, explicitly set --node-id
|
||||||
|
Using auto-generated cluster id: mylaptop-cluster. For production deployments, explicitly set --cluster-id
|
||||||
|
```
|
||||||
|
|
||||||
|
> \[!Important]
|
||||||
|
>
|
||||||
|
> #### Production deployments
|
||||||
|
>
|
||||||
|
> Quick-start mode is designed for development and testing environments.
|
||||||
|
> For production deployments, use explicit configuration with the `serve` subcommand
|
||||||
|
> and specify all required parameters as shown in the [Examples](#examples) below.
|
||||||
|
|
||||||
|
**Configuration precedence**: CLI flags > environment variables > auto-generated defaults
|
||||||
|
|
||||||
|
For more information about quick-start mode, see [Get started](/influxdb3/enterprise/get-started/setup/#quick-start-mode-development).
|
||||||
|
|
||||||
## Examples
|
## Examples
|
||||||
|
|
||||||
In the examples below, replace the following:
|
In the examples below, replace the following:
|
||||||
|
|
||||||
- {{% code-placeholder-key %}}`my-host-01`{{% /code-placeholder-key %}}:
|
- {{% code-placeholder-key %}}`my-host-01`{{% /code-placeholder-key %}}:
|
||||||
a unique identifier for your {{< product-name >}} server.
|
a unique identifier for your {{< product-name >}} server.
|
||||||
- {{% code-placeholder-key %}}`my-cluster-01`{{% /code-placeholder-key %}}:
|
- {{% code-placeholder-key %}}`my-cluster-01`{{% /code-placeholder-key %}}:
|
||||||
a unique identifier for your {{< product-name >}} cluster.
|
a unique identifier for your {{< product-name >}} cluster.
|
||||||
The value you use must be different from `--node-id` values in the cluster.
|
The value you use must be different from `--node-id` values in the cluster.
|
||||||
|
|
||||||
{{% code-placeholders "my-host-01|my-cluster-01" %}}
|
{{% code-placeholders "my-host-01|my-cluster-01" %}}
|
||||||
|
|
||||||
|
### Quick-start influxdb3 server
|
||||||
|
|
||||||
|
<!--pytest.mark.skip-->
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Zero-config startup
|
||||||
|
influxdb3
|
||||||
|
|
||||||
|
# Override specific defaults
|
||||||
|
influxdb3 --object-store memory
|
||||||
|
|
||||||
|
# Use environment variables to override defaults
|
||||||
|
INFLUXDB3_NODE_IDENTIFIER_PREFIX=my-node influxdb3
|
||||||
|
```
|
||||||
|
|
||||||
### Run the InfluxDB 3 server
|
### Run the InfluxDB 3 server
|
||||||
|
|
||||||
<!--pytest.mark.skip-->
|
<!--pytest.mark.skip-->
|
||||||
|
|
@ -111,7 +153,7 @@ influxdb3 serve \
|
||||||
--verbose
|
--verbose
|
||||||
```
|
```
|
||||||
|
|
||||||
### Run {{% product-name %}} with debug logging using LOG_FILTER
|
### Run {{% product-name %}} with debug logging using LOG\_FILTER
|
||||||
|
|
||||||
<!--pytest.mark.skip-->
|
<!--pytest.mark.skip-->
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,23 +18,23 @@ The `influxdb3 serve` command starts the {{< product-name >}} server.
|
||||||
<!--pytest.mark.skip-->
|
<!--pytest.mark.skip-->
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
influxdb3 serve [OPTIONS] \
|
influxdb3 serve [OPTIONS]
|
||||||
--node-id <NODE_IDENTIFIER_PREFIX> \
|
|
||||||
--cluster-id <CLUSTER_IDENTIFIER_PREFIX>
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Required parameters
|
## Required Parameters
|
||||||
|
|
||||||
- **node-id**: A unique identifier for your server instance. Must be unique for any hosts sharing the same object store.
|
- **node-id**: A unique identifier for your server instance. Must be unique for any hosts sharing the same object store.
|
||||||
- **cluster-id**: A unique identifier for your cluster. Must be different from any node-id in your cluster.
|
- **cluster-id**: A unique identifier for your cluster. Must be different from any node-id in your cluster.
|
||||||
- **object-store**: Determines where time series data is stored.
|
- **object-store**: Determines where time series data is stored.
|
||||||
- Other object store parameters depending on the selected `object-store` type.
|
- Other object store parameters depending on the selected `object-store` type.
|
||||||
|
|
||||||
> [!NOTE]
|
> \[!NOTE]
|
||||||
> `--node-id` and `--cluster-id` support alphanumeric strings with optional hyphens.
|
> `--node-id` and `--cluster-id` support alphanumeric strings with optional hyphens.
|
||||||
|
|
||||||
> [!Important]
|
> \[!Important]
|
||||||
|
>
|
||||||
> #### Global configuration options
|
> #### Global configuration options
|
||||||
|
>
|
||||||
> Some configuration options (like [`--num-io-threads`](/influxdb3/enterprise/reference/config-options/#num-io-threads)) are **global** and must be specified **before** the `serve` command:
|
> Some configuration options (like [`--num-io-threads`](/influxdb3/enterprise/reference/config-options/#num-io-threads)) are **global** and must be specified **before** the `serve` command:
|
||||||
>
|
>
|
||||||
> ```bash
|
> ```bash
|
||||||
|
|
@ -46,123 +46,119 @@ influxdb3 serve [OPTIONS] \
|
||||||
## Options
|
## Options
|
||||||
|
|
||||||
| Option | | Description |
|
| Option | | Description |
|
||||||
| :--------------- | :--------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------ |
|
| :----- | :--------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------ |
|
||||||
| | `--admin-token-recovery-http-bind` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#admin-token-recovery-http-bind)_ |
|
| | `--admin-token-recovery-http-bind` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#admin-token-recovery-http-bind)* |
|
||||||
| | `--admin-token-recovery-tcp-listener-file-path` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#admin-token-recovery-tcp-listener-file-path)_ |
|
| | `--admin-token-recovery-tcp-listener-file-path` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#admin-token-recovery-tcp-listener-file-path)* |
|
||||||
| | `--admin-token-file` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#admin-token-file)_ |
|
| | `--admin-token-file` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#admin-token-file)* |
|
||||||
| | `--aws-access-key-id` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#aws-access-key-id)_ |
|
| | `--aws-access-key-id` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#aws-access-key-id)* |
|
||||||
| | `--aws-allow-http` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#aws-allow-http)_ |
|
| | `--aws-allow-http` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#aws-allow-http)* |
|
||||||
| | `--aws-credentials-file` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#aws-credentials-file)_ |
|
| | `--aws-credentials-file` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#aws-credentials-file)* |
|
||||||
| | `--aws-default-region` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#aws-default-region)_ |
|
| | `--aws-default-region` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#aws-default-region)* |
|
||||||
| | `--aws-endpoint` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#aws-endpoint)_ |
|
| | `--aws-endpoint` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#aws-endpoint)* |
|
||||||
| | `--aws-secret-access-key` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#aws-secret-access-key)_ |
|
| | `--aws-secret-access-key` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#aws-secret-access-key)* |
|
||||||
| | `--aws-session-token` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#aws-session-token)_ |
|
| | `--aws-session-token` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#aws-session-token)* |
|
||||||
| | `--aws-skip-signature` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#aws-skip-signature)_ |
|
| | `--aws-skip-signature` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#aws-skip-signature)* |
|
||||||
| | `--azure-allow-http` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#azure-allow-http)_ |
|
| | `--azure-allow-http` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#azure-allow-http)* |
|
||||||
| | `--azure-endpoint` | _See [configuration options](/influxdb3/enterprise/reference/config-options/##azure-endpoint)_ |
|
| | `--azure-endpoint` | *See [configuration options](/influxdb3/enterprise/reference/config-options/##azure-endpoint)* |
|
||||||
| | `--azure-storage-access-key` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#azure-storage-access-key)_ |
|
| | `--azure-storage-access-key` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#azure-storage-access-key)* |
|
||||||
| | `--azure-storage-account` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#azure-storage-account)_ |
|
| | `--azure-storage-account` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#azure-storage-account)* |
|
||||||
| | `--bucket` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#bucket)_ |
|
| | `--bucket` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#bucket)* |
|
||||||
| | `--catalog-sync-interval` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#catalog-sync-interval)_ |
|
| | `--catalog-sync-interval` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#catalog-sync-interval)* |
|
||||||
| {{< req "\*" >}} | `--cluster-id` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#cluster-id)_ |
|
| | `--cluster-id` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#cluster-id)* |
|
||||||
| | `--compaction-check-interval` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#compaction-check-interval)_ |
|
| | `--compaction-check-interval` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#compaction-check-interval)* |
|
||||||
| | `--compaction-cleanup-wait` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#compaction-cleanup-wait)_ |
|
| | `--compaction-cleanup-wait` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#compaction-cleanup-wait)* |
|
||||||
| | `--compaction-gen2-duration` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#compaction-gen2-duration)_ |
|
| | `--compaction-gen2-duration` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#compaction-gen2-duration)* |
|
||||||
| | `--compaction-max-num-files-per-plan` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#compaction-max-num-files-per-plan)_ |
|
| | `--compaction-max-num-files-per-plan` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#compaction-max-num-files-per-plan)* |
|
||||||
| | `--compaction-multipliers` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#compaction-multipliers)_ |
|
| | `--compaction-multipliers` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#compaction-multipliers)* |
|
||||||
| | `--compaction-row-limit` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#compaction-row-limit)_ |
|
| | `--compaction-row-limit` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#compaction-row-limit)* |
|
||||||
| | `--data-dir` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#data-dir)_ |
|
| | `--data-dir` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#data-dir)* |
|
||||||
| | `--datafusion-config` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#datafusion-config)_ |
|
| | `--datafusion-config` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#datafusion-config)* |
|
||||||
| | `--datafusion-max-parquet-fanout` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#datafusion-max-parquet-fanout)_ |
|
| | `--datafusion-max-parquet-fanout` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#datafusion-max-parquet-fanout)* |
|
||||||
| | `--datafusion-num-threads` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#datafusion-num-threads)_ |
|
| | `--datafusion-num-threads` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#datafusion-num-threads)* |
|
||||||
| | `--datafusion-runtime-disable-lifo-slot` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#datafusion-runtime-disable-lifo-slot)_ |
|
| | `--datafusion-runtime-disable-lifo-slot` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#datafusion-runtime-disable-lifo-slot)* |
|
||||||
| | `--datafusion-runtime-event-interval` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#datafusion-runtime-event-interval)_ |
|
| | `--datafusion-runtime-event-interval` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#datafusion-runtime-event-interval)* |
|
||||||
| | `--datafusion-runtime-global-queue-interval` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#datafusion-runtime-global-queue-interval)_ |
|
| | `--datafusion-runtime-global-queue-interval` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#datafusion-runtime-global-queue-interval)* |
|
||||||
| | `--datafusion-runtime-max-blocking-threads` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#datafusion-runtime-max-blocking-threads)_ |
|
| | `--datafusion-runtime-max-blocking-threads` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#datafusion-runtime-max-blocking-threads)* |
|
||||||
| | `--datafusion-runtime-max-io-events-per-tick` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#datafusion-runtime-max-io-events-per-tick)_ |
|
| | `--datafusion-runtime-max-io-events-per-tick` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#datafusion-runtime-max-io-events-per-tick)* |
|
||||||
| | `--datafusion-runtime-thread-keep-alive` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#datafusion-runtime-thread-keep-alive)_ |
|
| | `--datafusion-runtime-thread-keep-alive` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#datafusion-runtime-thread-keep-alive)* |
|
||||||
| | `--datafusion-runtime-thread-priority` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#datafusion-runtime-thread-priority)_ |
|
| | `--datafusion-runtime-thread-priority` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#datafusion-runtime-thread-priority)* |
|
||||||
| | `--datafusion-runtime-type` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#datafusion-runtime-type)_ |
|
| | `--datafusion-runtime-type` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#datafusion-runtime-type)* |
|
||||||
| | `--datafusion-use-cached-parquet-loader` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#datafusion-use-cached-parquet-loader)_ |
|
| | `--datafusion-use-cached-parquet-loader` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#datafusion-use-cached-parquet-loader)* |
|
||||||
| | `--delete-grace-period` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#delete-grace-period)_ |
|
| | `--delete-grace-period` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#delete-grace-period)* |
|
||||||
| | `--disable-authz` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#disable-authz)_ |
|
| | `--disable-authz` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#disable-authz)* |
|
||||||
| | `--disable-parquet-mem-cache` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#disable-parquet-mem-cache)_ |
|
| | `--disable-parquet-mem-cache` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#disable-parquet-mem-cache)* |
|
||||||
| | `--distinct-cache-eviction-interval` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#distinct-cache-eviction-interval)_ |
|
| | `--distinct-cache-eviction-interval` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#distinct-cache-eviction-interval)* |
|
||||||
| | `--distinct-value-cache-disable-from-history` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#distinct-value-cache-disable-from-history)_ |
|
| | `--distinct-value-cache-disable-from-history` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#distinct-value-cache-disable-from-history)* |
|
||||||
| | `--exec-mem-pool-bytes` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#exec-mem-pool-bytes)_ |
|
| | `--exec-mem-pool-bytes` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#exec-mem-pool-bytes)* |
|
||||||
| | `--force-snapshot-mem-threshold` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#force-snapshot-mem-threshold)_ |
|
| | `--force-snapshot-mem-threshold` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#force-snapshot-mem-threshold)* |
|
||||||
| | `--gen1-duration` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#gen1-duration)_ |
|
| | `--gen1-duration` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#gen1-duration)* |
|
||||||
| | `--gen1-lookback-duration` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#gen1-lookback-duration)_ |
|
| | `--gen1-lookback-duration` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#gen1-lookback-duration)* |
|
||||||
| | `--google-service-account` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#google-service-account)_ |
|
| | `--google-service-account` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#google-service-account)* |
|
||||||
| | `--hard-delete-default-duration` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#hard-delete-default-duration)_ |
|
| | `--hard-delete-default-duration` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#hard-delete-default-duration)* |
|
||||||
| `-h` | `--help` | Print help information |
|
| `-h` | `--help` | Print help information |
|
||||||
| | `--help-all` | Print detailed help information |
|
| | `--help-all` | Print detailed help information |
|
||||||
| | `--http-bind` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#http-bind)_ |
|
| | `--http-bind` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#http-bind)* |
|
||||||
| | `--last-cache-eviction-interval` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#last-cache-eviction-interval)_ |
|
| | `--last-cache-eviction-interval` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#last-cache-eviction-interval)* |
|
||||||
| | `--last-value-cache-disable-from-history` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#last-value-cache-disable-from-history)_ |
|
| | `--last-value-cache-disable-from-history` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#last-value-cache-disable-from-history)* |
|
||||||
| | `--license-email` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#license-email)_ |
|
| | `--license-email` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#license-email)* |
|
||||||
| | `--license-file` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#license-file)_ |
|
| | `--license-file` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#license-file)* |
|
||||||
| | `--log-destination` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#log-destination)_ |
|
| | `--log-destination` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#log-destination)* |
|
||||||
| | `--log-filter` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#log-filter)_ |
|
| | `--log-filter` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#log-filter)* |
|
||||||
| | `--log-format` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#log-format)_ |
|
| | `--log-format` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#log-format)* |
|
||||||
| | `--max-http-request-size` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#max-http-request-size)_ |
|
| | `--max-http-request-size` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#max-http-request-size)* |
|
||||||
| | `--mode` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#mode)_ |
|
| | `--mode` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#mode)* |
|
||||||
| {{< req "\*" >}} | `--node-id` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#node-id)_ |
|
| | `--node-id` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#node-id)* |
|
||||||
| | `--node-id-from-env` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#node-id-from-env)_ |
|
| | `--node-id-from-env` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#node-id-from-env)* |
|
||||||
| | `--num-cores` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#num-cores)_ |
|
| | `--num-cores` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#num-cores)* |
|
||||||
| | `--num-datafusion-threads` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#num-datafusion-threads)_ |
|
| | `--num-datafusion-threads` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#num-datafusion-threads)* |
|
||||||
| | `--num-database-limit` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#num-database-limit)_ |
|
| | `--num-database-limit` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#num-database-limit)* |
|
||||||
| | `--num-table-limit` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#num-table-limit)_ |
|
| | `--num-table-limit` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#num-table-limit)* |
|
||||||
| | `--num-total-columns-per-table-limit` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#num-total-columns-per-table-limit)_ |
|
| | `--num-total-columns-per-table-limit` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#num-total-columns-per-table-limit)* |
|
||||||
| | `--object-store` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#object-store)_ |
|
| | `--object-store` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#object-store)* |
|
||||||
| | `--object-store-cache-endpoint` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#object-store-cache-endpoint)_ |
|
| | `--object-store-cache-endpoint` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#object-store-cache-endpoint)* |
|
||||||
| | `--object-store-connection-limit` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#object-store-connection-limit)_ |
|
| | `--object-store-connection-limit` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#object-store-connection-limit)* |
|
||||||
| | `--object-store-http2-max-frame-size` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#object-store-http2-max-frame-size)_ |
|
| | `--object-store-http2-max-frame-size` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#object-store-http2-max-frame-size)* |
|
||||||
| | `--object-store-http2-only` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#object-store-http2-only)_ |
|
| | `--object-store-http2-only` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#object-store-http2-only)* |
|
||||||
| | `--object-store-max-retries` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#object-store-max-retries)_ |
|
| | `--object-store-max-retries` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#object-store-max-retries)* |
|
||||||
| | `--object-store-retry-timeout` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#object-store-retry-timeout)_ |
|
| | `--object-store-retry-timeout` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#object-store-retry-timeout)* |
|
||||||
| | `--package-manager` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#package-manager)_ |
|
| | `--package-manager` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#package-manager)* |
|
||||||
| | `--parquet-mem-cache-prune-interval` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#parquet-mem-cache-prune-interval)_ |
|
| | `--parquet-mem-cache-prune-interval` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#parquet-mem-cache-prune-interval)* |
|
||||||
| | `--parquet-mem-cache-prune-percentage` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#parquet-mem-cache-prune-percentage)_ |
|
| | `--parquet-mem-cache-prune-percentage` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#parquet-mem-cache-prune-percentage)* |
|
||||||
| | `--parquet-mem-cache-query-path-duration` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#parquet-mem-cache-query-path-duration)_ |
|
| | `--parquet-mem-cache-query-path-duration` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#parquet-mem-cache-query-path-duration)* |
|
||||||
| | `--parquet-mem-cache-size` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#parquet-mem-cache-size)_ |
|
| | `--parquet-mem-cache-size` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#parquet-mem-cache-size)* |
|
||||||
| | `--permission-tokens-file` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#permission-tokens-file)_ |
|
| | `--permission-tokens-file` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#permission-tokens-file)* |
|
||||||
| | `--plugin-dir` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#plugin-dir)_ |
|
| | `--plugin-dir` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#plugin-dir)* |
|
||||||
| | `--preemptive-cache-age` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#preemptive-cache-age)_ |
|
| | `--preemptive-cache-age` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#preemptive-cache-age)* |
|
||||||
| | `--query-file-limit` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#query-file-limit)_ |
|
| | `--query-file-limit` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#query-file-limit)* |
|
||||||
| | `--query-log-size` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#query-log-size)_ |
|
| | `--query-log-size` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#query-log-size)* |
|
||||||
| | `--replication-interval` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#replication-interval)_ |
|
| | `--replication-interval` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#replication-interval)* |
|
||||||
| | `--retention-check-interval` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#retention-check-interval)_ |
|
| | `--retention-check-interval` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#retention-check-interval)* |
|
||||||
| | `--snapshotted-wal-files-to-keep` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#snapshotted-wal-files-to-keep)_ |
|
| | `--snapshotted-wal-files-to-keep` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#snapshotted-wal-files-to-keep)* |
|
||||||
| | `--table-index-cache-concurrency-limit` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#table-index-cache-concurrency-limit)_ |
|
| | `--table-index-cache-concurrency-limit` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#table-index-cache-concurrency-limit)* |
|
||||||
| | `--table-index-cache-max-entries` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#table-index-cache-max-entries)_ |
|
| | `--table-index-cache-max-entries` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#table-index-cache-max-entries)* |
|
||||||
| | `--tcp-listener-file-path` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#tcp-listener-file-path)_ |
|
| | `--tcp-listener-file-path` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#tcp-listener-file-path)* |
|
||||||
| | `--telemetry-disable-upload` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#telemetry-disable-upload)_ |
|
| | `--telemetry-disable-upload` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#telemetry-disable-upload)* |
|
||||||
| | `--telemetry-endpoint` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#telemetry-endpoint)_ |
|
| | `--telemetry-endpoint` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#telemetry-endpoint)* |
|
||||||
| | `--tls-cert` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#tls-cert)_ |
|
| | `--tls-cert` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#tls-cert)* |
|
||||||
| | `--tls-key` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#tls-key)_ |
|
| | `--tls-key` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#tls-key)* |
|
||||||
| | `--tls-minimum-version` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#tls-minimum-version)_ |
|
| | `--tls-minimum-version` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#tls-minimum-version)* |
|
||||||
| | `--traces-exporter` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#traces-exporter)_ |
|
| | `--traces-exporter` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#traces-exporter)* |
|
||||||
| | `--traces-exporter-jaeger-agent-host` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#traces-exporter-jaeger-agent-host)_ |
|
| | `--traces-exporter-jaeger-agent-host` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#traces-exporter-jaeger-agent-host)* |
|
||||||
| | `--traces-exporter-jaeger-agent-port` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#traces-exporter-jaeger-agent-port)_ |
|
| | `--traces-exporter-jaeger-agent-port` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#traces-exporter-jaeger-agent-port)* |
|
||||||
| | `--traces-exporter-jaeger-service-name` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#traces-exporter-jaeger-service-name)_ |
|
| | `--traces-exporter-jaeger-service-name` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#traces-exporter-jaeger-service-name)* |
|
||||||
| | `--traces-exporter-jaeger-trace-context-header-name` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#traces-exporter-jaeger-trace-context-header-name)_ |
|
| | `--traces-exporter-jaeger-trace-context-header-name` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#traces-exporter-jaeger-trace-context-header-name)* |
|
||||||
| | `--traces-jaeger-debug-name` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#traces-jaeger-debug-name)_ |
|
| | `--traces-jaeger-debug-name` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#traces-jaeger-debug-name)* |
|
||||||
| | `--traces-jaeger-max-msgs-per-second` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#traces-jaeger-max-msgs-per-second)_ |
|
| | `--traces-jaeger-max-msgs-per-second` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#traces-jaeger-max-msgs-per-second)* |
|
||||||
| | `--traces-jaeger-tags` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#traces-jaeger-tags)_ |
|
| | `--traces-jaeger-tags` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#traces-jaeger-tags)* |
|
||||||
| | `--use-pacha-tree` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#use-pacha-tree)_ |
|
| | `--use-pacha-tree` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#use-pacha-tree)* |
|
||||||
| | `--virtual-env-location` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#virtual-env-location)_ |
|
| | `--virtual-env-location` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#virtual-env-location)* |
|
||||||
| | `--wait-for-running-ingestor` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#wait-for-running-ingestor)_ |
|
| | `--wait-for-running-ingestor` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#wait-for-running-ingestor)* |
|
||||||
| | `--wal-flush-interval` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#wal-flush-interval)_ |
|
| | `--wal-flush-interval` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#wal-flush-interval)* |
|
||||||
| | `--wal-max-write-buffer-size` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#wal-max-write-buffer-size)_ |
|
| | `--wal-max-write-buffer-size` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#wal-max-write-buffer-size)* |
|
||||||
| | `--wal-replay-concurrency-limit` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#wal-replay-concurrency-limit)_ |
|
| | `--wal-replay-concurrency-limit` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#wal-replay-concurrency-limit)* |
|
||||||
| | `--wal-replay-fail-on-error` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#wal-replay-fail-on-error)_ |
|
| | `--wal-replay-fail-on-error` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#wal-replay-fail-on-error)* |
|
||||||
| | `--wal-snapshot-size` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#wal-snapshot-size)_ |
|
| | `--wal-snapshot-size` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#wal-snapshot-size)* |
|
||||||
| | `--without-auth` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#without-auth)_ |
|
| | `--without-auth` | *See [configuration options](/influxdb3/enterprise/reference/config-options/#without-auth)* |
|
||||||
|
|
||||||
{{< caption >}}
|
|
||||||
{{< req text="\* Required options" >}}
|
|
||||||
{{< /caption >}}
|
|
||||||
|
|
||||||
### Option environment variables
|
### Option environment variables
|
||||||
|
|
||||||
|
|
@ -170,19 +166,62 @@ You can use environment variables to define most `influxdb3 serve` options.
|
||||||
For more information, see
|
For more information, see
|
||||||
[Configuration options](/influxdb3/enterprise/reference/config-options/).
|
[Configuration options](/influxdb3/enterprise/reference/config-options/).
|
||||||
|
|
||||||
|
## Quick-Start Mode
|
||||||
|
|
||||||
|
For development, testing, and home use, you can start {{< product-name >}} by running `influxdb3` without the `serve` subcommand or any configuration parameters. The system automatically generates required values:
|
||||||
|
|
||||||
|
- **`node-id`**: `{hostname}-node` (fallback: `primary-node`)
|
||||||
|
- **`cluster-id`**: `{hostname}-cluster` (fallback: `primary-cluster`)
|
||||||
|
- **`object-store`**: `file`
|
||||||
|
- **`data-dir`**: `~/.influxdb`
|
||||||
|
|
||||||
|
The system displays warning messages showing the auto-generated identifiers:
|
||||||
|
|
||||||
|
```
|
||||||
|
Using auto-generated node id: mylaptop-node. For production deployments, explicitly set --node-id
|
||||||
|
Using auto-generated cluster id: mylaptop-cluster. For production deployments, explicitly set --cluster-id
|
||||||
|
```
|
||||||
|
|
||||||
|
### Quick-start examples
|
||||||
|
|
||||||
|
<!--pytest.mark.skip-->
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Zero-config startup
|
||||||
|
influxdb3
|
||||||
|
|
||||||
|
# Override specific defaults
|
||||||
|
influxdb3 --object-store memory
|
||||||
|
|
||||||
|
# Use environment variables to override defaults
|
||||||
|
INFLUXDB3_NODE_IDENTIFIER_PREFIX=my-node influxdb3
|
||||||
|
```
|
||||||
|
|
||||||
|
> \[!Important]
|
||||||
|
>
|
||||||
|
> #### Production deployments
|
||||||
|
>
|
||||||
|
> Quick-start mode is designed for development and testing environments.
|
||||||
|
> For production deployments, use explicit configuration with the `serve` subcommand
|
||||||
|
> and specify all required parameters as shown in the [Examples](#examples) below.
|
||||||
|
|
||||||
|
**Configuration precedence**: CLI flags > environment variables > auto-generated defaults
|
||||||
|
|
||||||
|
For more information about quick-start mode, see [Get started](/influxdb3/enterprise/get-started/setup/#quick-start-mode-development).
|
||||||
|
|
||||||
## Examples
|
## Examples
|
||||||
|
|
||||||
- [Run the InfluxDB 3 server](#run-the-influxdb-3-server)
|
- [Run the InfluxDB 3 server](#run-the-influxdb-3-server)
|
||||||
- [Run the InfluxDB 3 server with extra verbose logging](#run-the-influxdb-3-server-with-extra-verbose-logging)
|
- [Run the InfluxDB 3 server with extra verbose logging](#run-the-influxdb-3-server-with-extra-verbose-logging)
|
||||||
- [Run InfluxDB 3 with debug logging using LOG_FILTER](#run-influxdb-3-with-debug-logging-using-log_filter)
|
- [Run InfluxDB 3 with debug logging using LOG\_FILTER](#run-influxdb-3-with-debug-logging-using-log_filter)
|
||||||
|
|
||||||
In the examples below, replace the following:
|
In the examples below, replace the following:
|
||||||
|
|
||||||
- {{% code-placeholder-key %}}`my-host-01`{{% /code-placeholder-key %}}:
|
- {{% code-placeholder-key %}}`my-host-01`{{% /code-placeholder-key %}}:
|
||||||
a unique string that identifies your {{< product-name >}} server.
|
a unique string that identifies your {{< product-name >}} server.
|
||||||
- {{% code-placeholder-key %}}`my-cluster-01`{{% /code-placeholder-key %}}:
|
- {{% code-placeholder-key %}}`my-cluster-01`{{% /code-placeholder-key %}}:
|
||||||
a unique string that identifies your {{< product-name >}} cluster.
|
a unique string that identifies your {{< product-name >}} cluster.
|
||||||
The value you use must be different from `--node-id` values in the cluster.
|
The value you use must be different from `--node-id` values in the cluster.
|
||||||
|
|
||||||
{{% code-placeholders "my-host-01|my-cluster-01" %}}
|
{{% code-placeholders "my-host-01|my-cluster-01" %}}
|
||||||
|
|
||||||
|
|
@ -237,7 +276,7 @@ influxdb3 serve \
|
||||||
--verbose
|
--verbose
|
||||||
```
|
```
|
||||||
|
|
||||||
### Run InfluxDB 3 with debug logging using LOG_FILTER
|
### Run InfluxDB 3 with debug logging using LOG\_FILTER
|
||||||
|
|
||||||
<!--pytest.mark.skip-->
|
<!--pytest.mark.skip-->
|
||||||
|
|
||||||
|
|
@ -251,16 +290,15 @@ LOG_FILTER=debug influxdb3 serve \
|
||||||
|
|
||||||
{{% /code-placeholders %}}
|
{{% /code-placeholders %}}
|
||||||
|
|
||||||
|
|
||||||
## Troubleshooting
|
## Troubleshooting
|
||||||
|
|
||||||
### Common Issues
|
### Common Issues
|
||||||
|
|
||||||
- **Error: "cluster-id cannot match any node-id in the cluster"**
|
- **Error: "cluster-id cannot match any node-id in the cluster"**\
|
||||||
Ensure your `--cluster-id` value is different from all `--node-id` values in your cluster.
|
Ensure your `--cluster-id` value is different from all `--node-id` values in your cluster.
|
||||||
|
|
||||||
- **Error: "Failed to connect to object store"**
|
- **Error: "Failed to connect to object store"**\
|
||||||
Verify your `--object-store` setting and ensure all required parameters for that storage type are provided.
|
Verify your `--object-store` setting and ensure all required parameters for that storage type are provided.
|
||||||
|
|
||||||
- **Permission errors when using S3, Google Cloud, or Azure storage**
|
- **Permission errors when using S3, Google Cloud, or Azure storage**\
|
||||||
Check that your authentication credentials are correct and have sufficient permissions.
|
Check that your authentication credentials are correct and have sufficient permissions.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
---
|
||||||
|
title: influxdb3 show plugins
|
||||||
|
description: >
|
||||||
|
The `influxdb3 show plugins` command lists loaded Processing Engine plugins in your
|
||||||
|
InfluxDB 3 Enterprise server.
|
||||||
|
menu:
|
||||||
|
influxdb3_enterprise:
|
||||||
|
parent: influxdb3 show
|
||||||
|
name: influxdb3 show plugins
|
||||||
|
weight: 350
|
||||||
|
source: /shared/influxdb3-cli/show/plugins.md
|
||||||
|
---
|
||||||
|
|
||||||
|
<!--
|
||||||
|
// SOURCE content/shared/influxdb3-cli/show/plugins.md
|
||||||
|
-->
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
---
|
||||||
|
title: influxdb3 update trigger
|
||||||
|
description: >
|
||||||
|
The `influxdb3 update trigger` command updates an existing trigger.
|
||||||
|
menu:
|
||||||
|
influxdb3_enterprise:
|
||||||
|
parent: influxdb3 update
|
||||||
|
name: influxdb3 update trigger
|
||||||
|
weight: 401
|
||||||
|
source: /shared/influxdb3-cli/update/trigger.md
|
||||||
|
---
|
||||||
|
|
||||||
|
<!--
|
||||||
|
// SOURCE content/shared/influxdb3-cli/update/trigger.md
|
||||||
|
-->
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
<!--Shortcode-->
|
<!--Shortcode-->
|
||||||
{{% product-name %}} stores data related to the database server, queries, and tables in _system tables_.
|
|
||||||
|
{{% product-name %}} stores data related to the database server, queries, and tables in *system tables*.
|
||||||
You can query the system tables for information about your running server, databases, and and table schemas.
|
You can query the system tables for information about your running server, databases, and and table schemas.
|
||||||
|
|
||||||
## Query system tables
|
## Query system tables
|
||||||
|
|
@ -8,12 +9,13 @@ You can query the system tables for information about your running server, datab
|
||||||
- [Examples](#examples)
|
- [Examples](#examples)
|
||||||
- [Show tables](#show-tables)
|
- [Show tables](#show-tables)
|
||||||
- [View column information for a table](#view-column-information-for-a-table)
|
- [View column information for a table](#view-column-information-for-a-table)
|
||||||
|
- [Recently executed queries](#recently-executed-queries)
|
||||||
|
- [Query plugin files](#query-plugin-files)
|
||||||
|
|
||||||
### Use the HTTP query API
|
### Use the HTTP query API
|
||||||
|
|
||||||
Use the HTTP API `/api/v3/query_sql` endpoint to retrieve system information about your database server and table schemas in {{% product-name %}}.
|
Use the HTTP API `/api/v3/query_sql` endpoint to retrieve system information about your database server and table schemas in {{% product-name %}}.
|
||||||
|
|
||||||
|
|
||||||
To execute a query, send a `GET` or `POST` request to the endpoint:
|
To execute a query, send a `GET` or `POST` request to the endpoint:
|
||||||
|
|
||||||
- `GET`: Pass parameters in the URL query string (for simple queries)
|
- `GET`: Pass parameters in the URL query string (for simple queries)
|
||||||
|
|
@ -21,16 +23,17 @@ To execute a query, send a `GET` or `POST` request to the endpoint:
|
||||||
|
|
||||||
Include the following parameters:
|
Include the following parameters:
|
||||||
|
|
||||||
- `q`: _({{< req >}})_ The SQL query to execute.
|
- `q`: *({{< req >}})* The SQL query to execute.
|
||||||
- `db`: _({{< req >}})_ The database to execute the query against.
|
- `db`: *({{< req >}})* The database to execute the query against.
|
||||||
- `params`: A JSON object containing parameters to be used in a _parameterized query_.
|
- `params`: A JSON object containing parameters to be used in a *parameterized query*.
|
||||||
- `format`: The format of the response (`json`, `jsonl`, `csv`, `pretty`, or `parquet`).
|
- `format`: The format of the response (`json`, `jsonl`, `csv`, `pretty`, or `parquet`).
|
||||||
JSONL (`jsonl`) is preferred because it streams results back to the client.
|
JSONL (`jsonl`) is preferred because it streams results back to the client.
|
||||||
`pretty` is for human-readable output. Default is `json`.
|
`pretty` is for human-readable output. Default is `json`.
|
||||||
|
|
||||||
#### Examples
|
#### Examples
|
||||||
|
|
||||||
> [!Note]
|
> \[!Note]
|
||||||
|
>
|
||||||
> #### system\_ sample data
|
> #### system\_ sample data
|
||||||
>
|
>
|
||||||
> In examples, tables with `"table_name":"system_` are user-created tables for CPU, memory, disk,
|
> In examples, tables with `"table_name":"system_` are user-created tables for CPU, memory, disk,
|
||||||
|
|
@ -88,8 +91,8 @@ A table has one of the following `table_schema` values:
|
||||||
The following query sends a `POST` request that executes an SQL query to
|
The following query sends a `POST` request that executes an SQL query to
|
||||||
retrieve information about columns in the sample `system_swap` table schema:
|
retrieve information about columns in the sample `system_swap` table schema:
|
||||||
|
|
||||||
_Note: when you send a query in JSON, you must escape single quotes
|
*Note: when you send a query in JSON, you must escape single quotes
|
||||||
that surround field names._
|
that surround field names.*
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl "http://localhost:8181/api/v3/query_sql" \
|
curl "http://localhost:8181/api/v3/query_sql" \
|
||||||
|
|
@ -134,3 +137,58 @@ The output is similar to the following:
|
||||||
{"id":"cdd63409-1822-4e65-8e3a-d274d553dbb3","phase":"success","issue_time":"2025-01-20T17:01:40.690067","query_type":"sql","query_text":"show tables","partitions":0,"parquet_files":0,"plan_duration":"PT0.032689S","permit_duration":"PT0.000202S","execute_duration":"PT0.000223S","end2end_duration":"PT0.033115S","compute_duration":"P0D","max_memory":0,"success":true,"running":false,"cancelled":false}
|
{"id":"cdd63409-1822-4e65-8e3a-d274d553dbb3","phase":"success","issue_time":"2025-01-20T17:01:40.690067","query_type":"sql","query_text":"show tables","partitions":0,"parquet_files":0,"plan_duration":"PT0.032689S","permit_duration":"PT0.000202S","execute_duration":"PT0.000223S","end2end_duration":"PT0.033115S","compute_duration":"P0D","max_memory":0,"success":true,"running":false,"cancelled":false}
|
||||||
{"id":"47f8d312-5e75-4db2-837a-6fcf94c09927","phase":"success","issue_time":"2025-01-20T17:02:32.627782","query_type":"sql","query_text":"show tables","partitions":0,"parquet_files":0,"plan_duration":"PT0.000583S","permit_duration":"PT0.000015S","execute_duration":"PT0.000063S","end2end_duration":"PT0.000662S","compute_duration":"P0D","max_memory":0,"success":true,"running":false,"cancelled":false}
|
{"id":"47f8d312-5e75-4db2-837a-6fcf94c09927","phase":"success","issue_time":"2025-01-20T17:02:32.627782","query_type":"sql","query_text":"show tables","partitions":0,"parquet_files":0,"plan_duration":"PT0.000583S","permit_duration":"PT0.000015S","execute_duration":"PT0.000063S","end2end_duration":"PT0.000662S","compute_duration":"P0D","max_memory":0,"success":true,"running":false,"cancelled":false}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### Query plugin files
|
||||||
|
|
||||||
|
To view loaded Processing Engine plugins, query the `plugin_files` system table in the `_internal` database.
|
||||||
|
|
||||||
|
The `system.plugin_files` table provides information about plugin files loaded by the Processing Engine:
|
||||||
|
|
||||||
|
**Columns:**
|
||||||
|
|
||||||
|
- `plugin_name` (String): Name of a trigger using this plugin
|
||||||
|
- `file_name` (String): Plugin filename
|
||||||
|
- `file_path` (String): Full server path to the plugin file
|
||||||
|
- `size_bytes` (Int64): File size in bytes
|
||||||
|
- `last_modified` (Int64): Last modification timestamp (milliseconds since epoch)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
curl "http://localhost:8181/api/v3/query_sql" \
|
||||||
|
--header "Authorization: Bearer AUTH_TOKEN" \
|
||||||
|
--json '{
|
||||||
|
"db": "_internal",
|
||||||
|
"q": "SELECT * FROM system.plugin_files",
|
||||||
|
"format": "jsonl"
|
||||||
|
}'
|
||||||
|
```
|
||||||
|
|
||||||
|
The output is similar to the following:
|
||||||
|
|
||||||
|
```jsonl
|
||||||
|
{"plugin_name":"my_trigger","file_name":"my_plugin.py","file_path":"/path/to/plugins/my_plugin.py","size_bytes":2048,"last_modified":1704067200000}
|
||||||
|
{"plugin_name":"scheduled_trigger","file_name":"scheduler.py","file_path":"/path/to/plugins/scheduler.py","size_bytes":4096,"last_modified":1704153600000}
|
||||||
|
```
|
||||||
|
|
||||||
|
**Filter plugins by trigger name:**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
curl "http://localhost:8181/api/v3/query_sql" \
|
||||||
|
--header "Authorization: Bearer AUTH_TOKEN" \
|
||||||
|
--json '{
|
||||||
|
"db": "_internal",
|
||||||
|
"q": "SELECT * FROM system.plugin_files WHERE plugin_name = '"'my_trigger'"'",
|
||||||
|
"format": "jsonl"
|
||||||
|
}'
|
||||||
|
```
|
||||||
|
|
||||||
|
**Find plugins by file pattern:**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
curl "http://localhost:8181/api/v3/query_sql" \
|
||||||
|
--header "Authorization: Bearer AUTH_TOKEN" \
|
||||||
|
--json '{
|
||||||
|
"db": "_internal",
|
||||||
|
"q": "SELECT * FROM system.plugin_files WHERE file_name LIKE '"'%scheduler%'"'",
|
||||||
|
"format": "jsonl"
|
||||||
|
}'
|
||||||
|
```
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
The `influxdb3 create trigger` command creates a new trigger for the
|
The `influxdb3 create trigger` command creates a new trigger for the
|
||||||
processing engine.
|
processing engine.
|
||||||
|
|
||||||
|
|
@ -17,30 +16,31 @@ influxdb3 create trigger [OPTIONS] \
|
||||||
|
|
||||||
## Arguments
|
## Arguments
|
||||||
|
|
||||||
- **TRIGGER_NAME**: A name for the new trigger.
|
- **TRIGGER\_NAME**: A name for the new trigger.
|
||||||
|
|
||||||
## Options
|
## Options
|
||||||
|
|
||||||
| Option | | Description |
|
| Option | | Description | | |
|
||||||
| :----- | :------------------ | :------------------------------------------------------------------------------------------------------- |
|
| :--------------------------- | :-------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------- |
|
||||||
| `-H` | `--host` | Host URL of the running {{< product-name >}} server (default is `http://127.0.0.1:8181`) |
|
| `-H` | `--host` | Host URL of the running {{< product-name >}} server (default is `http://127.0.0.1:8181`) | | |
|
||||||
| `-d` | `--database` | _({{< req >}})_ Name of the database to operate on |
|
| `-d` | `--database` | *({{< req >}})* Name of the database to operate on | | |
|
||||||
| | `--token` | _({{< req >}})_ Authentication token |
|
| | `--token` | *({{< req >}})* Authentication token | | |
|
||||||
| | `--plugin-filename` | _({{< req >}})_ Name of the file, stored in the server's `plugin-dir`, that contains the Python plugin code to run |
|
| `-p` | `--path` | Path to plugin file or directory (single `.py` file or directory containing `__init__.py` for multifile plugins). Can be local path (with `--upload`) or server path. Replaces `--plugin-filename`. | | |
|
||||||
| | `--trigger-spec` | Trigger specification: `table:<TABLE_NAME>`, `all_tables`, `every:<DURATION>`, `cron:<EXPRESSION>`, or `request:<REQUEST_PATH>` |
|
| | `--upload` | Upload local plugin files to the server. Requires admin token. Use with `--path` to specify local files. | | |
|
||||||
| | `--trigger-arguments` | Additional arguments for the trigger, in the format `key=value`, separated by commas (for example, `arg1=val1,arg2=val2`) |
|
| | `--plugin-filename` | *(Deprecated: use `--path` instead)* Name of the file, stored in the server's `plugin-dir`, that contains the Python plugin code to run | | |
|
||||||
| | `--disabled` | Create the trigger in disabled state |
|
| | `--trigger-spec` | Trigger specification: `table:<TABLE_NAME>`, `all_tables`, `every:<DURATION>`, `cron:<EXPRESSION>`, or `request:<REQUEST_PATH>` | | |
|
||||||
| | `--error-behavior` | Error handling behavior: `log`, `retry`, or `disable` |
|
| | `--trigger-arguments` | Additional arguments for the trigger, in the format `key=value`, separated by commas (for example, `arg1=val1,arg2=val2`) | | |
|
||||||
| | `--run-asynchronous` | Run the trigger asynchronously, allowing multiple triggers to run simultaneously (default is synchronous) |
|
| | `--disabled` | Create the trigger in disabled state | | |
|
||||||
{{% show-in "enterprise" %}}| | `--node-spec` | Which node(s) the trigger should be configured on. Two value formats are supported: `all` (default) - applies to all nodes, or `nodes:<node-id>[,<node-id>..]` - applies only to specified comma-separated list of nodes |{{% /show-in %}}
|
| | `--error-behavior` | Error handling behavior: `log`, `retry`, or `disable` | | |
|
||||||
| | `--tls-ca` | Path to a custom TLS certificate authority (for testing or self-signed certificates) |
|
| | `--run-asynchronous` | Run the trigger asynchronously, allowing multiple triggers to run simultaneously (default is synchronous) | | |
|
||||||
| `-h` | `--help` | Print help information |
|
| {{% show-in "enterprise" %}} | | `--node-spec` | Which node(s) the trigger should be configured on. Two value formats are supported: `all` (default) - applies to all nodes, or `nodes:<node-id>[,<node-id>..]` - applies only to specified comma-separated list of nodes | {{% /show-in %}} |
|
||||||
| | `--help-all` | Print detailed help information |
|
| | `--tls-ca` | Path to a custom TLS certificate authority (for testing or self-signed certificates) | | |
|
||||||
|
| `-h` | `--help` | Print help information | | |
|
||||||
|
| | `--help-all` | Print detailed help information | | |
|
||||||
|
|
||||||
If you want to use a plugin from the [Plugin Library](https://github.com/influxdata/influxdb3_plugins) repo, use the URL path with `gh:` specified as the prefix.
|
If you want to use a plugin from the [Plugin Library](https://github.com/influxdata/influxdb3_plugins) repo, use the URL path with `gh:` specified as the prefix.
|
||||||
For example, to use the [System Metrics](https://github.com/influxdata/influxdb3_plugins/blob/main/influxdata/system_metrics/system_metrics.py) plugin, the plugin filename is `gh:influxdata/system_metrics/system_metrics.py`.
|
For example, to use the [System Metrics](https://github.com/influxdata/influxdb3_plugins/blob/main/influxdata/system_metrics/system_metrics.py) plugin, the plugin filename is `gh:influxdata/system_metrics/system_metrics.py`.
|
||||||
|
|
||||||
|
|
||||||
### Option environment variables
|
### Option environment variables
|
||||||
|
|
||||||
You can use the following environment variables to set command options:
|
You can use the following environment variables to set command options:
|
||||||
|
|
@ -59,11 +59,13 @@ The following examples show how to use the `influxdb3 create trigger` command to
|
||||||
- [Create a trigger for all tables](#create-a-trigger-for-all-tables)
|
- [Create a trigger for all tables](#create-a-trigger-for-all-tables)
|
||||||
- [Create a trigger with a schedule](#create-a-trigger-with-a-schedule)
|
- [Create a trigger with a schedule](#create-a-trigger-with-a-schedule)
|
||||||
- [Create a trigger for HTTP requests](#create-a-trigger-for-http-requests)
|
- [Create a trigger for HTTP requests](#create-a-trigger-for-http-requests)
|
||||||
|
- [Create a trigger with a multifile plugin](#create-a-trigger-with-a-multifile-plugin)
|
||||||
|
- [Upload and create a trigger with a local plugin](#upload-and-create-a-trigger-with-a-local-plugin)
|
||||||
- [Create a trigger with additional arguments](#create-a-trigger-with-additional-arguments)
|
- [Create a trigger with additional arguments](#create-a-trigger-with-additional-arguments)
|
||||||
- [Create a disabled trigger](#create-a-disabled-trigger)
|
- [Create a disabled trigger](#create-a-disabled-trigger)
|
||||||
- [Create a trigger with error handling](#create-a-trigger-with-error-handling)
|
- [Create a trigger with error handling](#create-a-trigger-with-error-handling)
|
||||||
|
|
||||||
---
|
***
|
||||||
|
|
||||||
Replace the following placeholders with your values:
|
Replace the following placeholders with your values:
|
||||||
|
|
||||||
|
|
@ -71,11 +73,11 @@ Replace the following placeholders with your values:
|
||||||
- {{% code-placeholder-key %}}`AUTH_TOKEN`{{% /code-placeholder-key %}}: Authentication token
|
- {{% code-placeholder-key %}}`AUTH_TOKEN`{{% /code-placeholder-key %}}: Authentication token
|
||||||
- {{% code-placeholder-key %}}`PLUGIN_FILENAME`{{% /code-placeholder-key %}}: Python plugin filename
|
- {{% code-placeholder-key %}}`PLUGIN_FILENAME`{{% /code-placeholder-key %}}: Python plugin filename
|
||||||
- {{% code-placeholder-key %}}`TRIGGER_NAME`{{% /code-placeholder-key %}}:
|
- {{% code-placeholder-key %}}`TRIGGER_NAME`{{% /code-placeholder-key %}}:
|
||||||
Name of the trigger to create
|
Name of the trigger to create
|
||||||
- {{% code-placeholder-key %}}`TABLE_NAME`{{% /code-placeholder-key %}}:
|
- {{% code-placeholder-key %}}`TABLE_NAME`{{% /code-placeholder-key %}}:
|
||||||
Name of the table to trigger on
|
Name of the table to trigger on
|
||||||
|
|
||||||
{{% code-placeholders "(DATABASE|TRIGGER)_NAME|AUTH_TOKEN|TABLE_NAME" %}}
|
{{% code-placeholders "(DATABASE|TRIGGER)\_NAME|AUTH\_TOKEN|TABLE\_NAME" %}}
|
||||||
|
|
||||||
### Create a trigger for a specific table
|
### Create a trigger for a specific table
|
||||||
|
|
||||||
|
|
@ -133,12 +135,13 @@ second minute hour day_of_month month day_of_week
|
||||||
```
|
```
|
||||||
|
|
||||||
Fields:
|
Fields:
|
||||||
|
|
||||||
- **second**: 0-59
|
- **second**: 0-59
|
||||||
- **minute**: 0-59
|
- **minute**: 0-59
|
||||||
- **hour**: 0-23
|
- **hour**: 0-23
|
||||||
- **day_of_month**: 1-31
|
- **day\_of\_month**: 1-31
|
||||||
- **month**: 1-12 or JAN-DEC
|
- **month**: 1-12 or JAN-DEC
|
||||||
- **day_of_week**: 0-7 (0 or 7 is Sunday) or SUN-SAT
|
- **day\_of\_week**: 0-7 (0 or 7 is Sunday) or SUN-SAT
|
||||||
|
|
||||||
Example: Run at 6:00 AM every weekday (Monday-Friday):
|
Example: Run at 6:00 AM every weekday (Monday-Friday):
|
||||||
|
|
||||||
|
|
@ -168,6 +171,66 @@ influxdb3 create trigger \
|
||||||
|
|
||||||
`PLUGIN_FILENAME` must implement the [HTTP request plugin](/influxdb3/version/plugins/#create-an-http-request-plugin) interface.
|
`PLUGIN_FILENAME` must implement the [HTTP request plugin](/influxdb3/version/plugins/#create-an-http-request-plugin) interface.
|
||||||
|
|
||||||
|
### Create a trigger with a multifile plugin
|
||||||
|
|
||||||
|
Create a trigger using a plugin organized in multiple files. The plugin directory must contain an `__init__.py` file.
|
||||||
|
|
||||||
|
<!--pytest.mark.skip-->
|
||||||
|
|
||||||
|
```bash
|
||||||
|
influxdb3 create trigger \
|
||||||
|
--database DATABASE_NAME \
|
||||||
|
--token AUTH_TOKEN \
|
||||||
|
--path "my_complex_plugin" \
|
||||||
|
--trigger-spec "every:5m" \
|
||||||
|
TRIGGER_NAME
|
||||||
|
```
|
||||||
|
|
||||||
|
The `--path` points to a directory in the server's `plugin-dir` with the following structure:
|
||||||
|
|
||||||
|
```
|
||||||
|
my_complex_plugin/
|
||||||
|
├── __init__.py # Required entry point
|
||||||
|
├── processors.py # Supporting modules
|
||||||
|
└── utils.py
|
||||||
|
```
|
||||||
|
|
||||||
|
For more information about multifile plugins, see [Create your plugin file](/influxdb3/version/plugins/#create-your-plugin-file).
|
||||||
|
|
||||||
|
### Upload and create a trigger with a local plugin
|
||||||
|
|
||||||
|
Upload plugin files from your local machine and create a trigger in a single command. Requires admin token.
|
||||||
|
|
||||||
|
<!--pytest.mark.skip-->
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Upload single-file plugin
|
||||||
|
influxdb3 create trigger \
|
||||||
|
--database DATABASE_NAME \
|
||||||
|
--token AUTH_TOKEN \
|
||||||
|
--path "/local/path/to/plugin.py" \
|
||||||
|
--upload \
|
||||||
|
--trigger-spec "every:1m" \
|
||||||
|
TRIGGER_NAME
|
||||||
|
|
||||||
|
# Upload multifile plugin directory
|
||||||
|
influxdb3 create trigger \
|
||||||
|
--database DATABASE_NAME \
|
||||||
|
--token AUTH_TOKEN \
|
||||||
|
--path "/local/path/to/plugin-dir" \
|
||||||
|
--upload \
|
||||||
|
--trigger-spec "table:TABLE_NAME" \
|
||||||
|
TRIGGER_NAME
|
||||||
|
```
|
||||||
|
|
||||||
|
The `--upload` flag transfers local files to the server's plugin directory. This is useful for:
|
||||||
|
|
||||||
|
- Local plugin development and testing
|
||||||
|
- Deploying plugins without SSH access
|
||||||
|
- Automating plugin deployment
|
||||||
|
|
||||||
|
For more information, see [Upload plugins from local machine](/influxdb3/version/plugins/#upload-plugins-from-local-machine).
|
||||||
|
|
||||||
### Create a trigger with additional arguments
|
### Create a trigger with additional arguments
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
The `influxdb3 show` command lists resources in your {{< product-name >}} server.
|
The `influxdb3 show` command lists resources in your {{< product-name >}} server.
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
@ -11,13 +10,14 @@ influxdb3 show <SUBCOMMAND>
|
||||||
|
|
||||||
## Subcommands
|
## Subcommands
|
||||||
|
|
||||||
| Subcommand | Description |
|
| Subcommand | Description | | |
|
||||||
| :---------------------------------------------------------------------- | :--------------------------------------------- |
|
| :---------------------------------------------------------------------- | :------------------------------------------------------------------ | --------------------------- | ---------------- |
|
||||||
| [databases](/influxdb3/version/reference/cli/influxdb3/show/databases/) | List database |
|
| [databases](/influxdb3/version/reference/cli/influxdb3/show/databases/) | List database | | |
|
||||||
{{% show-in "enterprise" %}}| [license](/influxdb3/version/reference/cli/influxdb3/show/license/) | Display license information |{{% /show-in %}}
|
| {{% show-in "enterprise" %}} | [license](/influxdb3/version/reference/cli/influxdb3/show/license/) | Display license information | {{% /show-in %}} |
|
||||||
| [system](/influxdb3/version/reference/cli/influxdb3/show/system/) | Display system table data |
|
| [plugins](/influxdb3/version/reference/cli/influxdb3/show/plugins/) | List loaded plugins | | |
|
||||||
| [tokens](/influxdb3/version/reference/cli/influxdb3/show/tokens/) | List authentication tokens |
|
| [system](/influxdb3/version/reference/cli/influxdb3/show/system/) | Display system table data | | |
|
||||||
| help | Print command help or the help of a subcommand |
|
| [tokens](/influxdb3/version/reference/cli/influxdb3/show/tokens/) | List authentication tokens | | |
|
||||||
|
| help | Print command help or the help of a subcommand | | |
|
||||||
|
|
||||||
## Options
|
## Options
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,89 @@
|
||||||
|
The `influxdb3 show plugins` command lists loaded Processing Engine plugins in your
|
||||||
|
{{< product-name >}} server.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
<!--pytest.mark.skip-->
|
||||||
|
|
||||||
|
```bash
|
||||||
|
influxdb3 show plugins [OPTIONS]
|
||||||
|
```
|
||||||
|
|
||||||
|
## Options
|
||||||
|
|
||||||
|
| Option | | Description |
|
||||||
|
| :----- | :----------- | :--------------------------------------------------------------------------------------- |
|
||||||
|
| `-H` | `--host` | Host URL of the running {{< product-name >}} server (default is `http://127.0.0.1:8181`) |
|
||||||
|
| | `--token` | *({{< req >}})* Authentication token |
|
||||||
|
| | `--format` | Output format (`pretty` *(default)*, `json`, `jsonl`, `csv`, or `parquet`) |
|
||||||
|
| | `--output` | Path where to save output when using the `parquet` format |
|
||||||
|
| | `--tls-ca` | Path to a custom TLS certificate authority (for testing or self-signed certificates) |
|
||||||
|
| `-h` | `--help` | Print help information |
|
||||||
|
| | `--help-all` | Print detailed help information |
|
||||||
|
|
||||||
|
### Option environment variables
|
||||||
|
|
||||||
|
You can use the following environment variables to set command options:
|
||||||
|
|
||||||
|
| Environment Variable | Option |
|
||||||
|
| :--------------------- | :-------- |
|
||||||
|
| `INFLUXDB3_HOST_URL` | `--host` |
|
||||||
|
| `INFLUXDB3_AUTH_TOKEN` | `--token` |
|
||||||
|
|
||||||
|
## Output
|
||||||
|
|
||||||
|
The command returns information about loaded plugin files:
|
||||||
|
|
||||||
|
- **plugin\_name**: Name of a trigger using this plugin
|
||||||
|
- **file\_name**: Plugin filename
|
||||||
|
- **file\_path**: Full server path to the plugin file
|
||||||
|
- **size\_bytes**: File size in bytes
|
||||||
|
- **last\_modified**: Last modification timestamp (milliseconds since epoch)
|
||||||
|
|
||||||
|
> \[!Note]
|
||||||
|
> This command queries the `system.plugin_files` table in the `_internal` database.
|
||||||
|
> For more advanced queries and filtering, see [Query system data](/influxdb3/version/admin/query-system-data/).
|
||||||
|
|
||||||
|
## Examples
|
||||||
|
|
||||||
|
- [List all plugins](#list-all-plugins)
|
||||||
|
- [List plugins in different output formats](#list-plugins-in-different-output-formats)
|
||||||
|
- [Output plugins to a Parquet file](#output-plugins-to-a-parquet-file)
|
||||||
|
|
||||||
|
### List all plugins
|
||||||
|
|
||||||
|
<!--pytest.mark.skip-->
|
||||||
|
|
||||||
|
```bash
|
||||||
|
influxdb3 show plugins
|
||||||
|
```
|
||||||
|
|
||||||
|
### List plugins in different output formats
|
||||||
|
|
||||||
|
You can specify the output format using the `--format` option:
|
||||||
|
|
||||||
|
<!--pytest.mark.skip-->
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# JSON format
|
||||||
|
influxdb3 show plugins --format json
|
||||||
|
|
||||||
|
# JSON Lines format
|
||||||
|
influxdb3 show plugins --format jsonl
|
||||||
|
|
||||||
|
# CSV format
|
||||||
|
influxdb3 show plugins --format csv
|
||||||
|
```
|
||||||
|
|
||||||
|
### Output plugins to a Parquet file
|
||||||
|
|
||||||
|
[Parquet](https://parquet.apache.org/) is a binary format.
|
||||||
|
Use the `--output` option to specify the file where you want to save the Parquet data.
|
||||||
|
|
||||||
|
<!--pytest.mark.skip-->
|
||||||
|
|
||||||
|
```bash
|
||||||
|
influxdb3 show plugins \
|
||||||
|
--format parquet \
|
||||||
|
--output /Users/me/plugins.parquet
|
||||||
|
```
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
The `influxdb3 update` command updates resources such as databases and tables.
|
The `influxdb3 update` command updates resources in your {{< product-name >}} instance.
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
|
|
@ -11,19 +11,23 @@ influxdb3 update <SUBCOMMAND>
|
||||||
## Subcommands
|
## Subcommands
|
||||||
|
|
||||||
{{% show-in "enterprise" %}}
|
{{% show-in "enterprise" %}}
|
||||||
|
|
||||||
| Subcommand | Description |
|
| Subcommand | Description |
|
||||||
| :----------------------------------------------------------------- | :--------------------- |
|
| :---------------------------------------------------------------------- | :--------------------------------------------- |
|
||||||
| [database](/influxdb3/version/reference/cli/influxdb3/update/database/) | Update a database |
|
| [database](/influxdb3/version/reference/cli/influxdb3/update/database/) | Update a database |
|
||||||
| [table](/influxdb3/version/reference/cli/influxdb3/update/table/) | Update a table |
|
| [table](/influxdb3/version/reference/cli/influxdb3/update/table/) | Update a table |
|
||||||
|
| [trigger](/influxdb3/version/reference/cli/influxdb3/update/trigger/) | Update a trigger |
|
||||||
| help | Print command help or the help of a subcommand |
|
| help | Print command help or the help of a subcommand |
|
||||||
{{% /show-in %}}
|
| {{% /show-in %}} | |
|
||||||
|
|
||||||
{{% show-in "core" %}}
|
{{% show-in "core" %}}
|
||||||
|
|
||||||
| Subcommand | Description |
|
| Subcommand | Description |
|
||||||
| :----------------------------------------------------------------- | :--------------------- |
|
| :---------------------------------------------------------------------- | :--------------------------------------------- |
|
||||||
| [database](/influxdb3/version/reference/cli/influxdb3/update/database/) | Update a database |
|
| [database](/influxdb3/version/reference/cli/influxdb3/update/database/) | Update a database |
|
||||||
|
| [trigger](/influxdb3/version/reference/cli/influxdb3/update/trigger/) | Update a trigger |
|
||||||
| help | Print command help or the help of a subcommand |
|
| help | Print command help or the help of a subcommand |
|
||||||
{{% /show-in %}}
|
| {{% /show-in %}} | |
|
||||||
|
|
||||||
## Options
|
## Options
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,174 @@
|
||||||
|
The `influxdb3 update trigger` command updates an existing trigger in your {{< product-name >}} instance.
|
||||||
|
|
||||||
|
Use this command to update trigger plugin code, configuration, or behavior without recreating the trigger. This preserves trigger history and configuration while allowing you to iterate on plugin development.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
<!--pytest.mark.skip-->
|
||||||
|
|
||||||
|
```bash
|
||||||
|
influxdb3 update trigger [OPTIONS] \
|
||||||
|
--database <DATABASE_NAME> \
|
||||||
|
--trigger-name <TRIGGER_NAME>
|
||||||
|
```
|
||||||
|
|
||||||
|
## Arguments
|
||||||
|
|
||||||
|
- **`DATABASE_NAME`**: (Required) The name of the database containing the trigger.
|
||||||
|
- **`TRIGGER_NAME`**: (Required) The name of the trigger to update.
|
||||||
|
|
||||||
|
## Options
|
||||||
|
|
||||||
|
| Option | | Description |
|
||||||
|
| :----- | :-------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
|
| `-H` | `--host` | Host URL of the running {{< product-name >}} server (default is `http://127.0.0.1:8181`) |
|
||||||
|
| `-d` | `--database` | *({{< req >}})* Name of the database containing the trigger |
|
||||||
|
| | `--trigger-name` | *({{< req >}})* Name of the trigger to update |
|
||||||
|
| `-p` | `--path` | Path to plugin file or directory (single `.py` file or directory containing `__init__.py` for multifile plugins). Can be local path (with `--upload`) or server path. |
|
||||||
|
| | `--upload` | Upload local plugin files to the server. Requires admin token. Use with `--path` to specify local files. |
|
||||||
|
| | `--trigger-arguments` | Additional arguments for the trigger, in the format `key=value`, separated by commas (for example, `arg1=val1,arg2=val2`) |
|
||||||
|
| | `--disabled` | Set the trigger state to disabled |
|
||||||
|
| | `--enabled` | Set the trigger state to enabled |
|
||||||
|
| | `--error-behavior` | Error handling behavior: `log`, `retry`, or `disable` |
|
||||||
|
| | `--token` | Authentication token |
|
||||||
|
| | `--tls-ca` | Path to a custom TLS certificate authority (for testing or self-signed certificates) |
|
||||||
|
| `-h` | `--help` | Print help information |
|
||||||
|
| | `--help-all` | Print detailed help information |
|
||||||
|
|
||||||
|
### Option environment variables
|
||||||
|
|
||||||
|
You can use the following environment variables instead of providing CLI options directly:
|
||||||
|
|
||||||
|
| Environment Variable | Option |
|
||||||
|
| :------------------------ | :----------- |
|
||||||
|
| `INFLUXDB3_HOST_URL` | `--host` |
|
||||||
|
| `INFLUXDB3_DATABASE_NAME` | `--database` |
|
||||||
|
| `INFLUXDB3_AUTH_TOKEN` | `--token` |
|
||||||
|
| `INFLUXDB3_TLS_CA` | `--tls-ca` |
|
||||||
|
|
||||||
|
## Examples
|
||||||
|
|
||||||
|
The following examples show how to update triggers in different scenarios.
|
||||||
|
|
||||||
|
- [Update trigger plugin code](#update-trigger-plugin-code)
|
||||||
|
- [Upload and update with a local plugin](#upload-and-update-with-a-local-plugin)
|
||||||
|
- [Update trigger arguments](#update-trigger-arguments)
|
||||||
|
- [Enable or disable a trigger](#enable-or-disable-a-trigger)
|
||||||
|
- [Update error handling behavior](#update-error-handling-behavior)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
Replace the following placeholders with your values:
|
||||||
|
|
||||||
|
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: Database name
|
||||||
|
- {{% code-placeholder-key %}}`AUTH_TOKEN`{{% /code-placeholder-key %}}: Authentication token
|
||||||
|
- {{% code-placeholder-key %}}`TRIGGER_NAME`{{% /code-placeholder-key %}}: Name of the trigger to update
|
||||||
|
|
||||||
|
{{% code-placeholders "(DATABASE|TRIGGER)\_NAME|AUTH\_TOKEN" %}}
|
||||||
|
|
||||||
|
### Update trigger plugin code
|
||||||
|
|
||||||
|
Update a trigger to use modified plugin code from the server's plugin directory.
|
||||||
|
|
||||||
|
<!--pytest.mark.skip-->
|
||||||
|
|
||||||
|
```bash
|
||||||
|
influxdb3 update trigger \
|
||||||
|
--database DATABASE_NAME \
|
||||||
|
--trigger-name TRIGGER_NAME \
|
||||||
|
--path "my_plugin.py" \
|
||||||
|
--token AUTH_TOKEN
|
||||||
|
```
|
||||||
|
|
||||||
|
### Upload and update with a local plugin
|
||||||
|
|
||||||
|
Upload new plugin code from your local machine and update the trigger in a single operation. Requires admin token.
|
||||||
|
|
||||||
|
<!--pytest.mark.skip-->
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Upload single-file plugin
|
||||||
|
influxdb3 update trigger \
|
||||||
|
--database DATABASE_NAME \
|
||||||
|
--trigger-name TRIGGER_NAME \
|
||||||
|
--path "/local/path/to/updated_plugin.py" \
|
||||||
|
--upload \
|
||||||
|
--token AUTH_TOKEN
|
||||||
|
|
||||||
|
# Upload multifile plugin directory
|
||||||
|
influxdb3 update trigger \
|
||||||
|
--database DATABASE_NAME \
|
||||||
|
--trigger-name TRIGGER_NAME \
|
||||||
|
--path "/local/path/to/plugin_directory" \
|
||||||
|
--upload \
|
||||||
|
--token AUTH_TOKEN
|
||||||
|
```
|
||||||
|
|
||||||
|
The `--upload` flag transfers local files to the server's plugin directory, making it easy to iterate on plugin development without manual file copying.
|
||||||
|
|
||||||
|
### Update trigger arguments
|
||||||
|
|
||||||
|
Modify the arguments passed to a trigger's plugin code.
|
||||||
|
|
||||||
|
<!--pytest.mark.skip-->
|
||||||
|
|
||||||
|
```bash
|
||||||
|
influxdb3 update trigger \
|
||||||
|
--database DATABASE_NAME \
|
||||||
|
--trigger-name TRIGGER_NAME \
|
||||||
|
--trigger-arguments threshold=100,window=5m \
|
||||||
|
--token AUTH_TOKEN
|
||||||
|
```
|
||||||
|
|
||||||
|
### Enable or disable a trigger
|
||||||
|
|
||||||
|
Change the trigger's enabled state without modifying other configuration.
|
||||||
|
|
||||||
|
<!--pytest.mark.skip-->
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Disable a trigger
|
||||||
|
influxdb3 update trigger \
|
||||||
|
--database DATABASE_NAME \
|
||||||
|
--trigger-name TRIGGER_NAME \
|
||||||
|
--disabled \
|
||||||
|
--token AUTH_TOKEN
|
||||||
|
|
||||||
|
# Enable a trigger
|
||||||
|
influxdb3 update trigger \
|
||||||
|
--database DATABASE_NAME \
|
||||||
|
--trigger-name TRIGGER_NAME \
|
||||||
|
--enabled \
|
||||||
|
--token AUTH_TOKEN
|
||||||
|
```
|
||||||
|
|
||||||
|
### Update error handling behavior
|
||||||
|
|
||||||
|
Change how the trigger responds to errors.
|
||||||
|
|
||||||
|
<!--pytest.mark.skip-->
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Log errors without retrying
|
||||||
|
influxdb3 update trigger \
|
||||||
|
--database DATABASE_NAME \
|
||||||
|
--trigger-name TRIGGER_NAME \
|
||||||
|
--error-behavior log \
|
||||||
|
--token AUTH_TOKEN
|
||||||
|
|
||||||
|
# Retry on errors
|
||||||
|
influxdb3 update trigger \
|
||||||
|
--database DATABASE_NAME \
|
||||||
|
--trigger-name TRIGGER_NAME \
|
||||||
|
--error-behavior retry \
|
||||||
|
--token AUTH_TOKEN
|
||||||
|
|
||||||
|
# Disable trigger on error
|
||||||
|
influxdb3 update trigger \
|
||||||
|
--database DATABASE_NAME \
|
||||||
|
--trigger-name TRIGGER_NAME \
|
||||||
|
--error-behavior disable \
|
||||||
|
--token AUTH_TOKEN
|
||||||
|
```
|
||||||
|
|
||||||
|
{{% /code-placeholders %}}
|
||||||
|
|
@ -1,11 +1,13 @@
|
||||||
<!-- TOC -->
|
<!-- TOC -->
|
||||||
|
|
||||||
- [Prerequisites](#prerequisites)
|
- [Prerequisites](#prerequisites)
|
||||||
|
- [Quick-Start Mode (Development)](#quick-start-mode-development)
|
||||||
- [Start InfluxDB](#start-influxdb)
|
- [Start InfluxDB](#start-influxdb)
|
||||||
- [Object store examples](#object-store-examples)
|
- [Object store examples](#object-store-examples)
|
||||||
{{% show-in "enterprise" %}}
|
{{% show-in "enterprise" %}}
|
||||||
- [Set up licensing](#set-up-licensing)
|
- [Set up licensing](#set-up-licensing)
|
||||||
- [Available license types](#available-license-types)
|
- [Available license types](#available-license-types)
|
||||||
{{% /show-in %}}
|
{{% /show-in %}}
|
||||||
- [Set up authorization](#set-up-authorization)
|
- [Set up authorization](#set-up-authorization)
|
||||||
- [Create an operator token](#create-an-operator-token)
|
- [Create an operator token](#create-an-operator-token)
|
||||||
- [Set your token for authorization](#set-your-token-for-authorization)
|
- [Set your token for authorization](#set-your-token-for-authorization)
|
||||||
|
|
@ -21,6 +23,62 @@ To get started, you'll need:
|
||||||
- A directory on your local disk where you can persist data (used by examples in this guide)
|
- A directory on your local disk where you can persist data (used by examples in this guide)
|
||||||
- S3-compatible object store and credentials
|
- S3-compatible object store and credentials
|
||||||
|
|
||||||
|
## Quick-Start Mode (Development)
|
||||||
|
|
||||||
|
For development, testing, and home use, you can start {{% product-name %}} without
|
||||||
|
any arguments. The system automatically generates required configuration values
|
||||||
|
based on your system's hostname:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
influxdb3
|
||||||
|
```
|
||||||
|
|
||||||
|
When you run `influxdb3` without arguments, the following values are auto-generated:
|
||||||
|
|
||||||
|
{{% show-in "enterprise" %}}
|
||||||
|
|
||||||
|
- **`node-id`**: `{hostname}-node` (or `primary-node` if hostname is unavailable)
|
||||||
|
- **`cluster-id`**: `{hostname}-cluster` (or `primary-cluster` if hostname is unavailable)
|
||||||
|
{{% /show-in %}}
|
||||||
|
{{% show-in "core" %}}
|
||||||
|
- **`node-id`**: `{hostname}-node` (or `primary-node` if hostname is unavailable)
|
||||||
|
{{% /show-in %}}
|
||||||
|
- **`object-store`**: `file`
|
||||||
|
- **`data-dir`**: `~/.influxdb`
|
||||||
|
|
||||||
|
The system displays warning messages showing the auto-generated identifiers:
|
||||||
|
|
||||||
|
{{% show-in "enterprise" %}}
|
||||||
|
|
||||||
|
```
|
||||||
|
Using auto-generated node id: mylaptop-node. For production deployments, explicitly set --node-id
|
||||||
|
Using auto-generated cluster id: mylaptop-cluster. For production deployments, explicitly set --cluster-id
|
||||||
|
```
|
||||||
|
|
||||||
|
{{% /show-in %}}
|
||||||
|
{{% show-in "core" %}}
|
||||||
|
|
||||||
|
```
|
||||||
|
Using auto-generated node id: mylaptop-node. For production deployments, explicitly set --node-id
|
||||||
|
```
|
||||||
|
|
||||||
|
{{% /show-in %}}
|
||||||
|
|
||||||
|
> \[!Important]
|
||||||
|
>
|
||||||
|
> #### When to use quick-start mode
|
||||||
|
>
|
||||||
|
> Quick-start mode is designed for development, testing, and home lab environments
|
||||||
|
> where simplicity is prioritized over explicit configuration.
|
||||||
|
>
|
||||||
|
> **For production deployments**, use explicit configuration values with the
|
||||||
|
> [`influxdb3 serve` command](/influxdb3/version/reference/cli/influxdb3/serve/)
|
||||||
|
> as shown in the [Start InfluxDB](#start-influxdb) section below.
|
||||||
|
|
||||||
|
**Configuration precedence**: Environment variables override auto-generated defaults.
|
||||||
|
For example, if you set `INFLUXDB3_NODE_IDENTIFIER_PREFIX=my-node`, the system
|
||||||
|
uses `my-node` instead of generating `{hostname}-node`.
|
||||||
|
|
||||||
## Start InfluxDB
|
## Start InfluxDB
|
||||||
|
|
||||||
Use the [`influxdb3 serve` command](/influxdb3/version/reference/cli/influxdb3/serve/)
|
Use the [`influxdb3 serve` command](/influxdb3/version/reference/cli/influxdb3/serve/)
|
||||||
|
|
@ -28,24 +86,28 @@ to start {{% product-name %}}.
|
||||||
Provide the following:
|
Provide the following:
|
||||||
|
|
||||||
{{% show-in "enterprise" %}}
|
{{% show-in "enterprise" %}}
|
||||||
|
|
||||||
- `--node-id`: A string identifier that distinguishes individual server
|
- `--node-id`: A string identifier that distinguishes individual server
|
||||||
instances within the cluster. This forms the final part of the storage path:
|
instances within the cluster. This forms the final part of the storage path:
|
||||||
`<CONFIGURED_PATH>/<CLUSTER_ID>/<NODE_ID>`.
|
`<CONFIGURED_PATH>/<CLUSTER_ID>/<NODE_ID>`.
|
||||||
In a multi-node setup, this ID is used to reference specific nodes.
|
In a multi-node setup, this ID is used to reference specific nodes.
|
||||||
|
|
||||||
- `--cluster-id`: A string identifier that determines part of the storage path
|
- `--cluster-id`: A string identifier that determines part of the storage path
|
||||||
hierarchy. All nodes within the same cluster share this identifier.
|
hierarchy. All nodes within the same cluster share this identifier.
|
||||||
The storage path follows the pattern `<CONFIGURED_PATH>/<CLUSTER_ID>/<NODE_ID>`.
|
The storage path follows the pattern `<CONFIGURED_PATH>/<CLUSTER_ID>/<NODE_ID>`.
|
||||||
In a multi-node setup, this ID is used to reference the entire cluster.
|
In a multi-node setup, this ID is used to reference the entire cluster.
|
||||||
{{% /show-in %}}
|
{{% /show-in %}}
|
||||||
{{% show-in "core" %}}
|
{{% show-in "core" %}}
|
||||||
|
|
||||||
- `--node-id`: A string identifier that distinguishes individual server instances.
|
- `--node-id`: A string identifier that distinguishes individual server instances.
|
||||||
This forms the final part of the storage path: `<CONFIGURED_PATH>/<NODE_ID>`.
|
This forms the final part of the storage path: `<CONFIGURED_PATH>/<NODE_ID>`.
|
||||||
{{% /show-in %}}
|
{{% /show-in %}}
|
||||||
|
|
||||||
- `--object-store`: Specifies the type of object store to use.
|
- `--object-store`: Specifies the type of object store to use.
|
||||||
InfluxDB supports the following:
|
InfluxDB supports the following:
|
||||||
|
|
||||||
- `file`: local file system
|
- `file`: local file system
|
||||||
- `memory`: in memory _(no object persistence)_
|
- `memory`: in memory *(no object persistence)*
|
||||||
- `memory-throttled`: like `memory` but with latency and throughput that
|
- `memory-throttled`: like `memory` but with latency and throughput that
|
||||||
somewhat resembles a cloud-based object store
|
somewhat resembles a cloud-based object store
|
||||||
- `s3`: AWS S3 and S3-compatible services like Ceph or Minio
|
- `s3`: AWS S3 and S3-compatible services like Ceph or Minio
|
||||||
|
|
@ -55,7 +117,8 @@ Provide the following:
|
||||||
- Other object store parameters depending on the selected `object-store` type.
|
- Other object store parameters depending on the selected `object-store` type.
|
||||||
For example, if you use `s3`, you must provide the bucket name and credentials.
|
For example, if you use `s3`, you must provide the bucket name and credentials.
|
||||||
|
|
||||||
> [!Note]
|
> \[!Note]
|
||||||
|
>
|
||||||
> #### Diskless architecture
|
> #### Diskless architecture
|
||||||
>
|
>
|
||||||
> InfluxDB 3 supports a diskless architecture that can operate with object
|
> InfluxDB 3 supports a diskless architecture that can operate with object
|
||||||
|
|
@ -72,6 +135,7 @@ For this getting started guide, use the `file` object store to persist data to
|
||||||
your local disk.
|
your local disk.
|
||||||
|
|
||||||
{{% show-in "enterprise" %}}
|
{{% show-in "enterprise" %}}
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# File system object store
|
# File system object store
|
||||||
# Provide the filesystem directory
|
# Provide the filesystem directory
|
||||||
|
|
@ -81,8 +145,10 @@ influxdb3 serve \
|
||||||
--object-store file \
|
--object-store file \
|
||||||
--data-dir ~/.influxdb3
|
--data-dir ~/.influxdb3
|
||||||
```
|
```
|
||||||
|
|
||||||
{{% /show-in %}}
|
{{% /show-in %}}
|
||||||
{{% show-in "core" %}}
|
{{% show-in "core" %}}
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# File system object store
|
# File system object store
|
||||||
# Provide the file system directory
|
# Provide the file system directory
|
||||||
|
|
@ -91,6 +157,7 @@ influxdb3 serve \
|
||||||
--object-store file \
|
--object-store file \
|
||||||
--data-dir ~/.influxdb3
|
--data-dir ~/.influxdb3
|
||||||
```
|
```
|
||||||
|
|
||||||
{{% /show-in %}}
|
{{% /show-in %}}
|
||||||
|
|
||||||
### Object store examples
|
### Object store examples
|
||||||
|
|
@ -104,6 +171,7 @@ This is the default object store type.
|
||||||
Replace the following with your values:
|
Replace the following with your values:
|
||||||
|
|
||||||
{{% show-in "enterprise" %}}
|
{{% show-in "enterprise" %}}
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Filesystem object store
|
# Filesystem object store
|
||||||
# Provide the filesystem directory
|
# Provide the filesystem directory
|
||||||
|
|
@ -113,8 +181,10 @@ influxdb3 serve \
|
||||||
--object-store file \
|
--object-store file \
|
||||||
--data-dir ~/.influxdb3
|
--data-dir ~/.influxdb3
|
||||||
```
|
```
|
||||||
|
|
||||||
{{% /show-in %}}
|
{{% /show-in %}}
|
||||||
{{% show-in "core" %}}
|
{{% show-in "core" %}}
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# File system object store
|
# File system object store
|
||||||
# Provide the file system directory
|
# Provide the file system directory
|
||||||
|
|
@ -123,6 +193,7 @@ influxdb3 serve \
|
||||||
--object-store file \
|
--object-store file \
|
||||||
--data-dir ~/.influxdb3
|
--data-dir ~/.influxdb3
|
||||||
```
|
```
|
||||||
|
|
||||||
{{% /show-in %}}
|
{{% /show-in %}}
|
||||||
|
|
||||||
{{% /expand %}}
|
{{% /expand %}}
|
||||||
|
|
@ -136,7 +207,9 @@ provide the following options with your `docker run` command:
|
||||||
- `--object-store file --data-dir /path/in/container`: Uses the volume for object storage
|
- `--object-store file --data-dir /path/in/container`: Uses the volume for object storage
|
||||||
|
|
||||||
{{% show-in "enterprise" %}}
|
{{% show-in "enterprise" %}}
|
||||||
|
|
||||||
<!--pytest.mark.skip-->
|
<!--pytest.mark.skip-->
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# File system object store with Docker
|
# File system object store with Docker
|
||||||
# Create a mount
|
# Create a mount
|
||||||
|
|
@ -149,9 +222,12 @@ docker run -it \
|
||||||
--object-store file \
|
--object-store file \
|
||||||
--data-dir /path/in/container
|
--data-dir /path/in/container
|
||||||
```
|
```
|
||||||
|
|
||||||
{{% /show-in %}}
|
{{% /show-in %}}
|
||||||
{{% show-in "core" %}}
|
{{% show-in "core" %}}
|
||||||
|
|
||||||
<!--pytest.mark.skip-->
|
<!--pytest.mark.skip-->
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# File system object store with Docker
|
# File system object store with Docker
|
||||||
# Create a mount
|
# Create a mount
|
||||||
|
|
@ -163,9 +239,10 @@ docker run -it \
|
||||||
--object-store file \
|
--object-store file \
|
||||||
--data-dir /path/in/container
|
--data-dir /path/in/container
|
||||||
```
|
```
|
||||||
|
|
||||||
{{% /show-in %}}
|
{{% /show-in %}}
|
||||||
|
|
||||||
> [!Note]
|
> \[!Note]
|
||||||
>
|
>
|
||||||
> The {{% product-name %}} Docker image exposes port `8181`, the `influxdb3`
|
> The {{% product-name %}} Docker image exposes port `8181`, the `influxdb3`
|
||||||
> server default for HTTP connections.
|
> server default for HTTP connections.
|
||||||
|
|
@ -175,8 +252,9 @@ docker run -it \
|
||||||
{{% /expand %}}
|
{{% /expand %}}
|
||||||
{{% expand "Docker compose with a mounted file system object store" %}}
|
{{% expand "Docker compose with a mounted file system object store" %}}
|
||||||
Open `compose.yaml` for editing and add a `services` entry for
|
Open `compose.yaml` for editing and add a `services` entry for
|
||||||
{{% product-name %}}--for example:
|
{{% product-name %}}--for example:
|
||||||
{{% show-in "enterprise" %}}
|
{{% show-in "enterprise" %}}
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# compose.yaml
|
# compose.yaml
|
||||||
services:
|
services:
|
||||||
|
|
@ -206,11 +284,13 @@ services:
|
||||||
# Path to store plugins in the container
|
# Path to store plugins in the container
|
||||||
target: /var/lib/influxdb3/plugins
|
target: /var/lib/influxdb3/plugins
|
||||||
```
|
```
|
||||||
Replace `EMAIL_ADDRESS` with your email address to bypass the email prompt
|
|
||||||
when generating a trial or at-home license. For more information, see [Manage your
|
Replace `EMAIL_ADDRESS` with your email address to bypass the email prompt
|
||||||
{{% product-name %}} license](/influxdb3/version/admin/license/).
|
when generating a trial or at-home license. For more information, see [Manage your
|
||||||
|
{{% product-name %}} license](/influxdb3/version/admin/license/).
|
||||||
{{% /show-in %}}
|
{{% /show-in %}}
|
||||||
{{% show-in "core" %}}
|
{{% show-in "core" %}}
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# compose.yaml
|
# compose.yaml
|
||||||
services:
|
services:
|
||||||
|
|
@ -237,11 +317,13 @@ services:
|
||||||
# Path to store plugins in the container
|
# Path to store plugins in the container
|
||||||
target: /var/lib/influxdb3/plugins
|
target: /var/lib/influxdb3/plugins
|
||||||
```
|
```
|
||||||
|
|
||||||
{{% /show-in %}}
|
{{% /show-in %}}
|
||||||
|
|
||||||
Use the Docker Compose CLI to start the server--for example:
|
Use the Docker Compose CLI to start the server--for example:
|
||||||
|
|
||||||
<!--pytest.mark.skip-->
|
<!--pytest.mark.skip-->
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker compose pull && docker compose up influxdb3-{{< product-key >}}
|
docker compose pull && docker compose up influxdb3-{{< product-key >}}
|
||||||
```
|
```
|
||||||
|
|
@ -250,7 +332,8 @@ The command pulls the latest {{% product-name %}} Docker image and starts
|
||||||
`influxdb3` in a container with host port `8181` mapped to container port
|
`influxdb3` in a container with host port `8181` mapped to container port
|
||||||
`8181`, the server default for HTTP connections.
|
`8181`, the server default for HTTP connections.
|
||||||
|
|
||||||
> [!Tip]
|
> \[!Tip]
|
||||||
|
>
|
||||||
> #### Custom port mapping
|
> #### Custom port mapping
|
||||||
>
|
>
|
||||||
> To customize your `influxdb3` server hostname and port, specify the
|
> To customize your `influxdb3` server hostname and port, specify the
|
||||||
|
|
@ -267,6 +350,7 @@ This is useful for production deployments that require high availability and dur
|
||||||
Provide your bucket name and credentials to access the S3 object store.
|
Provide your bucket name and credentials to access the S3 object store.
|
||||||
|
|
||||||
{{% show-in "enterprise" %}}
|
{{% show-in "enterprise" %}}
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# S3 object store (default is the us-east-1 region)
|
# S3 object store (default is the us-east-1 region)
|
||||||
# Specify the object store type and associated options
|
# Specify the object store type and associated options
|
||||||
|
|
@ -293,8 +377,10 @@ influxdb3 serve \
|
||||||
--aws-endpoint ENDPOINT \
|
--aws-endpoint ENDPOINT \
|
||||||
--aws-allow-http
|
--aws-allow-http
|
||||||
```
|
```
|
||||||
|
|
||||||
{{% /show-in %}}
|
{{% /show-in %}}
|
||||||
{{% show-in "core" %}}
|
{{% show-in "core" %}}
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# S3 object store (default is the us-east-1 region)
|
# S3 object store (default is the us-east-1 region)
|
||||||
# Specify the object store type and associated options
|
# Specify the object store type and associated options
|
||||||
|
|
@ -319,6 +405,7 @@ influxdb3 serve \
|
||||||
--aws-endpoint ENDPOINT \
|
--aws-endpoint ENDPOINT \
|
||||||
--aws-allow-http
|
--aws-allow-http
|
||||||
```
|
```
|
||||||
|
|
||||||
{{% /show-in %}}
|
{{% /show-in %}}
|
||||||
|
|
||||||
{{% /expand %}}
|
{{% /expand %}}
|
||||||
|
|
@ -328,6 +415,7 @@ Store data in RAM without persisting it on shutdown.
|
||||||
It's useful for rapid testing and development.
|
It's useful for rapid testing and development.
|
||||||
|
|
||||||
{{% show-in "enterprise" %}}
|
{{% show-in "enterprise" %}}
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Memory object store
|
# Memory object store
|
||||||
# Stores data in RAM; doesn't persist data
|
# Stores data in RAM; doesn't persist data
|
||||||
|
|
@ -336,8 +424,10 @@ influxdb3 serve \
|
||||||
--cluster-id cluster01 \
|
--cluster-id cluster01 \
|
||||||
--object-store memory
|
--object-store memory
|
||||||
```
|
```
|
||||||
|
|
||||||
{{% /show-in %}}
|
{{% /show-in %}}
|
||||||
{{% show-in "core" %}}
|
{{% show-in "core" %}}
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Memory object store
|
# Memory object store
|
||||||
# Stores data in RAM; doesn't persist data
|
# Stores data in RAM; doesn't persist data
|
||||||
|
|
@ -345,6 +435,7 @@ influxdb3 serve \
|
||||||
--node-id host01 \
|
--node-id host01 \
|
||||||
--object-store memory
|
--object-store memory
|
||||||
```
|
```
|
||||||
|
|
||||||
{{% /show-in %}}
|
{{% /show-in %}}
|
||||||
|
|
||||||
{{% /expand %}}
|
{{% /expand %}}
|
||||||
|
|
@ -358,6 +449,7 @@ influxdb3 serve --help
|
||||||
```
|
```
|
||||||
|
|
||||||
{{% show-in "enterprise" %}}
|
{{% show-in "enterprise" %}}
|
||||||
|
|
||||||
## Set up licensing
|
## Set up licensing
|
||||||
|
|
||||||
When you first start a new instance, {{% product-name %}} prompts you to select a
|
When you first start a new instance, {{% product-name %}} prompts you to select a
|
||||||
|
|
@ -375,20 +467,22 @@ InfluxDB 3 Enterprise licenses:
|
||||||
- **At-Home**: For at-home hobbyist use with limited access to InfluxDB 3 Enterprise capabilities.
|
- **At-Home**: For at-home hobbyist use with limited access to InfluxDB 3 Enterprise capabilities.
|
||||||
- **Commercial**: Commercial license with full access to InfluxDB 3 Enterprise capabilities.
|
- **Commercial**: Commercial license with full access to InfluxDB 3 Enterprise capabilities.
|
||||||
|
|
||||||
> [!Important]
|
> \[!Important]
|
||||||
|
>
|
||||||
> #### Trial and at-home licenses with Docker
|
> #### Trial and at-home licenses with Docker
|
||||||
>
|
>
|
||||||
> To generate the trial or home license in Docker, bypass the email prompt.
|
> To generate the trial or home license in Docker, bypass the email prompt.
|
||||||
> The first time you start a new instance, provide your email address with the
|
> The first time you start a new instance, provide your email address with the
|
||||||
> `--license-email` option or the `INFLUXDB3_ENTERPRISE_LICENSE_EMAIL` environment variable.
|
> `--license-email` option or the `INFLUXDB3_ENTERPRISE_LICENSE_EMAIL` environment variable.
|
||||||
>
|
>
|
||||||
> _Currently, if you use Docker and enter your email address in the prompt, a bug may
|
> *Currently, if you use Docker and enter your email address in the prompt, a bug may
|
||||||
> prevent the container from generating the license ._
|
> prevent the container from generating the license .*
|
||||||
>
|
>
|
||||||
> For more information, see [the Docker Compose example](/influxdb3/enterprise/admin/license/?t=Docker+compose#start-the-server-with-your-license-email).
|
> For more information, see [the Docker Compose example](/influxdb3/enterprise/admin/license/?t=Docker+compose#start-the-server-with-your-license-email).
|
||||||
{{% /show-in %}}
|
> {{% /show-in %}}
|
||||||
|
|
||||||
> [!Tip]
|
> \[!Tip]
|
||||||
|
>
|
||||||
> #### Use the InfluxDB 3 Explorer query interface
|
> #### Use the InfluxDB 3 Explorer query interface
|
||||||
>
|
>
|
||||||
> You can complete the remaining steps in this guide using InfluxDB 3 Explorer,
|
> You can complete the remaining steps in this guide using InfluxDB 3 Explorer,
|
||||||
|
|
@ -416,17 +510,17 @@ commands and HTTP API requests.
|
||||||
database
|
database
|
||||||
- A system token grants read access to system information endpoints and
|
- A system token grants read access to system information endpoints and
|
||||||
metrics for the server
|
metrics for the server
|
||||||
{{% /show-in %}}
|
{{% /show-in %}}
|
||||||
{{% show-in "core" %}}
|
{{% show-in "core" %}}
|
||||||
{{% product-name %}} supports _admin_ tokens, which grant access to all CLI actions and API endpoints.
|
{{% product-name %}} supports *admin* tokens, which grant access to all CLI actions and API endpoints.
|
||||||
{{% /show-in %}}
|
{{% /show-in %}}
|
||||||
|
|
||||||
For more information about tokens and authorization, see [Manage tokens](/influxdb3/version/admin/tokens/).
|
For more information about tokens and authorization, see [Manage tokens](/influxdb3/version/admin/tokens/).
|
||||||
|
|
||||||
### Create an operator token
|
### Create an operator token
|
||||||
|
|
||||||
After you start the server, create your first admin token.
|
After you start the server, create your first admin token.
|
||||||
The first admin token you create is the _operator_ token for the server.
|
The first admin token you create is the *operator* token for the server.
|
||||||
|
|
||||||
Use the [`influxdb3 create token` command](/influxdb3/version/reference/cli/influxdb3/create/token/)
|
Use the [`influxdb3 create token` command](/influxdb3/version/reference/cli/influxdb3/create/token/)
|
||||||
with the `--admin` option to create your operator token:
|
with the `--admin` option to create your operator token:
|
||||||
|
|
@ -445,11 +539,13 @@ influxdb3 create token --admin
|
||||||
{{% /code-tab-content %}}
|
{{% /code-tab-content %}}
|
||||||
{{% code-tab-content %}}
|
{{% code-tab-content %}}
|
||||||
|
|
||||||
{{% code-placeholders "CONTAINER_NAME" %}}
|
{{% code-placeholders "CONTAINER\_NAME" %}}
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# With Docker — in a new terminal:
|
# With Docker — in a new terminal:
|
||||||
docker exec -it CONTAINER_NAME influxdb3 create token --admin
|
docker exec -it CONTAINER_NAME influxdb3 create token --admin
|
||||||
```
|
```
|
||||||
|
|
||||||
{{% /code-placeholders %}}
|
{{% /code-placeholders %}}
|
||||||
|
|
||||||
Replace {{% code-placeholder-key %}}`CONTAINER_NAME`{{% /code-placeholder-key %}} with the name of your running Docker container.
|
Replace {{% code-placeholder-key %}}`CONTAINER_NAME`{{% /code-placeholder-key %}} with the name of your running Docker container.
|
||||||
|
|
@ -459,7 +555,8 @@ Replace {{% code-placeholder-key %}}`CONTAINER_NAME`{{% /code-placeholder-key %}
|
||||||
|
|
||||||
The command returns a token string for authenticating CLI commands and API requests.
|
The command returns a token string for authenticating CLI commands and API requests.
|
||||||
|
|
||||||
> [!Important]
|
> \[!Important]
|
||||||
|
>
|
||||||
> #### Store your token securely
|
> #### Store your token securely
|
||||||
>
|
>
|
||||||
> InfluxDB displays the token string only when you create it.
|
> InfluxDB displays the token string only when you create it.
|
||||||
|
|
@ -486,10 +583,12 @@ In your command, replace {{% code-placeholder-key %}}`YOUR_AUTH_TOKEN`{{% /code-
|
||||||
Set the `INFLUXDB3_AUTH_TOKEN` environment variable to have the CLI use your
|
Set the `INFLUXDB3_AUTH_TOKEN` environment variable to have the CLI use your
|
||||||
token automatically:
|
token automatically:
|
||||||
|
|
||||||
{{% code-placeholders "YOUR_AUTH_TOKEN" %}}
|
{{% code-placeholders "YOUR\_AUTH\_TOKEN" %}}
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
export INFLUXDB3_AUTH_TOKEN=YOUR_AUTH_TOKEN
|
export INFLUXDB3_AUTH_TOKEN=YOUR_AUTH_TOKEN
|
||||||
```
|
```
|
||||||
|
|
||||||
{{% /code-placeholders %}}
|
{{% /code-placeholders %}}
|
||||||
|
|
||||||
{{% /tab-content %}}
|
{{% /tab-content %}}
|
||||||
|
|
@ -497,10 +596,12 @@ export INFLUXDB3_AUTH_TOKEN=YOUR_AUTH_TOKEN
|
||||||
|
|
||||||
Include the `--token` option with CLI commands:
|
Include the `--token` option with CLI commands:
|
||||||
|
|
||||||
{{% code-placeholders "YOUR_AUTH_TOKEN" %}}
|
{{% code-placeholders "YOUR\_AUTH\_TOKEN" %}}
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
influxdb3 show databases --token YOUR_AUTH_TOKEN
|
influxdb3 show databases --token YOUR_AUTH_TOKEN
|
||||||
```
|
```
|
||||||
|
|
||||||
{{% /code-placeholders %}}
|
{{% /code-placeholders %}}
|
||||||
|
|
||||||
{{% /tab-content %}}
|
{{% /tab-content %}}
|
||||||
|
|
@ -508,37 +609,41 @@ influxdb3 show databases --token YOUR_AUTH_TOKEN
|
||||||
|
|
||||||
For HTTP API requests, include your token in the `Authorization` header--for example:
|
For HTTP API requests, include your token in the `Authorization` header--for example:
|
||||||
|
|
||||||
{{% code-placeholders "YOUR_AUTH_TOKEN" %}}
|
{{% code-placeholders "YOUR\_AUTH\_TOKEN" %}}
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl "http://{{< influxdb/host >}}/api/v3/configure/database" \
|
curl "http://{{< influxdb/host >}}/api/v3/configure/database" \
|
||||||
--header "Authorization: Bearer YOUR_AUTH_TOKEN"
|
--header "Authorization: Bearer YOUR_AUTH_TOKEN"
|
||||||
```
|
```
|
||||||
|
|
||||||
{{% /code-placeholders %}}
|
{{% /code-placeholders %}}
|
||||||
|
|
||||||
#### Learn more about tokens and permissions
|
#### Learn more about tokens and permissions
|
||||||
|
|
||||||
- [Manage admin tokens](/influxdb3/version/admin/tokens/admin/) - Understand and
|
- [Manage admin tokens](/influxdb3/version/admin/tokens/admin/) - Understand and
|
||||||
manage operator and named admin tokens
|
manage operator and named admin tokens
|
||||||
{{% show-in "enterprise" %}}
|
{{% show-in "enterprise" %}}
|
||||||
- [Manage resource tokens](/influxdb3/version/admin/tokens/resource/) - Create,
|
- [Manage resource tokens](/influxdb3/version/admin/tokens/resource/) - Create,
|
||||||
list, and delete resource tokens
|
list, and delete resource tokens
|
||||||
{{% /show-in %}}
|
{{% /show-in %}}
|
||||||
- [Authentication](/influxdb3/version/reference/internals/authentication/) -
|
- [Authentication](/influxdb3/version/reference/internals/authentication/) -
|
||||||
Understand authentication, authorizations, and permissions in {{% product-name %}}
|
Understand authentication, authorizations, and permissions in {{% product-name %}}
|
||||||
|
|
||||||
<!-- //TODO - Authenticate with compatibility APIs -->
|
<!-- //TODO - Authenticate with compatibility APIs -->
|
||||||
|
|
||||||
{{% show-in "core" %}}
|
{{% show-in "core" %}}
|
||||||
{{% page-nav
|
{{% page-nav
|
||||||
prev="/influxdb3/version/get-started/"
|
prev="/influxdb3/version/get-started/"
|
||||||
prevText="Get started"
|
prevText="Get started"
|
||||||
next="/influxdb3/version/get-started/write/"
|
next="/influxdb3/version/get-started/write/"
|
||||||
nextText="Write data"
|
nextText="Write data"
|
||||||
%}}
|
%}}
|
||||||
{{% /show-in %}}
|
{{% /show-in %}}
|
||||||
{{% show-in "enterprise" %}}
|
{{% show-in "enterprise" %}}
|
||||||
{{% page-nav
|
{{% page-nav
|
||||||
prev="/influxdb3/version/get-started/"
|
prev="/influxdb3/version/get-started/"
|
||||||
prevText="Get started"
|
prevText="Get started"
|
||||||
next="/influxdb3/version/get-started/multi-server/"
|
next="/influxdb3/version/get-started/multi-server/"
|
||||||
nextText="Create a multi-node cluster"
|
nextText="Create a multi-node cluster"
|
||||||
%}}
|
%}}
|
||||||
{{% /show-in %}}
|
{{% /show-in %}}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ Use the Processing Engine in {{% product-name %}} to extend your database with c
|
||||||
|
|
||||||
## What is the Processing Engine?
|
## What is the Processing Engine?
|
||||||
|
|
||||||
The Processing Engine is an embedded Python virtual machine that runs inside your {{% product-name %}} database. You configure _triggers_ to run your Python _plugin_ code in response to:
|
The Processing Engine is an embedded Python virtual machine that runs inside your {{% product-name %}} database. You configure *triggers* to run your Python *plugin* code in response to:
|
||||||
|
|
||||||
- **Data writes** - Process and transform data as it enters the database
|
- **Data writes** - Process and transform data as it enters the database
|
||||||
- **Scheduled events** - Run code at defined intervals or specific times
|
- **Scheduled events** - Run code at defined intervals or specific times
|
||||||
|
|
@ -15,6 +15,7 @@ This guide walks you through setting up the Processing Engine, creating your fir
|
||||||
## Before you begin
|
## Before you begin
|
||||||
|
|
||||||
Ensure you have:
|
Ensure you have:
|
||||||
|
|
||||||
- A working {{% product-name %}} instance
|
- A working {{% product-name %}} instance
|
||||||
- Access to command line
|
- Access to command line
|
||||||
- Python installed if you're writing your own plugin
|
- Python installed if you're writing your own plugin
|
||||||
|
|
@ -24,21 +25,27 @@ Once you have all the prerequisites in place, follow these steps to implement th
|
||||||
|
|
||||||
- [Set up the Processing Engine](#set-up-the-processing-engine)
|
- [Set up the Processing Engine](#set-up-the-processing-engine)
|
||||||
- [Add a Processing Engine plugin](#add-a-processing-engine-plugin)
|
- [Add a Processing Engine plugin](#add-a-processing-engine-plugin)
|
||||||
|
- [Upload plugins from local machine](#upload-plugins-from-local-machine)
|
||||||
|
- [Update existing plugins](#update-existing-plugins)
|
||||||
|
- [View loaded plugins](#view-loaded-plugins)
|
||||||
- [Set up a trigger](#set-up-a-trigger)
|
- [Set up a trigger](#set-up-a-trigger)
|
||||||
- [Manage plugin dependencies](#manage-plugin-dependencies)
|
- [Manage plugin dependencies](#manage-plugin-dependencies)
|
||||||
{{% show-in "enterprise" %}}
|
- [Plugin security](#plugin-security)
|
||||||
|
{{% show-in "enterprise" %}}
|
||||||
- [Distributed cluster considerations](#distributed-cluster-considerations)
|
- [Distributed cluster considerations](#distributed-cluster-considerations)
|
||||||
{{% /show-in %}}
|
{{% /show-in %}}
|
||||||
|
|
||||||
## Set up the Processing Engine
|
## Set up the Processing Engine
|
||||||
|
|
||||||
To activate the Processing Engine, start your {{% product-name %}} server with the `--plugin-dir` flag. This flag tells InfluxDB where to load your plugin files.
|
To activate the Processing Engine, start your {{% product-name %}} server with the `--plugin-dir` flag. This flag tells InfluxDB where to load your plugin files.
|
||||||
|
|
||||||
> [!Important]
|
> \[!Important]
|
||||||
|
>
|
||||||
> #### Keep the influxdb3 binary with its python directory
|
> #### Keep the influxdb3 binary with its python directory
|
||||||
>
|
>
|
||||||
> The influxdb3 binary requires the adjacent `python/` directory to function.
|
> The influxdb3 binary requires the adjacent `python/` directory to function.
|
||||||
> If you manually extract from tar.gz, keep them in the same parent directory:
|
> If you manually extract from tar.gz, keep them in the same parent directory:
|
||||||
|
>
|
||||||
> ```
|
> ```
|
||||||
> your-install-location/
|
> your-install-location/
|
||||||
> ├── influxdb3
|
> ├── influxdb3
|
||||||
|
|
@ -47,7 +54,7 @@ To activate the Processing Engine, start your {{% product-name %}} server with t
|
||||||
>
|
>
|
||||||
> Add the parent directory to your PATH; do not move the binary out of this directory.
|
> Add the parent directory to your PATH; do not move the binary out of this directory.
|
||||||
|
|
||||||
{{% code-placeholders "NODE_ID|OBJECT_STORE_TYPE|PLUGIN_DIR" %}}
|
{{% code-placeholders "NODE\_ID|OBJECT\_STORE\_TYPE|PLUGIN\_DIR" %}}
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
influxdb3 serve \
|
influxdb3 serve \
|
||||||
|
|
@ -64,11 +71,12 @@ In the example above, replace the following:
|
||||||
- {{% code-placeholder-key %}}`OBJECT_STORE_TYPE`{{% /code-placeholder-key %}}: Type of object store (for example, file or s3)
|
- {{% code-placeholder-key %}}`OBJECT_STORE_TYPE`{{% /code-placeholder-key %}}: Type of object store (for example, file or s3)
|
||||||
- {{% code-placeholder-key %}}`PLUGIN_DIR`{{% /code-placeholder-key %}}: Absolute path to the directory where plugin files are stored. Store all plugin files in this directory or its subdirectories.
|
- {{% code-placeholder-key %}}`PLUGIN_DIR`{{% /code-placeholder-key %}}: Absolute path to the directory where plugin files are stored. Store all plugin files in this directory or its subdirectories.
|
||||||
|
|
||||||
> [!Note]
|
> \[!Note]
|
||||||
|
>
|
||||||
> #### Use custom plugin repositories
|
> #### Use custom plugin repositories
|
||||||
>
|
>
|
||||||
> By default, plugins referenced with the `gh:` prefix are fetched from the official
|
> By default, plugins referenced with the `gh:` prefix are fetched from the official
|
||||||
> [influxdata/influxdb3_plugins](https://github.com/influxdata/influxdb3_plugins) repository.
|
> [influxdata/influxdb3\_plugins](https://github.com/influxdata/influxdb3_plugins) repository.
|
||||||
> To use a custom repository, add the `--plugin-repo` flag when starting the server.
|
> To use a custom repository, add the `--plugin-repo` flag when starting the server.
|
||||||
> See [Use a custom plugin repository](#option-3-use-a-custom-plugin-repository) for details.
|
> See [Use a custom plugin repository](#option-3-use-a-custom-plugin-repository) for details.
|
||||||
|
|
||||||
|
|
@ -84,7 +92,8 @@ When running {{% product-name %}} in a distributed setup, follow these steps to
|
||||||
3. Maintain identical plugin files across all instances where plugins run
|
3. Maintain identical plugin files across all instances where plugins run
|
||||||
- Use shared storage or file synchronization tools to keep plugins consistent
|
- Use shared storage or file synchronization tools to keep plugins consistent
|
||||||
|
|
||||||
> [!Note]
|
> \[!Note]
|
||||||
|
>
|
||||||
> #### Provide plugins to nodes that run them
|
> #### Provide plugins to nodes that run them
|
||||||
>
|
>
|
||||||
> Configure your plugin directory on the same system as the nodes that run the triggers and plugins.
|
> Configure your plugin directory on the same system as the nodes that run the triggers and plugins.
|
||||||
|
|
@ -95,7 +104,7 @@ For more information about configuring distributed environments, see the [Distri
|
||||||
|
|
||||||
## Add a Processing Engine plugin
|
## Add a Processing Engine plugin
|
||||||
|
|
||||||
A plugin is a Python script that defines a specific function signature for a trigger (_trigger spec_). When the specified event occurs, InfluxDB runs the plugin.
|
A plugin is a Python script that defines a specific function signature for a trigger (*trigger spec*). When the specified event occurs, InfluxDB runs the plugin.
|
||||||
|
|
||||||
### Choose a plugin strategy
|
### Choose a plugin strategy
|
||||||
|
|
||||||
|
|
@ -110,13 +119,13 @@ InfluxData maintains a repository of official and community plugins that you can
|
||||||
|
|
||||||
Browse the [plugin library](/influxdb3/version/plugins/library/) to find examples and InfluxData official plugins for:
|
Browse the [plugin library](/influxdb3/version/plugins/library/) to find examples and InfluxData official plugins for:
|
||||||
|
|
||||||
- **Data transformation**: Process and transform incoming data
|
- **Data transformation**: Process and transform incoming data
|
||||||
- **Alerting**: Send notifications based on data thresholds
|
- **Alerting**: Send notifications based on data thresholds
|
||||||
- **Aggregation**: Calculate statistics on time series data
|
- **Aggregation**: Calculate statistics on time series data
|
||||||
- **Integration**: Connect to external services and APIs
|
- **Integration**: Connect to external services and APIs
|
||||||
- **System monitoring**: Track resource usage and health metrics
|
- **System monitoring**: Track resource usage and health metrics
|
||||||
|
|
||||||
For community contributions, see the [influxdb3_plugins repository](https://github.com/influxdata/influxdb3_plugins) on GitHub.
|
For community contributions, see the [influxdb3\_plugins repository](https://github.com/influxdata/influxdb3_plugins) on GitHub.
|
||||||
|
|
||||||
#### Add example plugins
|
#### Add example plugins
|
||||||
|
|
||||||
|
|
@ -192,7 +201,7 @@ See the [plugin-repo configuration option](/influxdb3/version/reference/config-o
|
||||||
Plugins have various functions such as:
|
Plugins have various functions such as:
|
||||||
|
|
||||||
- Receive plugin-specific arguments (such as written data, call time, or an HTTP request)
|
- Receive plugin-specific arguments (such as written data, call time, or an HTTP request)
|
||||||
- Access keyword arguments (as `args`) passed from _trigger arguments_ configurations
|
- Access keyword arguments (as `args`) passed from *trigger arguments* configurations
|
||||||
- Access the `influxdb3_local` shared API to write data, query data, and managing state between executions
|
- Access the `influxdb3_local` shared API to write data, query data, and managing state between executions
|
||||||
|
|
||||||
For more information about available functions, arguments, and how plugins interact with InfluxDB, see how to [Extend plugins](/influxdb3/version/extend-plugin/).
|
For more information about available functions, arguments, and how plugins interact with InfluxDB, see how to [Extend plugins](/influxdb3/version/extend-plugin/).
|
||||||
|
|
@ -227,10 +236,53 @@ Choose a plugin type based on your automation goals:
|
||||||
|
|
||||||
#### Create your plugin file
|
#### Create your plugin file
|
||||||
|
|
||||||
|
Plugins now support both single-file and multifile architectures:
|
||||||
|
|
||||||
|
**Single-file plugins:**
|
||||||
|
|
||||||
- Create a `.py` file in your plugins directory
|
- Create a `.py` file in your plugins directory
|
||||||
- Add the appropriate function signature based on your chosen plugin type
|
- Add the appropriate function signature based on your chosen plugin type
|
||||||
- Write your processing logic inside the function
|
- Write your processing logic inside the function
|
||||||
|
|
||||||
|
**Multifile plugins:**
|
||||||
|
|
||||||
|
- Create a directory in your plugins directory
|
||||||
|
- Add an `__init__.py` file as the entry point (required)
|
||||||
|
- Organize supporting modules in additional `.py` files
|
||||||
|
- Import and use modules within your plugin code
|
||||||
|
|
||||||
|
##### Example multifile plugin structure
|
||||||
|
|
||||||
|
```
|
||||||
|
my_plugin/
|
||||||
|
├── __init__.py # Required - entry point with trigger function
|
||||||
|
├── utils.py # Supporting module
|
||||||
|
├── processors.py # Data processing functions
|
||||||
|
└── config.py # Configuration helpers
|
||||||
|
```
|
||||||
|
|
||||||
|
The `__init__.py` file must contain your trigger function:
|
||||||
|
|
||||||
|
```python
|
||||||
|
# my_plugin/__init__.py
|
||||||
|
from .processors import process_data
|
||||||
|
from .config import get_settings
|
||||||
|
|
||||||
|
def process_writes(influxdb3_local, table_batches, args=None):
|
||||||
|
settings = get_settings()
|
||||||
|
for table_batch in table_batches:
|
||||||
|
process_data(influxdb3_local, table_batch, settings)
|
||||||
|
```
|
||||||
|
|
||||||
|
Supporting modules can contain helper functions:
|
||||||
|
|
||||||
|
```python
|
||||||
|
# my_plugin/processors.py
|
||||||
|
def process_data(influxdb3_local, table_batch, settings):
|
||||||
|
# Processing logic here
|
||||||
|
pass
|
||||||
|
```
|
||||||
|
|
||||||
After writing your plugin, [create a trigger](#use-the-create-trigger-command) to connect it to a database event and define when it runs.
|
After writing your plugin, [create a trigger](#use-the-create-trigger-command) to connect it to a database event and define when it runs.
|
||||||
|
|
||||||
#### Create a data write plugin
|
#### Create a data write plugin
|
||||||
|
|
@ -313,12 +365,132 @@ After writing your plugin:
|
||||||
- [Install any Python dependencies](#manage-plugin-dependencies) your plugin requires
|
- [Install any Python dependencies](#manage-plugin-dependencies) your plugin requires
|
||||||
- Learn how to [extend plugins with the API](/influxdb3/version/extend-plugin/)
|
- Learn how to [extend plugins with the API](/influxdb3/version/extend-plugin/)
|
||||||
|
|
||||||
|
### Upload plugins from local machine
|
||||||
|
|
||||||
|
For local development and testing, you can upload plugin files directly from your machine when creating triggers. This eliminates the need to manually copy files to the server's plugin directory.
|
||||||
|
|
||||||
|
Use the `--upload` flag with `--path` to transfer local files or directories:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Upload single-file plugin
|
||||||
|
influxdb3 create trigger \
|
||||||
|
--trigger-spec "every:10s" \
|
||||||
|
--path "/local/path/to/plugin.py" \
|
||||||
|
--upload \
|
||||||
|
--database metrics \
|
||||||
|
my_trigger
|
||||||
|
|
||||||
|
# Upload multifile plugin directory
|
||||||
|
influxdb3 create trigger \
|
||||||
|
--trigger-spec "every:30s" \
|
||||||
|
--path "/local/path/to/plugin-dir" \
|
||||||
|
--upload \
|
||||||
|
--database metrics \
|
||||||
|
complex_trigger
|
||||||
|
```
|
||||||
|
|
||||||
|
> \[!Important]
|
||||||
|
>
|
||||||
|
> #### Admin privileges required
|
||||||
|
>
|
||||||
|
> Plugin uploads require an admin token. This security measure prevents unauthorized code execution on the server.
|
||||||
|
|
||||||
|
**When to use plugin upload:**
|
||||||
|
|
||||||
|
- Local plugin development and testing
|
||||||
|
- Deploying plugins without SSH access to the server
|
||||||
|
- Rapid iteration on plugin code
|
||||||
|
- Automating plugin deployment in CI/CD pipelines
|
||||||
|
|
||||||
|
For more information, see the [`influxdb3 create trigger` CLI reference](/influxdb3/version/reference/cli/influxdb3/create/trigger/).
|
||||||
|
|
||||||
|
### Update existing plugins
|
||||||
|
|
||||||
|
Modify plugin code for running triggers without recreating them. This allows you to iterate on plugin development while preserving trigger configuration and history.
|
||||||
|
|
||||||
|
Use the `influxdb3 update trigger` command:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Update single-file plugin
|
||||||
|
influxdb3 update trigger \
|
||||||
|
--database metrics \
|
||||||
|
--trigger-name my_trigger \
|
||||||
|
--path "/path/to/updated/plugin.py"
|
||||||
|
|
||||||
|
# Update multifile plugin
|
||||||
|
influxdb3 update trigger \
|
||||||
|
--database metrics \
|
||||||
|
--trigger-name complex_trigger \
|
||||||
|
--path "/path/to/updated/plugin-dir"
|
||||||
|
```
|
||||||
|
|
||||||
|
The update operation:
|
||||||
|
|
||||||
|
- Replaces plugin files immediately
|
||||||
|
- Preserves trigger configuration (spec, schedule, arguments)
|
||||||
|
- Requires admin token for security
|
||||||
|
- Works with both local paths and uploaded files
|
||||||
|
|
||||||
|
For complete reference, see [`influxdb3 update trigger`](/influxdb3/version/reference/cli/influxdb3/update/trigger/).
|
||||||
|
|
||||||
|
### View loaded plugins
|
||||||
|
|
||||||
|
Monitor which plugins are loaded in your system for operational visibility and troubleshooting.
|
||||||
|
|
||||||
|
**Option 1: Use the CLI command**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# List all plugins
|
||||||
|
influxdb3 show plugins --token $ADMIN_TOKEN
|
||||||
|
|
||||||
|
# JSON format for programmatic access
|
||||||
|
influxdb3 show plugins --format json --token $ADMIN_TOKEN
|
||||||
|
```
|
||||||
|
|
||||||
|
**Option 2: Query the system table**
|
||||||
|
|
||||||
|
The `system.plugin_files` table in the `_internal` database provides detailed plugin file information:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
influxdb3 query \
|
||||||
|
-d _internal \
|
||||||
|
"SELECT * FROM system.plugin_files ORDER BY plugin_name" \
|
||||||
|
--token $ADMIN_TOKEN
|
||||||
|
```
|
||||||
|
|
||||||
|
**Available columns:**
|
||||||
|
|
||||||
|
- `plugin_name` (String): Trigger name
|
||||||
|
- `file_name` (String): Plugin file name
|
||||||
|
- `file_path` (String): Full server path
|
||||||
|
- `size_bytes` (Int64): File size
|
||||||
|
- `last_modified` (Int64): Modification timestamp (milliseconds)
|
||||||
|
|
||||||
|
**Example queries:**
|
||||||
|
|
||||||
|
```sql
|
||||||
|
-- Find plugins by name
|
||||||
|
SELECT * FROM system.plugin_files WHERE plugin_name = 'my_trigger';
|
||||||
|
|
||||||
|
-- Find large plugins
|
||||||
|
SELECT plugin_name, size_bytes
|
||||||
|
FROM system.plugin_files
|
||||||
|
WHERE size_bytes > 10000;
|
||||||
|
|
||||||
|
-- Check modification times
|
||||||
|
SELECT plugin_name, file_name, last_modified
|
||||||
|
FROM system.plugin_files
|
||||||
|
ORDER BY last_modified DESC;
|
||||||
|
```
|
||||||
|
|
||||||
|
For more information, see the [`influxdb3 show plugins` reference](/influxdb3/version/reference/cli/influxdb3/show/plugins/) and [Query system data](/influxdb3/version/admin/query-system-data/#query-plugin-files).
|
||||||
|
|
||||||
## Set up a trigger
|
## Set up a trigger
|
||||||
|
|
||||||
### Understand trigger types
|
### Understand trigger types
|
||||||
|
|
||||||
| Plugin Type | Trigger Specification | When Plugin Runs |
|
| Plugin Type | Trigger Specification | When Plugin Runs |
|
||||||
|------------|----------------------|-----------------|
|
| ------------ | ----------------------------------------- | ------------------------------- |
|
||||||
| Data write | `table:<TABLE_NAME>` or `all_tables` | When data is written to tables |
|
| Data write | `table:<TABLE_NAME>` or `all_tables` | When data is written to tables |
|
||||||
| Scheduled | `every:<DURATION>` or `cron:<EXPRESSION>` | At specified time intervals |
|
| Scheduled | `every:<DURATION>` or `cron:<EXPRESSION>` | At specified time intervals |
|
||||||
| HTTP request | `request:<REQUEST_PATH>` | When HTTP requests are received |
|
| HTTP request | `request:<REQUEST_PATH>` | When HTTP requests are received |
|
||||||
|
|
@ -327,7 +499,7 @@ After writing your plugin:
|
||||||
|
|
||||||
Use the `influxdb3 create trigger` command with the appropriate trigger specification:
|
Use the `influxdb3 create trigger` command with the appropriate trigger specification:
|
||||||
|
|
||||||
{{% code-placeholders "SPECIFICATION|PLUGIN_FILE|DATABASE_NAME|TRIGGER_NAME" %}}
|
{{% code-placeholders "SPECIFICATION|PLUGIN\_FILE|DATABASE\_NAME|TRIGGER\_NAME" %}}
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
influxdb3 create trigger \
|
influxdb3 create trigger \
|
||||||
|
|
@ -335,7 +507,7 @@ influxdb3 create trigger \
|
||||||
--plugin-filename PLUGIN_FILE \
|
--plugin-filename PLUGIN_FILE \
|
||||||
--database DATABASE_NAME \
|
--database DATABASE_NAME \
|
||||||
TRIGGER_NAME
|
TRIGGER_NAME
|
||||||
```
|
```
|
||||||
|
|
||||||
{{% /code-placeholders %}}
|
{{% /code-placeholders %}}
|
||||||
|
|
||||||
|
|
@ -346,9 +518,9 @@ In the example above, replace the following:
|
||||||
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: Name of the database
|
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: Name of the database
|
||||||
- {{% code-placeholder-key %}}`TRIGGER_NAME`{{% /code-placeholder-key %}}: Name of the new trigger
|
- {{% code-placeholder-key %}}`TRIGGER_NAME`{{% /code-placeholder-key %}}: Name of the new trigger
|
||||||
|
|
||||||
> [!Note]
|
> \[!Note]
|
||||||
> When specifying a local plugin file, the `--plugin-filename` parameter
|
> When specifying a local plugin file, the `--plugin-filename` parameter
|
||||||
> _is relative to_ the `--plugin-dir` configured for the server.
|
> *is relative to* the `--plugin-dir` configured for the server.
|
||||||
> You don't need to provide an absolute path.
|
> You don't need to provide an absolute path.
|
||||||
|
|
||||||
### Trigger specification examples
|
### Trigger specification examples
|
||||||
|
|
@ -381,7 +553,8 @@ The plugin receives the written data and table information.
|
||||||
If you want to use a single trigger for all tables but exclude specific tables,
|
If you want to use a single trigger for all tables but exclude specific tables,
|
||||||
you can use trigger arguments and your plugin code to filter out unwanted tables--for example:
|
you can use trigger arguments and your plugin code to filter out unwanted tables--for example:
|
||||||
|
|
||||||
{{% code-placeholders "DATABASE_NAME|AUTH_TOKEN" %}}
|
{{% code-placeholders "DATABASE\_NAME|AUTH\_TOKEN" %}}
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
influxdb3 create trigger \
|
influxdb3 create trigger \
|
||||||
--database DATABASE_NAME \
|
--database DATABASE_NAME \
|
||||||
|
|
@ -391,13 +564,14 @@ influxdb3 create trigger \
|
||||||
--trigger-arguments "exclude_tables=temp_data,debug_info,system_logs" \
|
--trigger-arguments "exclude_tables=temp_data,debug_info,system_logs" \
|
||||||
data_processor
|
data_processor
|
||||||
```
|
```
|
||||||
|
|
||||||
{{% /code-placeholders %}}
|
{{% /code-placeholders %}}
|
||||||
|
|
||||||
Replace the following:
|
Replace the following:
|
||||||
|
|
||||||
- {{% code-placeholder-key %}}DATABASE_NAME{{% /code-placeholder-key %}}: the name of the database
|
- {{% code-placeholder-key %}}DATABASE\_NAME{{% /code-placeholder-key %}}: the name of the database
|
||||||
- {{% code-placeholder-key %}}AUTH_TOKEN{{% /code-placeholder-key %}}: your {{% token-link "database" %}}{{% show-in
|
- {{% code-placeholder-key %}}AUTH\_TOKEN{{% /code-placeholder-key %}}: your {{% token-link "database" %}}{{% show-in
|
||||||
"enterprise" %}} with write permissions on the specified database{{% /show-in %}}
|
"enterprise" %}} with write permissions on the specified database{{% /show-in %}}
|
||||||
|
|
||||||
Then, in your plugin:
|
Then, in your plugin:
|
||||||
|
|
||||||
|
|
@ -545,12 +719,10 @@ influxdb3 create trigger \
|
||||||
|
|
||||||
## Manage plugin dependencies
|
## Manage plugin dependencies
|
||||||
|
|
||||||
|
Use the `influxdb3 install package` command to add third-party libraries (like `pandas`, `requests`, or `influxdb3-python`) to your plugin environment.\
|
||||||
|
|
||||||
Use the `influxdb3 install package` command to add third-party libraries (like `pandas`, `requests`, or `influxdb3-python`) to your plugin environment.
|
|
||||||
This installs packages into the Processing Engine’s embedded Python environment to ensure compatibility with your InfluxDB instance.
|
This installs packages into the Processing Engine’s embedded Python environment to ensure compatibility with your InfluxDB instance.
|
||||||
|
|
||||||
{{% code-placeholders "CONTAINER_NAME|PACKAGE_NAME" %}}
|
{{% code-placeholders "CONTAINER\_NAME|PACKAGE\_NAME" %}}
|
||||||
|
|
||||||
{{< code-tabs-wrapper >}}
|
{{< code-tabs-wrapper >}}
|
||||||
|
|
||||||
|
|
@ -585,18 +757,133 @@ These examples install the specified Python package (for example, pandas) into t
|
||||||
- Use the CLI command when running InfluxDB directly on your system.
|
- Use the CLI command when running InfluxDB directly on your system.
|
||||||
- Use the Docker variant if you're running InfluxDB in a containerized environment.
|
- Use the Docker variant if you're running InfluxDB in a containerized environment.
|
||||||
|
|
||||||
> [!Important]
|
> \[!Important]
|
||||||
|
>
|
||||||
> #### Use bundled Python for plugins
|
> #### Use bundled Python for plugins
|
||||||
|
>
|
||||||
> When you start the server with the `--plugin-dir` option, InfluxDB 3 creates a Python virtual environment (`<PLUGIN_DIR>/venv`) for your plugins.
|
> When you start the server with the `--plugin-dir` option, InfluxDB 3 creates a Python virtual environment (`<PLUGIN_DIR>/venv`) for your plugins.
|
||||||
> If you need to create a custom virtual environment, use the Python interpreter bundled with InfluxDB 3. Don't use the system Python.
|
> If you need to create a custom virtual environment, use the Python interpreter bundled with InfluxDB 3. Don't use the system Python.
|
||||||
> Creating a virtual environment with the system Python (for example, using `python -m venv`) can lead to runtime errors and plugin failures.
|
> Creating a virtual environment with the system Python (for example, using `python -m venv`) can lead to runtime errors and plugin failures.
|
||||||
>
|
>
|
||||||
>For more information, see the [processing engine README](https://github.com/influxdata/influxdb/blob/main/README_processing_engine.md).
|
> For more information, see the [processing engine README](https://github.com/influxdata/influxdb/blob/main/README_processing_engine.md).
|
||||||
|
|
||||||
{{% /code-placeholders %}}
|
{{% /code-placeholders %}}
|
||||||
|
|
||||||
InfluxDB creates a Python virtual environment in your plugins directory with the specified packages installed.
|
InfluxDB creates a Python virtual environment in your plugins directory with the specified packages installed.
|
||||||
|
|
||||||
|
### Disable package installation for secure environments
|
||||||
|
|
||||||
|
For air-gapped deployments or environments with strict security requirements, you can disable Python package installation while maintaining Processing Engine functionality.
|
||||||
|
|
||||||
|
Start the server with `--package-manager disabled`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
influxdb3 serve \
|
||||||
|
--node-id node0 \
|
||||||
|
--object-store file \
|
||||||
|
--data-dir ~/.influxdb3 \
|
||||||
|
--plugin-dir ~/.plugins \
|
||||||
|
--package-manager disabled
|
||||||
|
```
|
||||||
|
|
||||||
|
When package installation is disabled:
|
||||||
|
|
||||||
|
- The Processing Engine continues to function normally for triggers
|
||||||
|
- Plugin code executes without restrictions
|
||||||
|
- Package installation commands are blocked
|
||||||
|
- Pre-installed dependencies in the virtual environment remain available
|
||||||
|
|
||||||
|
**Pre-install required dependencies:**
|
||||||
|
|
||||||
|
Before disabling the package manager, install all required Python packages:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Install packages first
|
||||||
|
influxdb3 install package pandas requests numpy
|
||||||
|
|
||||||
|
# Then start with disabled package manager
|
||||||
|
influxdb3 serve \
|
||||||
|
--plugin-dir ~/.plugins \
|
||||||
|
--package-manager disabled
|
||||||
|
```
|
||||||
|
|
||||||
|
**Use cases for disabled package management:**
|
||||||
|
|
||||||
|
- Air-gapped environments without internet access
|
||||||
|
- Compliance requirements prohibiting runtime package installation
|
||||||
|
- Centrally managed dependency environments
|
||||||
|
- Security policies requiring pre-approved packages only
|
||||||
|
|
||||||
|
For more configuration options, see [--package-manager](/influxdb3/version/reference/config-options/#package-manager).
|
||||||
|
|
||||||
|
## Plugin security
|
||||||
|
|
||||||
|
The Processing Engine includes security features to protect your {{% product-name %}} instance from unauthorized code execution and file system attacks.
|
||||||
|
|
||||||
|
### Plugin path validation
|
||||||
|
|
||||||
|
All plugin file paths are validated to prevent directory traversal attacks. The system blocks:
|
||||||
|
|
||||||
|
- **Relative paths with parent directory references** (`../`, `../../`)
|
||||||
|
- **Absolute paths** (`/etc/passwd`, `/usr/bin/script.py`)
|
||||||
|
- **Symlinks that escape the plugin directory**
|
||||||
|
|
||||||
|
When creating or updating triggers, plugin paths must resolve within the configured `--plugin-dir`.
|
||||||
|
|
||||||
|
**Example of blocked paths:**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# These will be rejected
|
||||||
|
influxdb3 create trigger \
|
||||||
|
--path "../../../etc/passwd" \ # Blocked: parent directory traversal
|
||||||
|
...
|
||||||
|
|
||||||
|
influxdb3 create trigger \
|
||||||
|
--path "/tmp/malicious.py" \ # Blocked: absolute path
|
||||||
|
...
|
||||||
|
```
|
||||||
|
|
||||||
|
**Valid plugin paths:**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# These are allowed
|
||||||
|
influxdb3 create trigger \
|
||||||
|
--path "myapp/plugin.py" \ # Relative to plugin-dir
|
||||||
|
...
|
||||||
|
|
||||||
|
influxdb3 create trigger \
|
||||||
|
--path "transforms/data.py" \ # Subdirectory in plugin-dir
|
||||||
|
...
|
||||||
|
```
|
||||||
|
|
||||||
|
### Upload and update permissions
|
||||||
|
|
||||||
|
Plugin upload and update operations require admin tokens to prevent unauthorized code deployment:
|
||||||
|
|
||||||
|
- `--upload` flag requires admin privileges
|
||||||
|
- `update trigger` command requires admin token
|
||||||
|
- Standard resource tokens cannot upload or modify plugin code
|
||||||
|
|
||||||
|
This security model ensures only administrators can introduce or modify executable code in your database.
|
||||||
|
|
||||||
|
### Best practices
|
||||||
|
|
||||||
|
**For development:**
|
||||||
|
|
||||||
|
- Use the `--upload` flag to deploy plugins during development
|
||||||
|
- Test plugins in non-production environments first
|
||||||
|
- Review plugin code before deployment
|
||||||
|
|
||||||
|
**For production:**
|
||||||
|
|
||||||
|
- Pre-deploy plugins to the server's plugin directory via secure file transfer
|
||||||
|
- Use custom plugin repositories for vetted, approved plugins
|
||||||
|
- Disable package installation (`--package-manager disabled`) in locked-down environments
|
||||||
|
- Audit plugin files using the [`system.plugin_files` table](#view-loaded-plugins)
|
||||||
|
- Implement change control processes for plugin updates
|
||||||
|
|
||||||
|
For more security configuration options, see [Configuration options](/influxdb3/version/reference/config-options/).
|
||||||
|
|
||||||
{{% show-in "enterprise" %}}
|
{{% show-in "enterprise" %}}
|
||||||
|
|
||||||
## Distributed cluster considerations
|
## Distributed cluster considerations
|
||||||
|
|
@ -608,19 +895,20 @@ When you deploy {{% product-name %}} in a multi-node environment, configure each
|
||||||
Each plugin must run on a node that supports its trigger type:
|
Each plugin must run on a node that supports its trigger type:
|
||||||
|
|
||||||
| Plugin type | Trigger spec | Runs on |
|
| Plugin type | Trigger spec | Runs on |
|
||||||
|--------------------|--------------------------|-----------------------------|
|
| ------------ | ------------------------ | ---------------------------- |
|
||||||
| Data write | `table:` or `all_tables` | Ingester nodes |
|
| Data write | `table:` or `all_tables` | Ingester nodes |
|
||||||
| Scheduled | `every:` or `cron:` | Any node with scheduler |
|
| Scheduled | `every:` or `cron:` | Any node with scheduler |
|
||||||
| HTTP request | `request:` | Nodes that serve API traffic|
|
| HTTP request | `request:` | Nodes that serve API traffic |
|
||||||
|
|
||||||
For example:
|
For example:
|
||||||
|
|
||||||
- Run write-ahead log (WAL) plugins on ingester nodes.
|
- Run write-ahead log (WAL) plugins on ingester nodes.
|
||||||
- Run scheduled plugins on any node configured to execute them.
|
- Run scheduled plugins on any node configured to execute them.
|
||||||
- Run HTTP-triggered plugins on querier nodes or any node that handles HTTP endpoints.
|
- Run HTTP-triggered plugins on querier nodes or any node that handles HTTP endpoints.
|
||||||
|
|
||||||
Place all plugin files in the `--plugin-dir` directory configured for each node.
|
Place all plugin files in the `--plugin-dir` directory configured for each node.
|
||||||
|
|
||||||
> [!Note]
|
> \[!Note]
|
||||||
> Triggers fail if the plugin file isn’t available on the node where it runs.
|
> Triggers fail if the plugin file isn’t available on the node where it runs.
|
||||||
|
|
||||||
### Route third-party clients to querier nodes
|
### Route third-party clients to querier nodes
|
||||||
|
|
@ -630,7 +918,7 @@ External tools—such as Grafana, custom dashboards, or REST clients—must conn
|
||||||
#### Examples
|
#### Examples
|
||||||
|
|
||||||
- **Grafana**: When adding InfluxDB 3 as a Grafana data source, use a querier node URL, such as:
|
- **Grafana**: When adding InfluxDB 3 as a Grafana data source, use a querier node URL, such as:
|
||||||
`https://querier.example.com:8086`
|
`https://querier.example.com:8086`
|
||||||
- **REST clients**: Applications using `POST /api/v3/query/sql` or similar endpoints must target a querier node.
|
- **REST clients**: Applications using `POST /api/v3/query/sql` or similar endpoints must target a querier node.
|
||||||
|
|
||||||
{{% /show-in %}}
|
{{% /show-in %}}
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,42 @@
|
||||||
> [!Note]
|
> \[!Note]
|
||||||
|
>
|
||||||
> #### InfluxDB 3 Core and Enterprise relationship
|
> #### InfluxDB 3 Core and Enterprise relationship
|
||||||
>
|
>
|
||||||
> InfluxDB 3 Enterprise is a superset of InfluxDB 3 Core.
|
> InfluxDB 3 Enterprise is a superset of InfluxDB 3 Core.
|
||||||
> All updates to Core are automatically included in Enterprise.
|
> All updates to Core are automatically included in Enterprise.
|
||||||
> The Enterprise sections below only list updates exclusive to Enterprise.
|
> The Enterprise sections below only list updates exclusive to Enterprise.
|
||||||
|
|
||||||
|
## v3.6.0 {date="2025-10-30"}
|
||||||
|
|
||||||
|
### Core
|
||||||
|
|
||||||
|
#### Features
|
||||||
|
|
||||||
|
- **Quick-Start Developer Experience**:
|
||||||
|
- `influxdb3` now supports running without arguments for instant database startup, automatically generating IDs and storage flags values based on your system's setup.
|
||||||
|
- **Processing Engine**:
|
||||||
|
- Plugins now support multiple files instead of single-file limitations.
|
||||||
|
- When creating a trigger, you can upload a plugin directly from your local machine using the `--upload` flag.
|
||||||
|
- Existing plugin files can now be updated at runtime without recreating triggers.
|
||||||
|
- New `system.plugin_files` table and `show plugins` CLI command now provide visibility into all loaded plugin files.
|
||||||
|
- Custom plugin repositories are now supported via `--plugin-repo` CLI flag.
|
||||||
|
- Python package installation can now be disabled with `--package-manager disabled` for locked-down environments.
|
||||||
|
- Plugin file path validation now prevents directory traversal attacks by blocking relative and absolute path patterns.
|
||||||
|
|
||||||
|
#### Bug fixes
|
||||||
|
|
||||||
|
- **Token management**: Token display now works correctly for hard-deleted databases
|
||||||
|
|
||||||
|
### Enterprise
|
||||||
|
|
||||||
|
All Core updates are included in Enterprise. Additional Enterprise-specific features and fixes:
|
||||||
|
|
||||||
|
#### Operational improvements
|
||||||
|
|
||||||
|
- **Storage engine**: improvements to the Docker-based license service development environment
|
||||||
|
- **Catalog consistency**: Node management fixes for catalog edge cases
|
||||||
|
- Other enhancements and performance improvements
|
||||||
|
|
||||||
## v3.5.0 {date="2025-09-30"}
|
## v3.5.0 {date="2025-09-30"}
|
||||||
|
|
||||||
### Core
|
### Core
|
||||||
|
|
@ -92,8 +124,8 @@ All Core updates are included in Enterprise. Additional Enterprise-specific feat
|
||||||
### Core
|
### Core
|
||||||
|
|
||||||
#### Bug Fixes
|
#### Bug Fixes
|
||||||
- Upgrading from 3.3.0 to 3.4.x no longer causes possible catalog migration issues ([#26756](https://github.com/influxdata/influxdb/pull/26756))
|
|
||||||
|
|
||||||
|
- Upgrading from 3.3.0 to 3.4.x no longer causes possible catalog migration issues ([#26756](https://github.com/influxdata/influxdb/pull/26756))
|
||||||
|
|
||||||
## v3.4.0 {date="2025-08-27"}
|
## v3.4.0 {date="2025-08-27"}
|
||||||
|
|
||||||
|
|
@ -107,21 +139,22 @@ All Core updates are included in Enterprise. Additional Enterprise-specific feat
|
||||||
([#26734](https://github.com/influxdata/influxdb/pull/26734))
|
([#26734](https://github.com/influxdata/influxdb/pull/26734))
|
||||||
- **Azure Endpoint**:
|
- **Azure Endpoint**:
|
||||||
- Use the `--azure-endpoint` option with `influxdb3 serve` to specify the Azure Blob Storage endpoint for object store connections. ([#26687](https://github.com/influxdata/influxdb/pull/26687))
|
- Use the `--azure-endpoint` option with `influxdb3 serve` to specify the Azure Blob Storage endpoint for object store connections. ([#26687](https://github.com/influxdata/influxdb/pull/26687))
|
||||||
- **No_Sync via CLI**:
|
- **No\_Sync via CLI**:
|
||||||
- Use the `--no-sync` option with `influxdb3 write` to skip waiting for WAL persistence on write and immediately return a response to the write request. ([#26703](https://github.com/influxdata/influxdb/pull/26703))
|
- Use the `--no-sync` option with `influxdb3 write` to skip waiting for WAL persistence on write and immediately return a response to the write request. ([#26703](https://github.com/influxdata/influxdb/pull/26703))
|
||||||
|
|
||||||
#### Bug Fixes
|
#### Bug Fixes
|
||||||
|
|
||||||
- Validate tag and field names when creating tables ([#26641](https://github.com/influxdata/influxdb/pull/26641))
|
- Validate tag and field names when creating tables ([#26641](https://github.com/influxdata/influxdb/pull/26641))
|
||||||
- Using GROUP BY twice on the same column no longer causes incorrect data ([#26732](https://github.com/influxdata/influxdb/pull/26732))
|
- Using GROUP BY twice on the same column no longer causes incorrect data ([#26732](https://github.com/influxdata/influxdb/pull/26732))
|
||||||
|
|
||||||
#### Security & Misc
|
#### Security & Misc
|
||||||
|
|
||||||
- Reduce verbosity of the TableIndexCache log. ([#26709](https://github.com/influxdata/influxdb/pull/26709))
|
- Reduce verbosity of the TableIndexCache log. ([#26709](https://github.com/influxdata/influxdb/pull/26709))
|
||||||
- WAL replay concurrency limit defaults to number of CPU cores, preventing possible OOMs. ([#26715](https://github.com/influxdata/influxdb/pull/26715))
|
- WAL replay concurrency limit defaults to number of CPU cores, preventing possible OOMs. ([#26715](https://github.com/influxdata/influxdb/pull/26715))
|
||||||
- Remove unsafe signal_handler code. ([#26685](https://github.com/influxdata/influxdb/pull/26685))
|
- Remove unsafe signal\_handler code. ([#26685](https://github.com/influxdata/influxdb/pull/26685))
|
||||||
- Upgrade Python version to 3.13.7-20250818. ([#26686](https://github.com/influxdata/influxdb/pull/26686), [#26700](https://github.com/influxdata/influxdb/pull/26700))
|
- Upgrade Python version to 3.13.7-20250818. ([#26686](https://github.com/influxdata/influxdb/pull/26686), [#26700](https://github.com/influxdata/influxdb/pull/26700))
|
||||||
- Tags with `/` in the name no longer break the primary key.
|
- Tags with `/` in the name no longer break the primary key.
|
||||||
|
|
||||||
|
|
||||||
### Enterprise
|
### Enterprise
|
||||||
|
|
||||||
All Core updates are included in Enterprise. Additional Enterprise-specific features and fixes:
|
All Core updates are included in Enterprise. Additional Enterprise-specific features and fixes:
|
||||||
|
|
@ -129,18 +162,16 @@ All Core updates are included in Enterprise. Additional Enterprise-specific feat
|
||||||
#### Features
|
#### Features
|
||||||
|
|
||||||
- **Token Provisioning**:
|
- **Token Provisioning**:
|
||||||
- Generate _resource_ and _admin_ tokens offline and use them when starting the database.
|
- Generate *resource* and *admin* tokens offline and use them when starting the database.
|
||||||
|
|
||||||
- Select a home or trial license without using an interactive terminal.
|
- Select a home or trial license without using an interactive terminal.
|
||||||
Use `--license-type` [home | trial | commercial] option to the `influxdb3 serve` command to automate the selection of the license type.
|
Use `--license-type` \[home | trial | commercial] option to the `influxdb3 serve` command to automate the selection of the license type.
|
||||||
|
|
||||||
#### Bug Fixes
|
#### Bug Fixes
|
||||||
|
|
||||||
- Don't initialize the Processing Engine when the specified `--mode` does not require it.
|
- Don't initialize the Processing Engine when the specified `--mode` does not require it.
|
||||||
- Don't panic when `INFLUXDB3_PLUGIN_DIR` is set in containers without the Processing Engine enabled.
|
- Don't panic when `INFLUXDB3_PLUGIN_DIR` is set in containers without the Processing Engine enabled.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## v3.3.0 {date="2025-07-29"}
|
## v3.3.0 {date="2025-07-29"}
|
||||||
|
|
||||||
### Core
|
### Core
|
||||||
|
|
@ -226,7 +257,7 @@ All Core updates are included in Enterprise. Additional Enterprise-specific feat
|
||||||
|
|
||||||
## v3.2.0 {date="2025-06-25"}
|
## v3.2.0 {date="2025-06-25"}
|
||||||
|
|
||||||
**Core**: revision 1ca3168bee
|
**Core**: revision 1ca3168bee\
|
||||||
**Enterprise**: revision 1ca3168bee
|
**Enterprise**: revision 1ca3168bee
|
||||||
|
|
||||||
### Core
|
### Core
|
||||||
|
|
@ -276,6 +307,7 @@ All Core updates are included in Enterprise. Additional Enterprise-specific feat
|
||||||
- **License handling**: Trim whitespace from license file contents after reading to prevent validation issues
|
- **License handling**: Trim whitespace from license file contents after reading to prevent validation issues
|
||||||
|
|
||||||
## v3.1.0 {date="2025-05-29"}
|
## v3.1.0 {date="2025-05-29"}
|
||||||
|
|
||||||
**Core**: revision 482dd8aac580c04f37e8713a8fffae89ae8bc264
|
**Core**: revision 482dd8aac580c04f37e8713a8fffae89ae8bc264
|
||||||
|
|
||||||
**Enterprise**: revision 2cb23cf32b67f9f0d0803e31b356813a1a151b00
|
**Enterprise**: revision 2cb23cf32b67f9f0d0803e31b356813a1a151b00
|
||||||
|
|
@ -283,6 +315,7 @@ All Core updates are included in Enterprise. Additional Enterprise-specific feat
|
||||||
### Core
|
### Core
|
||||||
|
|
||||||
#### Token and Security Updates
|
#### Token and Security Updates
|
||||||
|
|
||||||
- Named admin tokens can now be created, with configurable expirations
|
- Named admin tokens can now be created, with configurable expirations
|
||||||
- `health`, `ping`, and `metrics` endpoints can now be opted out of authorization
|
- `health`, `ping`, and `metrics` endpoints can now be opted out of authorization
|
||||||
- `Basic $TOKEN` is now supported for all APIs
|
- `Basic $TOKEN` is now supported for all APIs
|
||||||
|
|
@ -290,6 +323,7 @@ All Core updates are included in Enterprise. Additional Enterprise-specific feat
|
||||||
- Additional info available when starting InfuxDB using `--without-auth`
|
- Additional info available when starting InfuxDB using `--without-auth`
|
||||||
|
|
||||||
#### Additional Updates
|
#### Additional Updates
|
||||||
|
|
||||||
- New catalog metrics available for count operations
|
- New catalog metrics available for count operations
|
||||||
- New object store metrics available for transfer latencies and transfer sizes
|
- New object store metrics available for transfer latencies and transfer sizes
|
||||||
- New query duration metrics available for Last Value caches
|
- New query duration metrics available for Last Value caches
|
||||||
|
|
@ -297,6 +331,7 @@ All Core updates are included in Enterprise. Additional Enterprise-specific feat
|
||||||
- Other performance improvements
|
- Other performance improvements
|
||||||
|
|
||||||
#### Fixes
|
#### Fixes
|
||||||
|
|
||||||
- New tags are now backfilled with NULL instead of empty strings
|
- New tags are now backfilled with NULL instead of empty strings
|
||||||
- Bitcode deserialization error fixed
|
- Bitcode deserialization error fixed
|
||||||
- Series key metadata not persisting to Parquet is now fixed
|
- Series key metadata not persisting to Parquet is now fixed
|
||||||
|
|
@ -305,24 +340,28 @@ All Core updates are included in Enterprise. Additional Enterprise-specific feat
|
||||||
### Enterprise
|
### Enterprise
|
||||||
|
|
||||||
#### Token and Security Updates
|
#### Token and Security Updates
|
||||||
|
|
||||||
- Resource tokens now use resource names in `show tokens`
|
- Resource tokens now use resource names in `show tokens`
|
||||||
- Tokens can now be granted `CREATE` permission for creating databases
|
- Tokens can now be granted `CREATE` permission for creating databases
|
||||||
|
|
||||||
#### Additional Updates
|
#### Additional Updates
|
||||||
|
|
||||||
- Last value caches reload on restart
|
- Last value caches reload on restart
|
||||||
- Distinct value caches reload on restart
|
- Distinct value caches reload on restart
|
||||||
- Other performance improvements
|
- Other performance improvements
|
||||||
- Replaces remaining "INFLUXDB_IOX" Dockerfile environment variables with the following:
|
- Replaces remaining "INFLUXDB\_IOX" Dockerfile environment variables with the following:
|
||||||
- `ENV INFLUXDB3_OBJECT_STORE=file`
|
- `ENV INFLUXDB3_OBJECT_STORE=file`
|
||||||
- `ENV INFLUXDB3_DB_DIR=/var/lib/influxdb3`
|
- `ENV INFLUXDB3_DB_DIR=/var/lib/influxdb3`
|
||||||
|
|
||||||
#### Fixes
|
#### Fixes
|
||||||
|
|
||||||
- Improvements and fixes for license validations
|
- Improvements and fixes for license validations
|
||||||
- False positive fixed for catalog error on shutdown
|
- False positive fixed for catalog error on shutdown
|
||||||
- UX improvements for error and onboarding messages
|
- UX improvements for error and onboarding messages
|
||||||
- Other general fixes and corrections
|
- Other general fixes and corrections
|
||||||
|
|
||||||
## v3.0.3 {date="2025-05-16"}
|
## v3.0.3 {date="2025-05-16"}
|
||||||
|
|
||||||
**Core**: revision 384c457ef5f0d5ca4981b22855e411d8cac2688e
|
**Core**: revision 384c457ef5f0d5ca4981b22855e411d8cac2688e
|
||||||
|
|
||||||
**Enterprise**: revision 34f4d28295132b9efafebf654e9f6decd1a13caf
|
**Enterprise**: revision 34f4d28295132b9efafebf654e9f6decd1a13caf
|
||||||
|
|
@ -342,9 +381,8 @@ All Core updates are included in Enterprise. Additional Enterprise-specific feat
|
||||||
- Fix licensing validation issues.
|
- Fix licensing validation issues.
|
||||||
- Other fixes and performance improvements.
|
- Other fixes and performance improvements.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## v3.0.2 {date="2025-05-01"}
|
## v3.0.2 {date="2025-05-01"}
|
||||||
|
|
||||||
**Core**: revision d80d6cd60049c7b266794a48c97b1b6438ac5da9
|
**Core**: revision d80d6cd60049c7b266794a48c97b1b6438ac5da9
|
||||||
|
|
||||||
**Enterprise**: revision e9d7e03c2290d0c3e44d26e3eeb60aaf12099f29
|
**Enterprise**: revision e9d7e03c2290d0c3e44d26e3eeb60aaf12099f29
|
||||||
|
|
@ -354,7 +392,7 @@ All Core updates are included in Enterprise. Additional Enterprise-specific feat
|
||||||
#### Security updates
|
#### Security updates
|
||||||
|
|
||||||
- Generate testing TLS certificates on the fly.
|
- Generate testing TLS certificates on the fly.
|
||||||
- Set the TLS CA via the INFLUXDB3_TLS_CA environment variable.
|
- Set the TLS CA via the INFLUXDB3\_TLS\_CA environment variable.
|
||||||
- Enforce a minimum TLS version for enhanced security.
|
- Enforce a minimum TLS version for enhanced security.
|
||||||
- Allow CORS requests from browsers.
|
- Allow CORS requests from browsers.
|
||||||
|
|
||||||
|
|
@ -386,6 +424,7 @@ All Core updates are included in Enterprise. Additional Enterprise-specific feat
|
||||||
- Enforce the `--num-cores` thread allocation limit.
|
- Enforce the `--num-cores` thread allocation limit.
|
||||||
|
|
||||||
## v3.0.1 {date="2025-04-16"}
|
## v3.0.1 {date="2025-04-16"}
|
||||||
|
|
||||||
**Core**: revision d7c071e0c4959beebc7a1a433daf8916abd51214
|
**Core**: revision d7c071e0c4959beebc7a1a433daf8916abd51214
|
||||||
|
|
||||||
**Enterprise**: revision 96e4aad870b44709e149160d523b4319ea91b54c
|
**Enterprise**: revision 96e4aad870b44709e149160d523b4319ea91b54c
|
||||||
|
|
@ -393,15 +432,18 @@ All Core updates are included in Enterprise. Additional Enterprise-specific feat
|
||||||
### Core
|
### Core
|
||||||
|
|
||||||
#### Updates
|
#### Updates
|
||||||
|
|
||||||
- TLS CA can now be set with an environment variable: `INFLUXDB3_TLS_CA`
|
- TLS CA can now be set with an environment variable: `INFLUXDB3_TLS_CA`
|
||||||
- Other general performance improvements
|
- Other general performance improvements
|
||||||
|
|
||||||
#### Fixes
|
#### Fixes
|
||||||
- The `--tags` argument is now optional for creating a table, and additionally now requires at least one tag _if_ specified
|
|
||||||
|
- The `--tags` argument is now optional for creating a table, and additionally now requires at least one tag *if* specified
|
||||||
|
|
||||||
### Enterprise
|
### Enterprise
|
||||||
|
|
||||||
#### Updates
|
#### Updates
|
||||||
|
|
||||||
- Catalog limits for databases, tables, and columns are now configurable using `influxdb3 serve` options:
|
- Catalog limits for databases, tables, and columns are now configurable using `influxdb3 serve` options:
|
||||||
- `--num-database-limit`
|
- `--num-database-limit`
|
||||||
- `--num-table-limit`
|
- `--num-table-limit`
|
||||||
|
|
@ -410,8 +452,8 @@ All Core updates are included in Enterprise. Additional Enterprise-specific feat
|
||||||
- Other general performance improvements
|
- Other general performance improvements
|
||||||
|
|
||||||
#### Fixes
|
#### Fixes
|
||||||
- **Home** license thread count log errors
|
|
||||||
|
|
||||||
|
- **Home** license thread count log errors
|
||||||
|
|
||||||
## v3.0.0 {date="2025-04-14"}
|
## v3.0.0 {date="2025-04-14"}
|
||||||
|
|
||||||
|
|
@ -440,50 +482,59 @@ All Core updates are included in Enterprise. Additional Enterprise-specific feat
|
||||||
|
|
||||||
- You can now use Commercial, Trial, and At-Home licenses.
|
- You can now use Commercial, Trial, and At-Home licenses.
|
||||||
|
|
||||||
|
|
||||||
## v3.0.0-0.beta.3 {date="2025-04-01"}
|
## v3.0.0-0.beta.3 {date="2025-04-01"}
|
||||||
|
|
||||||
**Core**: revision f881c5844bec93a85242f26357a1ef3ebf419dd3
|
**Core**: revision f881c5844bec93a85242f26357a1ef3ebf419dd3
|
||||||
|
|
||||||
**Enterprise**: revision 6bef9e700a59c0973b0cefdc6baf11583933e262
|
**Enterprise**: revision 6bef9e700a59c0973b0cefdc6baf11583933e262
|
||||||
|
|
||||||
### Core
|
### Core
|
||||||
|
|
||||||
#### General Improvements
|
#### General Improvements
|
||||||
|
|
||||||
- InfluxDB 3 now supports graceful shutdowns when sending the interrupt signal to the service.
|
- InfluxDB 3 now supports graceful shutdowns when sending the interrupt signal to the service.
|
||||||
|
|
||||||
#### Bug fixes
|
#### Bug fixes
|
||||||
|
|
||||||
- Empty batches in JSON format results are now handled properly
|
- Empty batches in JSON format results are now handled properly
|
||||||
- The Processing Engine now properly extracts data from DictionaryArrays
|
- The Processing Engine now properly extracts data from DictionaryArrays
|
||||||
|
|
||||||
### Enterprise
|
### Enterprise
|
||||||
|
|
||||||
##### Multi-node improvements
|
##### Multi-node improvements
|
||||||
|
|
||||||
- Query nodes now automatically detect new ingest nodes
|
- Query nodes now automatically detect new ingest nodes
|
||||||
|
|
||||||
#### Bug fixes
|
#### Bug fixes
|
||||||
|
|
||||||
- Several fixes for compaction planning and processing
|
- Several fixes for compaction planning and processing
|
||||||
- The Processing Engine now properly extracts data from DictionaryArrays
|
- The Processing Engine now properly extracts data from DictionaryArrays
|
||||||
|
|
||||||
|
|
||||||
## v3.0.0-0.beta.2 {date="2025-03-24"}
|
## v3.0.0-0.beta.2 {date="2025-03-24"}
|
||||||
|
|
||||||
**Core**: revision 033e1176d8c322b763b4aefb24686121b1b24f7c
|
**Core**: revision 033e1176d8c322b763b4aefb24686121b1b24f7c
|
||||||
|
|
||||||
**Enterprise**: revision e530fcd498c593cffec2b56d4f5194afc717d898
|
**Enterprise**: revision e530fcd498c593cffec2b56d4f5194afc717d898
|
||||||
|
|
||||||
This update brings several backend performance improvements to both Core and Enterprise in preparation for additional new features over the next several weeks.
|
This update brings several backend performance improvements to both Core and Enterprise in preparation for additional new features over the next several weeks.
|
||||||
|
|
||||||
|
|
||||||
## v3.0.0-0.beta.1 {date="2025-03-17"}
|
## v3.0.0-0.beta.1 {date="2025-03-17"}
|
||||||
|
|
||||||
### Core
|
### Core
|
||||||
|
|
||||||
#### Features
|
#### Features
|
||||||
|
|
||||||
##### Query and storage enhancements
|
##### Query and storage enhancements
|
||||||
|
|
||||||
- New ability to stream response data for CSV and JSON queries, similar to how JSONL streaming works
|
- New ability to stream response data for CSV and JSON queries, similar to how JSONL streaming works
|
||||||
- Parquet files are now cached on the query path, improving performance
|
- Parquet files are now cached on the query path, improving performance
|
||||||
- Query buffer is incrementally cleared when snapshotting, lowering memory spikes
|
- Query buffer is incrementally cleared when snapshotting, lowering memory spikes
|
||||||
|
|
||||||
##### Processing engine improvements
|
##### Processing engine improvements
|
||||||
|
|
||||||
- New Trigger Types:
|
- New Trigger Types:
|
||||||
- _Scheduled_: Run Python plugins on custom, time-defined basis
|
- *Scheduled*: Run Python plugins on custom, time-defined basis
|
||||||
- _Request_: Call Python plugins via HTTP requests
|
- *Request*: Call Python plugins via HTTP requests
|
||||||
- New in-memory cache for storing data temporarily; cached data can be stored for a single trigger or across all triggers
|
- New in-memory cache for storing data temporarily; cached data can be stored for a single trigger or across all triggers
|
||||||
- Integration with virtual environments and install packages:
|
- Integration with virtual environments and install packages:
|
||||||
- Specify Python virtual environment via CLI or `VIRTUAL_ENV` variable
|
- Specify Python virtual environment via CLI or `VIRTUAL_ENV` variable
|
||||||
|
|
@ -493,11 +544,13 @@ This update brings several backend performance improvements to both Core and Ent
|
||||||
- Write to logs from within the Processing Engine
|
- Write to logs from within the Processing Engine
|
||||||
|
|
||||||
##### Database and CLI improvements
|
##### Database and CLI improvements
|
||||||
|
|
||||||
- You can now specify the precision on your timestamps for writes using the `--precision` flag. Includes nano/micro/milli/seconds (ns/us/ms/s)
|
- You can now specify the precision on your timestamps for writes using the `--precision` flag. Includes nano/micro/milli/seconds (ns/us/ms/s)
|
||||||
- Added a new `show` system subcommand to display system tables with different options via SQL (default limit: 100)
|
- Added a new `show` system subcommand to display system tables with different options via SQL (default limit: 100)
|
||||||
- Clearer table creation error messages
|
- Clearer table creation error messages
|
||||||
|
|
||||||
##### Bug fixes
|
##### Bug fixes
|
||||||
|
|
||||||
- If a database was created and the service was killed before any data was written, the database would not be retained
|
- If a database was created and the service was killed before any data was written, the database would not be retained
|
||||||
- A last cache with specific "value" columns could not be queried
|
- A last cache with specific "value" columns could not be queried
|
||||||
- Running CTRL-C no longer stopped an InfluxDB process, due to a Python trigger
|
- Running CTRL-C no longer stopped an InfluxDB process, due to a Python trigger
|
||||||
|
|
@ -509,13 +562,14 @@ This update brings several backend performance improvements to both Core and Ent
|
||||||
For Core and Enterprise, there are parameter changes for simplicity:
|
For Core and Enterprise, there are parameter changes for simplicity:
|
||||||
|
|
||||||
| Old Parameter | New Parameter |
|
| Old Parameter | New Parameter |
|
||||||
|---------------|---------------|
|
| ---------------------------- | ------------- |
|
||||||
| `--writer-id`<br>`--host-id` | `--node-id` |
|
| `--writer-id`<br>`--host-id` | `--node-id` |
|
||||||
|
|
||||||
### Enterprise features
|
### Enterprise features
|
||||||
|
|
||||||
#### Cluster management
|
#### Cluster management
|
||||||
- Nodes are now associated with _clusters_, simplifying compaction, read replication, and processing
|
|
||||||
|
- Nodes are now associated with *clusters*, simplifying compaction, read replication, and processing
|
||||||
- Node specs are now available for simpler management of cache creations
|
- Node specs are now available for simpler management of cache creations
|
||||||
|
|
||||||
#### Mode types
|
#### Mode types
|
||||||
|
|
@ -527,7 +581,7 @@ For Core and Enterprise, there are parameter changes for simplicity:
|
||||||
For Enterprise, additional parameters for the `serve` command have been consolidated for simplicity:
|
For Enterprise, additional parameters for the `serve` command have been consolidated for simplicity:
|
||||||
|
|
||||||
| Old Parameter | New Parameter |
|
| Old Parameter | New Parameter |
|
||||||
|---------------|---------------|
|
| --------------------------------------------------- | ------------------------------------ |
|
||||||
| `--read-from-node-ids`<br>`--compact-from-node-ids` | `--cluster-id` |
|
| `--read-from-node-ids`<br>`--compact-from-node-ids` | `--cluster-id` |
|
||||||
| `--run-compactions`<br>`--mode=compactor` | `--mode=compact`<br>`--mode=compact` |
|
| `--run-compactions`<br>`--mode=compactor` | `--mode=compact`<br>`--mode=compact` |
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -40,29 +40,23 @@
|
||||||
# - [The plan for InfluxDB 3.0 Open Source](https://influxdata.com/blog/the-plan-for-influxdb-3-0-open-source)
|
# - [The plan for InfluxDB 3.0 Open Source](https://influxdata.com/blog/the-plan-for-influxdb-3-0-open-source)
|
||||||
# - [InfluxDB 3.0 benchmarks](https://influxdata.com/blog/influxdb-3-0-is-2.5x-45x-faster-compared-to-influxdb-open-source/)
|
# - [InfluxDB 3.0 benchmarks](https://influxdata.com/blog/influxdb-3-0-is-2.5x-45x-faster-compared-to-influxdb-open-source/)
|
||||||
|
|
||||||
- id: influxdb3.5-explorer-1.3
|
- id: influxdb3.6-explorer-1.4
|
||||||
level: note
|
level: note
|
||||||
scope:
|
scope:
|
||||||
- /
|
- /
|
||||||
title: New in InfluxDB 3.5
|
title: New in InfluxDB 3.6
|
||||||
slug: |
|
slug: |
|
||||||
Key enhancements in InfluxDB 3.5 and the InfluxDB 3 Explorer 1.3.
|
Key enhancements in InfluxDB 3.6 and the InfluxDB 3 Explorer 1.4.
|
||||||
|
|
||||||
<a class="btn" href="https://www.influxdata.com/blog/influxdb-3-5/">See the Blog Post</a>
|
<a class="btn" href="https://www.influxdata.com/blog/influxdb-3-6/">See the Blog Post</a>
|
||||||
message: |
|
message: |
|
||||||
InfluxDB 3.5 is now available for both Core and Enterprise, introducing
|
InfluxDB 3.6 is now available for both Core and Enterprise. This release introduces
|
||||||
custom plugin repository support,
|
the 1.4 update to InfluxDB 3 Explorer, featuring the beta launch of Ask AI, along
|
||||||
enhanced operational visibility with queryable CLI parameters and manual node
|
with new capabilities for simple startup and expanded functionality in the Processing Engine.
|
||||||
management, stronger security controls, and general performance improvements.
|
|
||||||
|
|
||||||
InfluxDB 3 Explorer 1.3 brings powerful new capabilities including Dashboards
|
|
||||||
(beta) for saving and organizing your favorite queries, and cache querying for
|
|
||||||
instant access to Last Value and Distinct Value caches—making Explorer a more
|
|
||||||
comprehensive workspace for time series monitoring and analysis.
|
|
||||||
|
|
||||||
For more information, check out:
|
For more information, check out:
|
||||||
|
|
||||||
- [See the announcement blog post](https://www.influxdata.com/blog/influxdb-3-5/)
|
- [See the announcement blog post](https://www.influxdata.com/blog/influxdb-3-6/)
|
||||||
- [InfluxDB 3 Core release notes](/influxdb3/core/release-notes/)
|
- [InfluxDB 3 Core release notes](/influxdb3/core/release-notes/)
|
||||||
- [InfluxDB 3 Enterprise release notes](/influxdb3/enterprise/release-notes/)
|
- [InfluxDB 3 Enterprise release notes](/influxdb3/enterprise/release-notes/)
|
||||||
- [Get Started with InfluxDB 3 Explorer](/influxdb3/explorer/get-started/)
|
- [Get Started with InfluxDB 3 Explorer](/influxdb3/explorer/get-started/)
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ influxdb3_core:
|
||||||
versions: [core]
|
versions: [core]
|
||||||
list_order: 2
|
list_order: 2
|
||||||
latest: core
|
latest: core
|
||||||
latest_patch: 3.5.0
|
latest_patch: 3.6.0
|
||||||
placeholder_host: localhost:8181
|
placeholder_host: localhost:8181
|
||||||
detector_config:
|
detector_config:
|
||||||
query_languages:
|
query_languages:
|
||||||
|
|
@ -35,7 +35,7 @@ influxdb3_enterprise:
|
||||||
versions: [enterprise]
|
versions: [enterprise]
|
||||||
list_order: 2
|
list_order: 2
|
||||||
latest: enterprise
|
latest: enterprise
|
||||||
latest_patch: 3.5.0
|
latest_patch: 3.6.0
|
||||||
placeholder_host: localhost:8181
|
placeholder_host: localhost:8181
|
||||||
detector_config:
|
detector_config:
|
||||||
query_languages:
|
query_languages:
|
||||||
|
|
@ -63,7 +63,7 @@ influxdb3_explorer:
|
||||||
menu_category: tools
|
menu_category: tools
|
||||||
list_order: 1
|
list_order: 1
|
||||||
latest: explorer
|
latest: explorer
|
||||||
latest_patch: 1.3.0
|
latest_patch: 1.4.0
|
||||||
placeholder_host: localhost:8888
|
placeholder_host: localhost:8888
|
||||||
ai_sample_questions:
|
ai_sample_questions:
|
||||||
- How do I query data using InfluxDB 3 Explorer?
|
- How do I query data using InfluxDB 3 Explorer?
|
||||||
|
|
|
||||||
20
lefthook.yml
20
lefthook.yml
|
|
@ -22,26 +22,6 @@ pre-commit:
|
||||||
docker compose run --rm --name remark-lint remark-lint $files --output --quiet || \
|
docker compose run --rm --name remark-lint remark-lint $files --output --quiet || \
|
||||||
{ echo "⚠️ Remark found formatting issues in instruction files. Automatic formatting applied."; }
|
{ echo "⚠️ Remark found formatting issues in instruction files. Automatic formatting applied."; }
|
||||||
stage_fixed: true
|
stage_fixed: true
|
||||||
# Report markdown formatting issues in content/api-docs without auto-fixing
|
|
||||||
lint-markdown-content:
|
|
||||||
tags: lint
|
|
||||||
glob: "{api-docs/**/*.md,content/**/*.md}"
|
|
||||||
run: |
|
|
||||||
# Prepend /workdir/ to staged files since repository is mounted at /workdir in container
|
|
||||||
files=$(echo '{staged_files}' | sed 's|^|/workdir/|g; s| | /workdir/|g')
|
|
||||||
# Run remark to check for formatting differences (without --output, shows diff in stdout)
|
|
||||||
# If output differs from input, fail the commit
|
|
||||||
for file in $files; do
|
|
||||||
original=$(cat "${file#/workdir/}")
|
|
||||||
formatted=$(docker compose run --rm --name remark-lint-content remark-lint "$file" 2>/dev/null | tail -n +2)
|
|
||||||
if [ "$original" != "$formatted" ]; then
|
|
||||||
echo "❌ Markdown formatting issues in ${file#/workdir/}"
|
|
||||||
echo " Run: docker compose run --rm remark-lint $file --output"
|
|
||||||
echo " Or manually fix the formatting to match remark style"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
echo "✅ All content files are properly formatted"
|
|
||||||
# Lint instruction and repository documentation files with generic Vale config
|
# Lint instruction and repository documentation files with generic Vale config
|
||||||
lint-instructions:
|
lint-instructions:
|
||||||
tags: lint
|
tags: lint
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue