Merge branch 'master' into fix-api-docs-links
commit
d471bbe2a1
|
|
@ -3,7 +3,8 @@
|
|||
"baseUrl": ".",
|
||||
"paths": {
|
||||
"*": [
|
||||
"*"
|
||||
"*",
|
||||
"../node_modules/*"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -164,13 +164,13 @@ gpg: key 7C3D57159FC2F927: public key "InfluxData Package Signing Key <support@i
|
|||
<!--test:setup
|
||||
```sh
|
||||
curl --silent --location --output-dir ~/Downloads -O \
|
||||
"https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_darwin_amd64.tar.gz" \
|
||||
"https://download.influxdata.com/influxdb/releases/v{{< latest-patch >}}/influxdb2-{{< latest-patch >}}_darwin_amd64.tar.gz" \
|
||||
```
|
||||
-->
|
||||
|
||||
```sh
|
||||
curl --silent --location \
|
||||
https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_darwin_amd64.tar.gz.asc \
|
||||
https://download.influxdata.com/influxdb/releases/v{{< latest-patch >}}/influxdb2-{{< latest-patch >}}_darwin_amd64.tar.gz.asc \
|
||||
| gpg --verify - ~/Downloads/influxdb2-{{< latest-patch >}}_darwin_amd64.tar.gz \
|
||||
2>&1 | grep 'InfluxData Package Signing Key <support@influxdata.com>'
|
||||
```
|
||||
|
|
@ -239,12 +239,12 @@ brew install influxdb
|
|||
|
||||
1. In your browser or your terminal, download the InfluxDB package.
|
||||
|
||||
<a class="btn download" href="https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_darwin_amd64.tar.gz" download>InfluxDB v2 (macOS)</a>
|
||||
<a class="btn download" href="https://download.influxdata.com/influxdb/releases/v{{< latest-patch >}}/influxdb2-{{< latest-patch >}}_darwin_amd64.tar.gz" download>InfluxDB v2 (macOS)</a>
|
||||
|
||||
```sh
|
||||
# Download using cURL
|
||||
curl --location -O \
|
||||
"https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_darwin_amd64.tar.gz"
|
||||
"https://download.influxdata.com/influxdb/releases/v{{< latest-patch >}}/influxdb2-{{< latest-patch >}}_darwin_amd64.tar.gz"
|
||||
```
|
||||
|
||||
2. {{< req text="Recommended:" color="magenta" >}}: Verify the integrity of the download--for example, enter the
|
||||
|
|
@ -443,18 +443,18 @@ _If necessary, adjust the example file paths and utilities for your system._
|
|||
1. In your browser or your terminal, download the InfluxDB binary for your
|
||||
system architecture (AMD64 or ARM).
|
||||
|
||||
<a class="btn download" href="https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_linux_amd64.tar.gz" download >InfluxDB v2 (amd64)</a>
|
||||
<a class="btn download" href="https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_linux_arm64.tar.gz" download >InfluxDB v2 (arm)</a>
|
||||
<a class="btn download" href="https://download.influxdata.com/influxdb/releases/v{{< latest-patch >}}/influxdb2-{{< latest-patch >}}_linux_amd64.tar.gz" download >InfluxDB v2 (amd64)</a>
|
||||
<a class="btn download" href="https://download.influxdata.com/influxdb/releases/v{{< latest-patch >}}/influxdb2-{{< latest-patch >}}_linux_arm64.tar.gz" download >InfluxDB v2 (arm)</a>
|
||||
|
||||
<!--test:actual
|
||||
```sh
|
||||
curl -s --location -O \
|
||||
"https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_linux_amd64.tar.gz"
|
||||
"https://download.influxdata.com/influxdb/releases/v{{< latest-patch >}}/influxdb2-{{< latest-patch >}}_linux_amd64.tar.gz"
|
||||
```
|
||||
|
||||
```sh
|
||||
curl -s --location -O \
|
||||
"https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_linux_arm64.tar.gz"
|
||||
"https://download.influxdata.com/influxdb/releases/v{{< latest-patch >}}/influxdb2-{{< latest-patch >}}_linux_arm64.tar.gz"
|
||||
```
|
||||
-->
|
||||
|
||||
|
|
@ -463,7 +463,7 @@ _If necessary, adjust the example file paths and utilities for your system._
|
|||
```sh
|
||||
# Use curl to download the amd64 binary.
|
||||
curl --location -O \
|
||||
https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_linux_amd64.tar.gz
|
||||
https://download.influxdata.com/influxdb/releases/v{{< latest-patch >}}/influxdb2-{{< latest-patch >}}_linux_amd64.tar.gz
|
||||
```
|
||||
|
||||
<!--pytest.mark.skip-->
|
||||
|
|
@ -471,7 +471,7 @@ _If necessary, adjust the example file paths and utilities for your system._
|
|||
```sh
|
||||
# Use curl to download the arm64 binary.
|
||||
curl --location -O \
|
||||
https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_linux_arm64.tar.gz
|
||||
https://download.influxdata.com/influxdb/releases/v{{< latest-patch >}}/influxdb2-{{< latest-patch >}}_linux_arm64.tar.gz
|
||||
```
|
||||
|
||||
2. [Choose the InfluxData key-pair for your OS version](#choose-the-influxdata-key-pair-for-your-system).
|
||||
|
|
@ -505,7 +505,7 @@ _If necessary, adjust the example file paths and utilities for your system._
|
|||
| grep 'InfluxData Package Signing Key <support@influxdata.com>' \
|
||||
&&
|
||||
# Download and verify the binary's signature file
|
||||
curl --silent --location "https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_linux_amd64.tar.gz.asc" \
|
||||
curl --silent --location "https://download.influxdata.com/influxdb/releases/v{{< latest-patch >}}/influxdb2-{{< latest-patch >}}_linux_amd64.tar.gz.asc" \
|
||||
| gpg --verify - influxdb2-{{< latest-patch >}}_linux_amd64.tar.gz \
|
||||
2>&1 | grep 'InfluxData Package Signing Key <support@influxdata.com>'
|
||||
```
|
||||
|
|
@ -519,7 +519,7 @@ _If necessary, adjust the example file paths and utilities for your system._
|
|||
| grep 'InfluxData Package Signing Key <support@influxdata.com>' \
|
||||
&&
|
||||
# Download and verify the binary's signature file
|
||||
curl --silent --location "https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_linux_arm64.tar.gz.asc" \
|
||||
curl --silent --location "https://download.influxdata.com/influxdb/releases/v{{< latest-patch >}}/influxdb2-{{< latest-patch >}}_linux_arm64.tar.gz.asc" \
|
||||
| gpg --verify - influxdb2-{{< latest-patch >}}_linux_arm64.tar.gz \
|
||||
2>&1 | grep 'InfluxData Package Signing Key <support@influxdata.com>'
|
||||
```
|
||||
|
|
@ -618,7 +618,7 @@ chmod 0750 ~/.influxdbv2
|
|||
>
|
||||
> _You'll install the `influx CLI` in a [later step](#download-install-and-configure-the-influx-cli)._
|
||||
|
||||
<a class="btn download" href="https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}-windows.zip" download >InfluxDB v2 (Windows)</a>
|
||||
<a class="btn download" href="https://download.influxdata.com/influxdb/releases/v{{< latest-patch >}}/influxdb2-{{< latest-patch >}}-windows.zip" download >InfluxDB v2 (Windows)</a>
|
||||
|
||||
Expand the downloaded archive into `C:\Program Files\InfluxData\` and rename the
|
||||
files if desired.
|
||||
|
|
|
|||
|
|
@ -2744,6 +2744,61 @@ storage-validate-keys = true
|
|||
|
||||
---
|
||||
|
||||
### storage-wal-flush-on-shutdown
|
||||
Flush the WAL on shutdown.
|
||||
|
||||
**Default:** `false`
|
||||
|
||||
| influxd flag | Environment variable | Configuration key |
|
||||
| :------------------------------ | :------------------------------------ | :---------------------------- |
|
||||
| `--storage-wal-flush-on-shutdown` | `INFLUXD_STORAGE_WAL_FLUSH_ON_SHUTDOWN` | `storage-wal-flush-on-shutdown` |
|
||||
|
||||
If set, `influxd` flushes or snapshots all WALs prior to completing shutdown--`influxd` performs cache snapshots on shutdown, which
|
||||
results in the WAL files being written to TSM files and then deleted.
|
||||
|
||||
This is useful in upgrade and downgrade scenarios to prevent WAL format
|
||||
compatibility issues.
|
||||
|
||||
###### influxd flag
|
||||
<!--pytest.mark.skip-->
|
||||
|
||||
```sh
|
||||
influxd --storage-wal-flush-on-shutdown
|
||||
```
|
||||
|
||||
###### Environment variable
|
||||
```sh
|
||||
export INFLUXD_STORAGE_WAL_FLUSH_ON_SHUTDOWN=true
|
||||
```
|
||||
|
||||
###### Configuration file
|
||||
{{< code-tabs-wrapper >}}
|
||||
{{% code-tabs %}}
|
||||
[YAML](#)
|
||||
[TOML](#)
|
||||
[JSON](#)
|
||||
{{% /code-tabs %}}
|
||||
{{% code-tab-content %}}
|
||||
```yml
|
||||
storage-wal-flush-on-shutdown: true
|
||||
```
|
||||
{{% /code-tab-content %}}
|
||||
{{% code-tab-content %}}
|
||||
```toml
|
||||
storage-wal-flush-on-shutdown = true
|
||||
```
|
||||
{{% /code-tab-content %}}
|
||||
{{% code-tab-content %}}
|
||||
```json
|
||||
{
|
||||
"storage-wal-flush-on-shutdown": true
|
||||
}
|
||||
```
|
||||
{{% /code-tab-content %}}
|
||||
{{< /code-tabs-wrapper >}}
|
||||
|
||||
---
|
||||
|
||||
### storage-wal-fsync-delay
|
||||
Duration a write will wait before fsyncing.
|
||||
A duration greater than `0` batches multiple fsync calls.
|
||||
|
|
|
|||
|
|
@ -8,6 +8,27 @@ menu:
|
|||
weight: 101
|
||||
---
|
||||
|
||||
## v2.7.12 {date="2025-05-20"}
|
||||
|
||||
### Features
|
||||
|
||||
- Add a `--pid-file` option to write a PID file to the specified location on startup. InfluxDB removes the PID file on shutdown.
|
||||
- Add a `--storage-wal-flush-on-shutdown` option to flush the WAL on database shutdown to ensure all data is written to disk.
|
||||
- Improve response error messages for dropped points, adding details including database, retention policy, and which bound was violated for partial writes.
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Fix a locking issue in `TagValueIterator` that could cause reads and writes in buckets to block. [PR #26414](https://github.com/influxdata/influxdb/pull/26414)
|
||||
|
||||
### Maintenance
|
||||
|
||||
- Improved startup logging with an "are we there yet" counter for the number and percentage of shards opened.
|
||||
- Update Go to 1.23.9.
|
||||
- Update Flux to v0.196.1.
|
||||
- Refresh dependencies to address security vulnerabilities and improve stability.
|
||||
|
||||
---
|
||||
|
||||
## v2.7.11 {date="2024-12-02"}
|
||||
|
||||
### Features
|
||||
|
|
@ -606,7 +627,7 @@ to migrate InfluxDB key-value metadata schemas to earlier 2.x versions when nece
|
|||
#### Flux
|
||||
|
||||
- Update to [Flux v0.139.0](/flux/v0/release-notes/#v01390).
|
||||
- Enable writing to remote hosts using the Flux [`to()`](/flux/v0/stdlib/influxdata/influxdb/to/) and [`experimental.to()`](/flux/v0/v0.x/stdlib/experimental/to/) functions.
|
||||
- Enable writing to remote hosts using the Flux [`to()`](/flux/v0/stdlib/influxdata/influxdb/to/) and [`experimental.to()`](/flux/v0/stdlib/experimental/to/) functions.
|
||||
- Flux now supports locations that dynamically modify time offsets based on your specified timezone. You can also specify fixed time offsets relative to UTC.
|
||||
- Perform [bitwise operations](/flux/v0/stdlib/experimental/bitwise/)
|
||||
on integers and unsigned integers.
|
||||
|
|
@ -673,24 +694,24 @@ New features include:
|
|||
|
||||
- Add a new route `/api/v2/resources` that returns a list of known resources to the platform, including the following resource types. Makes it easier to update All Access tokens with current resources:
|
||||
|
||||
- `AuthorizationsResourceType`
|
||||
- `BucketsResourceType`
|
||||
- `ChecksResourceType`
|
||||
- `DashboardsResourceType`
|
||||
- `DBRPResourceType`
|
||||
- `DocumentsResourceType`
|
||||
- `LabelsResourceType`
|
||||
- `NotificationEndpointResourceType`
|
||||
- `NotificationRuleResourceType`
|
||||
- `OrgsResourceType`
|
||||
- `ScraperResourceType`
|
||||
- `SecretsResourceType`
|
||||
- `SourcesResourceType`
|
||||
- `TasksResourceType`
|
||||
- `TelegrafsResourceType`
|
||||
- `UsersResourceType`
|
||||
- `VariablesResourceType`
|
||||
- `ViewsResourceType`
|
||||
- `AuthorizationsResourceType`
|
||||
- `BucketsResourceType`
|
||||
- `ChecksResourceType`
|
||||
- `DashboardsResourceType`
|
||||
- `DBRPResourceType`
|
||||
- `DocumentsResourceType`
|
||||
- `LabelsResourceType`
|
||||
- `NotificationEndpointResourceType`
|
||||
- `NotificationRuleResourceType`
|
||||
- `OrgsResourceType`
|
||||
- `ScraperResourceType`
|
||||
- `SecretsResourceType`
|
||||
- `SourcesResourceType`
|
||||
- `TasksResourceType`
|
||||
- `TelegrafsResourceType`
|
||||
- `UsersResourceType`
|
||||
- `VariablesResourceType`
|
||||
- `ViewsResourceType`
|
||||
|
||||
#### Flux updates
|
||||
|
||||
|
|
@ -992,10 +1013,10 @@ The startup process automatically generates replacement `tsi1` indexes for shard
|
|||
- Fix timeout setup for `influxd` graceful shutdown.
|
||||
- Require user to set password during initial user onboarding.
|
||||
- Error message improvements:
|
||||
- Remove duplication from task error messages.
|
||||
- Improve error message shown when influx CLI can't find an `org` by name.
|
||||
- Improve error message when opening BoltDB with unsupported file system options.
|
||||
- Improve messages in DBRP API validation errors.
|
||||
- Remove duplication from task error messages.
|
||||
- Improve error message shown when influx CLI can't find an `org` by name.
|
||||
- Improve error message when opening BoltDB with unsupported file system options.
|
||||
- Improve messages in DBRP API validation errors.
|
||||
- `influxd upgrade` improvements:
|
||||
- Add confirmation step with file sizes before copying data files.
|
||||
- Prevent panic in `influxd upgrade` when v1 users exist but v1 config is missing.
|
||||
|
|
@ -1072,8 +1093,8 @@ Previously, the database retention policy (DBRP) mapping API did not match the s
|
|||
|
||||
### Features
|
||||
- Improvements to upgrade from 1.x to 2.x:
|
||||
- Warning appears if auth is not enabled in 1.x (`auth-enabled = false`), which is not an option in 2.x. For details, see [Upgrade from InfluxDB 1.x to InfluxDB 2.0](/influxdb/v2/upgrade/v1-to-v2/).
|
||||
- `upgrade` command now checks to see if continuous queries are running and automatically exports them to a local file.
|
||||
- Warning appears if auth is not enabled in 1.x (`auth-enabled = false`), which is not an option in 2.x. For details, see [Upgrade from InfluxDB 1.x to InfluxDB 2.0](/influxdb/v2/upgrade/v1-to-v2/).
|
||||
- `upgrade` command now checks to see if continuous queries are running and automatically exports them to a local file.
|
||||
- Upgrade to [Flux v0.95.0](/flux/v0/release-notes/#v0-95-0).
|
||||
- Upgrade `flux-lsp-browser` to v.0.5.23.
|
||||
- Manage database retention policy (DBRP) mappings via CLI. See [`influx v1 dbrp`](/influxdb/v2/reference/cli/influx/v1/dbrp/).
|
||||
|
|
@ -1117,8 +1138,8 @@ When there are multiple [DBRP mappings](/influxdb/v2/reference/api/influxdb-1x/d
|
|||
Highlights include:
|
||||
|
||||
- Support for **upgrading to InfluxDB 2.0**:
|
||||
- To upgrade **from InfluxDB 1.x**, see [Upgrade from InfluxDB 1.x to InfluxDB 2.0](/influxdb/v2/upgrade/v1-to-v2).
|
||||
- To upgrade **from InfluxDB 2.0 beta 16 or earlier**, see [Upgrade from InfluxDB 2.0 beta to InfluxDB 2.0](/influxdb/v2/upgrade/v2-beta-to-v2).
|
||||
- To upgrade **from InfluxDB 1.x**, see [Upgrade from InfluxDB 1.x to InfluxDB 2.0](/influxdb/v2/upgrade/v1-to-v2).
|
||||
- To upgrade **from InfluxDB 2.0 beta 16 or earlier**, see [Upgrade from InfluxDB 2.0 beta to InfluxDB 2.0](/influxdb/v2/install/upgrade/v2-beta-to-v2/).
|
||||
- **Flux**, our powerful new functional data scripting language designed for querying, analyzing, and acting on data. This release includes [Flux v0.94.0](/flux/v0/release-notes/#v0940). If you're new to Flux, [check out how to get started with Flux](/influxdb/v2/query-data/get-started/). Next, delve deeper into the [Flux standard library](/flux/v0/stdlib//) reference docs and see how to [query with Flux](/influxdb/v2/query-data/flux/).
|
||||
- Support for [InfluxDB 1.x API compatibility](/influxdb/v2/reference/api/influxdb-1x/).
|
||||
- **Templates** and **stacks**. Discover how to [use community templates](/influxdb/v2/tools/influxdb-templates/use/) and how to [manage templates with stacks](/influxdb/v2/tools/influxdb-templates/stacks/).
|
||||
|
|
@ -1241,14 +1262,14 @@ If you're new to InfluxDB 2.0, we recommend checking out [how to get started](/i
|
|||
{{% warn %}}
|
||||
#### Manual upgrade required
|
||||
|
||||
To simplify the migration for existing users of InfluxDB 1.x, this release includes significant breaking changes that require a manual upgrade from all alpha and beta versions. For more information, see [Upgrade to InfluxDB OSS 2.0rc](/influxdb/v2/upgrade/v2-beta-to-v2/),
|
||||
To simplify the migration for existing users of InfluxDB 1.x, this release includes significant breaking changes that require a manual upgrade from all alpha and beta versions. For more information, see [Upgrade to InfluxDB OSS 2.0rc](/influxdb/v2/install/upgrade/v2-beta-to-v2/),
|
||||
{{% /warn %}}
|
||||
|
||||
### Breaking changes
|
||||
|
||||
#### Manual upgrade
|
||||
|
||||
- To continue using data from InfluxDB 2.0 beta 16 or earlier, you must move all existing data out of the `~/.influxdbv2` (or equivalent) path, including `influxd.bolt`. All existing dashboards, tasks, integrations, alerts, users, and tokens must be recreated. For information on how to migrate your data, see [Upgrade to InfluxDB OSS 2.0rc](/influxdb/v2/upgrade/v2-beta-to-v2/).
|
||||
- To continue using data from InfluxDB 2.0 beta 16 or earlier, you must move all existing data out of the `~/.influxdbv2` (or equivalent) path, including `influxd.bolt`. All existing dashboards, tasks, integrations, alerts, users, and tokens must be recreated. For information on how to migrate your data, see [Upgrade to InfluxDB OSS 2.0rc](/influxdb/v2/install/upgrade/v2-beta-to-v2/).
|
||||
|
||||
#### Port update to 8086
|
||||
|
||||
|
|
@ -2045,7 +2066,7 @@ _**This will remove all data from your InfluxDB v2.0 instance including time ser
|
|||
|
||||
###### Linux and macOS
|
||||
```sh
|
||||
rm ~/.influxdbv2/influxd.bolt
|
||||
rm -f ~/.influxdbv2/influxd.bolt
|
||||
```
|
||||
|
||||
Once completed, `v2.0.0-alpha.6` can be started.
|
||||
|
|
@ -2079,7 +2100,7 @@ run the following command.
|
|||
|
||||
###### Linux and macOS
|
||||
```sh
|
||||
rm -r ~/.influxdbv2/engine
|
||||
rm -rf ~/.influxdbv2/engine
|
||||
```
|
||||
|
||||
Once completed, InfluxDB v2.0.0-alpha.5 can be started.
|
||||
|
|
|
|||
|
|
@ -1,56 +0,0 @@
|
|||
---
|
||||
title: Revoke a database token
|
||||
description: >
|
||||
Use the [`influxctl token revoke` command](/influxdb3/clustered/reference/cli/influxctl/token/revoke/)
|
||||
to revoke a token from your InfluxDB cluster and disable all
|
||||
permissions associated with the token.
|
||||
Provide the ID of the token you want to revoke.
|
||||
menu:
|
||||
influxdb3_clustered:
|
||||
parent: Database tokens
|
||||
weight: 203
|
||||
list_code_example: |
|
||||
```sh
|
||||
influxctl token revoke <TOKEN_ID>
|
||||
```
|
||||
aliases:
|
||||
- /influxdb3/clustered/admin/tokens/delete/
|
||||
- /influxdb3/clustered/admin/tokens/database/delete/
|
||||
---
|
||||
|
||||
Use the [`influxctl token revoke` command](/influxdb3/clustered/reference/cli/influxctl/token/revoke/)
|
||||
to revoke a database token from your {{< product-name omit=" Clustered" >}} cluster and disable
|
||||
all permissions associated with the token.
|
||||
|
||||
1. If you haven't already, [download and install the `influxctl` CLI](/influxdb3/clustered/reference/cli/influxctl/#download-and-install-influxctl).
|
||||
2. Run the [`influxctl token list` command](/influxdb3/clustered/reference/cli/influxctl/token/list)
|
||||
to output tokens with their IDs.
|
||||
Copy the **token ID** of the token you want to delete.
|
||||
|
||||
```sh
|
||||
influxctl token list
|
||||
```
|
||||
|
||||
3. Run the `influxctl token revoke` command and provide the following:
|
||||
|
||||
- Token ID to revoke
|
||||
|
||||
4. Confirm that you want to revoke the token.
|
||||
|
||||
{{% code-placeholders "TOKEN_ID" %}}
|
||||
```sh
|
||||
influxctl token revoke TOKEN_ID
|
||||
```
|
||||
{{% /code-placeholders %}}
|
||||
|
||||
> [!Warning]
|
||||
> #### Revoking a token is immediate and cannot be undone
|
||||
>
|
||||
> Revoking a database token is a destructive action that takes place immediately
|
||||
> and cannot be undone.
|
||||
>
|
||||
> #### Rotate revoked tokens
|
||||
>
|
||||
> After revoking a database token, any clients using the revoked token need to
|
||||
> be updated with a new database token to continue to interact with your
|
||||
> {{% product-name omit=" Clustered" %}} cluster.
|
||||
|
|
@ -19,7 +19,7 @@ aliases:
|
|||
---
|
||||
|
||||
Use the [`influxctl token revoke` command](/influxdb3/clustered/reference/cli/influxctl/token/revoke/)
|
||||
to revoke a database token from your InfluxDB cluster and disable
|
||||
to revoke a database token from your {{< product-name omit=" Clustered" >}} cluster and disable
|
||||
all permissions associated with the token.
|
||||
|
||||
1. If you haven't already, [download and install the `influxctl` CLI](/influxdb3/clustered/reference/cli/influxctl/#download-and-install-influxctl).
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ list_code_example: |
|
|||
```
|
||||
#### HTTP API
|
||||
```bash
|
||||
curl -X POST "http://{{< influxdb/host >}}/api/v3/enterprise/configure/token/admin" \
|
||||
curl -X POST "http://{{< influxdb/host >}}/api/v3/configure/token/admin" \
|
||||
--header 'Accept: application/json' \
|
||||
--header 'Content-Type: application/json'
|
||||
```
|
||||
|
|
|
|||
|
|
@ -35,7 +35,6 @@ across sessions, assign the token string to the `INFLUXDB3_AUTH_TOKEN` environme
|
|||
{{% tab-content %}}
|
||||
Use the following endpoint to create an admin token:
|
||||
|
||||
{{% show-in "core" %}}
|
||||
{{% api-endpoint method="POST" endpoint="/api/v3/configure/token/admin" api-ref="/influxdb3/version/api/v3/#operation/PostCreateAdminToken" %}}
|
||||
|
||||
```bash
|
||||
|
|
@ -43,15 +42,5 @@ curl -X POST "http://{{< influxdb/host >}}/api/v3/configure/token/admin" \
|
|||
--header 'Accept: application/json' \
|
||||
--header 'Content-Type: application/json'
|
||||
```
|
||||
{{% /show-in %}}
|
||||
{{% show-in "enterprise" %}}
|
||||
{{% api-endpoint method="POST" endpoint="/api/v3/enterprise/configure/token/admin" api-ref="/influxdb3/version/api/v3/#operation/PostCreateAdminToken" %}}
|
||||
|
||||
```bash
|
||||
curl -X POST "http://{{< influxdb/host >}}/api/v3/{{< product-key >}}/configure/token/admin" \
|
||||
--header 'Accept: application/json' \
|
||||
--header 'Content-Type: application/json'
|
||||
```
|
||||
{{% /show-in %}}
|
||||
{{% /tab-content %}}
|
||||
{{< /tabs-wrapper >}}
|
||||
|
|
|
|||
|
|
@ -56,36 +56,18 @@ The output contains the new token string and InfluxDB deactivates the previous t
|
|||
<!----------------------------BEGIN HTTP API----------------------------------->
|
||||
Use the following HTTP API endpoint:
|
||||
|
||||
{{% show-in "core" %}}
|
||||
{{% api-endpoint method="POST" endpoint="/api/v3/configure/token/admin/regenerate" api-ref="/influxdb3/version/api/v3/configure/token/admin/regenerate" %}}
|
||||
{{% /show-in %}}
|
||||
|
||||
{{% show-in "enterprise" %}}
|
||||
{{% api-endpoint method="POST" endpoint="/api/v3/enterprise/configure/token/admin/regenerate" api-ref="/influxdb3/version/api/v3/enterprise/configure/token/admin" %}}
|
||||
{{% /show-in %}}
|
||||
|
||||
In your request, send an `Authorization` header with your current admin token string
|
||||
--for example:
|
||||
|
||||
{{% show-in "core" %}}
|
||||
{{% code-placeholders "ADMIN_TOKEN" %}}
|
||||
```bash
|
||||
curl -X POST "http://{{< influxdb/host >}}/api/v3/configure/token/admin" \
|
||||
curl -X POST "http://{{< influxdb/host >}}/api/v3/configure/token/admin/regenerate" \
|
||||
--header "Authorization: Bearer ADMIN_TOKEN" \
|
||||
--header "Accept: application/json"
|
||||
```
|
||||
{{% /code-placeholders %}}
|
||||
{{% /show-in %}}
|
||||
|
||||
{{% show-in "enterprise" %}}
|
||||
{{% code-placeholders "ADMIN_TOKEN" %}}
|
||||
```bash
|
||||
curl -X POST "http://{{< influxdb/host >}}/api/v3/enterprise/configure/token/admin" \
|
||||
--header "Authorization: Bearer ADMIN_TOKEN" \
|
||||
--header "Accept: application/json"
|
||||
```
|
||||
{{% /code-placeholders %}}
|
||||
{{% /show-in %}}
|
||||
|
||||
In your command, replace {{% code-placeholder-key %}}`ADMIN_TOKEN`{{% /code-placeholder-key %}} with the current token string.
|
||||
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ processing engine.
|
|||
influxdb3 create trigger [OPTIONS] \
|
||||
--database <DATABASE_NAME> \
|
||||
--token <AUTH_TOKEN> \
|
||||
--plugin-filename <PLUGIN_FILENAME> \
|
||||
--trigger-spec <TRIGGER_SPECIFICATION> \
|
||||
<TRIGGER_NAME>
|
||||
```
|
||||
|
|
@ -20,16 +21,21 @@ influxdb3 create trigger [OPTIONS] \
|
|||
|
||||
## 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 to operate on |
|
||||
| | `--token` | _({{< req >}})_ Authentication token |
|
||||
| | `--trigger-spec` | Trigger specification--for example `table:<TABLE_NAME>` or `all_tables` |
|
||||
| | `--disabled` | Create the trigger in disabled state |
|
||||
| | `--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 | | 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 to operate on |
|
||||
| | `--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 |
|
||||
| | `--trigger-spec` | Trigger specification--for example `table:<TABLE_NAME>` or `all_tables` |
|
||||
| | `--disabled` | Create the trigger in disabled state |
|
||||
| | `--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.
|
||||
For example, to use the [System Metrics](https://github.com/influxdata/influxdb3_plugins/blob/main/examples/schedule/system_metrics/system_metrics.py) plugin, the plugin filename is `gh:examples/schedule/system_metrics/system_metrics.py`.
|
||||
|
||||
|
||||
### Option environment variables
|
||||
|
||||
|
|
@ -47,8 +53,8 @@ The following examples show how to use the `influxdb3 create trigger` command to
|
|||
|
||||
|
||||
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: Database name
|
||||
- {{% 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 %}}`TRIGGER_NAME`{{% /code-placeholder-key %}}:
|
||||
Name of the trigger to create
|
||||
- {{% code-placeholder-key %}}`TABLE_NAME`{{% /code-placeholder-key %}}:
|
||||
|
|
@ -66,6 +72,7 @@ Create a trigger that processes data from a specific table.
|
|||
influxdb3 create trigger \
|
||||
--database DATABASE_NAME \
|
||||
--token AUTH_TOKEN \
|
||||
--plugin-filename PLUGIN_FILENAME \
|
||||
--trigger-spec table:TABLE_NAME \
|
||||
TRIGGER_NAME
|
||||
```
|
||||
|
|
@ -80,6 +87,7 @@ Create a trigger that applies to all tables in the specified database.
|
|||
influxdb3 create trigger \
|
||||
--database DATABASE_NAME \
|
||||
--token AUTH_TOKEN \
|
||||
--plugin-filename <PLUGIN_FILENAME> \
|
||||
--trigger-spec all_tables \
|
||||
TRIGGER_NAME
|
||||
```
|
||||
|
|
@ -97,6 +105,7 @@ influxdb3 create trigger \
|
|||
--disabled \
|
||||
--database DATABASE_NAME \
|
||||
--token AUTH_TOKEN \
|
||||
--plugin-filename <PLUGIN_FILENAME> \
|
||||
--trigger-spec table:TABLE_NAME \
|
||||
TRIGGER_NAME
|
||||
```
|
||||
|
|
|
|||
|
|
@ -161,6 +161,9 @@
|
|||
- flag: "--storage-validate-keys"
|
||||
added: 2.0
|
||||
|
||||
- flag: "--storage-wal-flush-on-shutdown"
|
||||
added: 2.7
|
||||
|
||||
- flag: "--storage-wal-fsync-delay"
|
||||
added: 2.0
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ influxdb3_core:
|
|||
versions: [core]
|
||||
list_order: 2
|
||||
latest: core
|
||||
latest_patch: 3.0.1
|
||||
latest_patch: 3.0.3
|
||||
placeholder_host: localhost:8181
|
||||
ai_sample_questions:
|
||||
- How do I install and run InfluxDB 3 Core?
|
||||
|
|
@ -21,7 +21,7 @@ influxdb3_enterprise:
|
|||
versions: [enterprise]
|
||||
list_order: 2
|
||||
latest: enterprise
|
||||
latest_patch: 3.0.1
|
||||
latest_patch: 3.0.3
|
||||
placeholder_host: localhost:8181
|
||||
ai_sample_questions:
|
||||
- How do I install and run InfluxDB 3 Enterprise?
|
||||
|
|
@ -85,7 +85,7 @@ influxdb:
|
|||
- v1
|
||||
latest: v2.7
|
||||
latest_patches:
|
||||
v2: 2.7.11
|
||||
v2: 2.7.12
|
||||
v1: 1.11.8
|
||||
latest_cli:
|
||||
v2: 2.7.5
|
||||
|
|
|
|||
|
|
@ -8,49 +8,49 @@
|
|||
{{- if $index -}},{{- end }}
|
||||
{
|
||||
"name": {{ .Name | jsonify }},
|
||||
"url": {{ absURL (cond (isset .Params "url") .Params.url .URL) | jsonify }},
|
||||
"url": {{ absURL (default .URL .Params.url) | jsonify }},
|
||||
"children": [
|
||||
{{- range $index, $entry := .Children -}}
|
||||
{{- if $index -}},{{- end }}
|
||||
{
|
||||
"name": {{ .Name | jsonify }},
|
||||
"url": {{ absURL (cond (isset .Params "url") .Params.url .URL) | jsonify }},
|
||||
"url": {{ absURL (default .URL .Params.url) | jsonify }},
|
||||
"children": [
|
||||
{{- range $index, $entry := .Children -}}
|
||||
{{- if $index -}},{{- end }}
|
||||
{
|
||||
"name": {{ .Name | jsonify }},
|
||||
"url": {{ absURL (cond (isset .Params "url") .Params.url .URL) | jsonify }},
|
||||
"url": {{ absURL (default .URL .Params.url) | jsonify }},
|
||||
"children": [
|
||||
{{- range $index, $entry := .Children -}}
|
||||
{{- if $index -}},{{- end }}
|
||||
{
|
||||
"name": {{ .Name | jsonify }},
|
||||
"url": {{ absURL (cond (isset .Params "url") .Params.url .URL) | jsonify }},
|
||||
"url": {{ absURL (default .URL .Params.url) | jsonify }},
|
||||
"children": [
|
||||
{{- range $index, $entry := .Children -}}
|
||||
{{- if $index -}},{{- end }}
|
||||
{
|
||||
"name": {{ .Name | jsonify }},
|
||||
"url": {{ absURL (cond (isset .Params "url") .Params.url .URL) | jsonify }},
|
||||
"url": {{ absURL (default .URL .Params.url) | jsonify }},
|
||||
"children": [
|
||||
{{- range $index, $entry := .Children -}}
|
||||
{{- if $index -}},{{- end }}
|
||||
{
|
||||
"name": {{ .Name | jsonify }},
|
||||
"url": {{ absURL (cond (isset .Params "url") .Params.url .URL) | jsonify }},
|
||||
"url": {{ absURL (default .URL .Params.url) | jsonify }},
|
||||
"children": [
|
||||
{{- range $index, $entry := .Children -}}
|
||||
{{- if $index -}},{{- end }}
|
||||
{
|
||||
"name": {{ .Name | jsonify }},
|
||||
"url": {{ absURL (cond (isset .Params "url") .Params.url .URL) | jsonify }},
|
||||
"url": {{ absURL (default .URL .Params.url) | jsonify }},
|
||||
"children": [
|
||||
{{- range $index, $entry := .Children -}}
|
||||
{{- if $index -}},{{- end }}
|
||||
{
|
||||
"name": {{ .Name | jsonify }},
|
||||
"url": {{ absURL (cond (isset .Params "url") .Params.url .URL) | jsonify }},
|
||||
"url": {{ absURL (default .URL .Params.url) | jsonify }},
|
||||
"children": [
|
||||
{{ range .Children }}
|
||||
{{ end }}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
</div>
|
||||
{{ else if eq .Kind "section" }}
|
||||
<div class="important block">
|
||||
{{ $packageTitle := cond (isset .Params "list_title") $.Params.list_title .Title }}
|
||||
{{ $packageTitle := default .Title .Params.list_title }}
|
||||
{{ $packageName := replaceRE `^(.*)( package)` "<code>$1</code>$2" $packageTitle }}
|
||||
<p>
|
||||
The {{ $packageName | safeHTML }} is a user-contributed package
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
</div>
|
||||
{{ else if eq .Kind "section" }}
|
||||
<div class="important block">
|
||||
{{ $packageTitle := cond (isset .Params "list_title") $.Params.list_title .Title }}
|
||||
{{ $packageTitle := default .Title .Params.list_title }}
|
||||
{{ $packageName := replaceRE `^(.*)( package)` "<code>$1</code>$2" $packageTitle }}
|
||||
<p>
|
||||
The {{ $packageName | safeHTML }} is experimental and <a href="{{ $expRiskURL }}">subject to change at any time</a>.
|
||||
|
|
|
|||
|
|
@ -2,9 +2,9 @@
|
|||
{{ $product := index $productPathData 0 }}
|
||||
{{ $version := index $productPathData 1 }}
|
||||
{{ $tagSet := print $product "/" $version "/tags" }}
|
||||
{{ if isset .Params $tagSet }}
|
||||
{{ with .Param $tagSet }}
|
||||
<div class="tags">
|
||||
{{ range .Param $tagSet }}
|
||||
{{ range . }}
|
||||
{{ $name := . }}
|
||||
{{ with $.Site.GetPage (printf "/%s/%s" $tagSet ($name | urlize)) }}
|
||||
<a class="tag btn" href="{{ .RelPermalink }}">{{ $name }}</a>
|
||||
|
|
|
|||
|
|
@ -35,10 +35,10 @@
|
|||
{{ else if eq $currentVersion nil}}
|
||||
{{ $scratch.Set "siteTitle" (print (index .Site.Data.products $product).name " Documentation") }}
|
||||
{{ else }}
|
||||
{{ if (isset (index .Site.Data.products $product) "altname" ) }}
|
||||
{{ $scratch.Set "siteTitle" (print (index .Site.Data.products $product).altname " Documentation") }}
|
||||
{{ with (index .Site.Data.products $product).altname }}
|
||||
{{ $scratch.Set "siteTitle" (print . " Documentation") }}
|
||||
{{ else }}
|
||||
{{ $scratch.Set "siteTitle" (print (index .Site.Data.products $product).name " Documentation") }}
|
||||
{{ $scratch.Set "siteTitle" (print (index $.Site.Data.products $product).name " Documentation") }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
|
|
|
|||
|
|
@ -4,37 +4,37 @@
|
|||
{{ range $menu }}
|
||||
<li class="nav-category {{ if eq $page.RelPermalink .URL }}active{{end}}">
|
||||
{{ if .HasChildren }}<a href="#" class="children-toggle {{ if or ($page.IsMenuCurrent .Menu .) ($page.HasMenuCurrent .Menu .) }}open{{end}}"></a>{{ end }}
|
||||
<a href='{{ cond (isset .Params "url") .Params.url .URL }}'>{{ .Name }}</a>
|
||||
<a href='{{ default .URL .Params.url }}'>{{ .Name }}</a>
|
||||
{{ if .HasChildren }}
|
||||
<ul class="children {{ if or ($page.IsMenuCurrent .Menu .) ($page.HasMenuCurrent .Menu .) }}open{{end}}">
|
||||
{{ range .Children }}
|
||||
<li class="nav-item {{ if eq $page.RelPermalink .URL }}active{{end}}">
|
||||
{{ if .HasChildren }}<a href="#" class="children-toggle {{ if or ($page.IsMenuCurrent .Menu .) ($page.HasMenuCurrent .Menu .) }}open{{end}}"></a>{{ end }}
|
||||
<a href='{{ cond (isset .Params "url") .Params.url .URL }}'>{{ .Name }}</a>
|
||||
<a href='{{ default .URL .Params.url }}'>{{ .Name }}</a>
|
||||
{{ if .HasChildren }}
|
||||
<ul class="children {{ if or ($page.IsMenuCurrent .Menu .) ($page.HasMenuCurrent .Menu .) }}open{{end}}">
|
||||
{{ range .Children }}
|
||||
<li class="nav-item {{ if eq $page.RelPermalink .URL }}active{{end}}">
|
||||
{{ if .HasChildren }}<a href="#" class="children-toggle {{ if or ($page.IsMenuCurrent .Menu .) ($page.HasMenuCurrent .Menu .) }}open{{end}}"></a>{{ end }}
|
||||
<a href='{{ cond (isset .Params "url") .Params.url .URL }}'>{{ .Name }}</a>
|
||||
<a href='{{ default .URL .Params.url }}'>{{ .Name }}</a>
|
||||
{{ if .HasChildren }}
|
||||
<ul class="children {{ if or ($page.IsMenuCurrent .Menu .) ($page.HasMenuCurrent .Menu .) }}open{{end}}">
|
||||
{{ range .Children }}
|
||||
<li class="nav-item {{ if eq $page.RelPermalink .URL }}active{{end}}">
|
||||
{{ if .HasChildren }}<a href="#" class="children-toggle {{ if or ($page.IsMenuCurrent .Menu .) ($page.HasMenuCurrent .Menu .) }}open{{end}}"></a>{{ end }}
|
||||
<a href='{{ cond (isset .Params "url") .Params.url .URL }}'>{{ .Name }}</a>
|
||||
<a href='{{ default .URL .Params.url }}'>{{ .Name }}</a>
|
||||
{{ if .HasChildren }}
|
||||
<ul class="children {{ if or ($page.IsMenuCurrent .Menu .) ($page.HasMenuCurrent .Menu .) }}open{{end}}">
|
||||
{{ range .Children }}
|
||||
<li class="nav-item {{ if eq $page.RelPermalink .URL }}active{{end}}">
|
||||
{{ if .HasChildren }}<a href="#" class="children-toggle {{ if or ($page.IsMenuCurrent .Menu .) ($page.HasMenuCurrent .Menu .) }}open{{end}}"></a>{{ end }}
|
||||
<a href='{{ cond (isset .Params "url") .Params.url .URL }}'>{{ .Name }}</a>
|
||||
<a href='{{ default .URL .Params.url }}'>{{ .Name }}</a>
|
||||
{{ if .HasChildren }}
|
||||
<ul class="children {{ if or ($page.IsMenuCurrent .Menu .) ($page.HasMenuCurrent .Menu .) }}open{{end}}">
|
||||
{{ range .Children }}
|
||||
<li class="nav-item {{ if eq $page.RelPermalink .URL }}active{{end}}">
|
||||
{{ if .HasChildren }}<a href="#" class="children-toggle {{ if or ($page.IsMenuCurrent .Menu .) ($page.HasMenuCurrent .Menu .) }}open{{end}}"></a>{{ end }}
|
||||
<a href='{{ cond (isset .Params "url") .Params.url .URL }}'>{{ .Name }}</a>
|
||||
<a href='{{ default .URL .Params.url }}'>{{ .Name }}</a>
|
||||
|
||||
<!-- Begin nested block -->
|
||||
{{ if .HasChildren }}
|
||||
|
|
@ -42,7 +42,7 @@
|
|||
{{ range .Children }}
|
||||
<li class="nav-item {{ if eq $page.RelPermalink .URL }}active{{end}}">
|
||||
{{ if .HasChildren }}<a href="#" class="children-toggle {{ if or ($page.IsMenuCurrent .Menu .) ($page.HasMenuCurrent .Menu .) }}open{{end}}"></a>{{ end }}
|
||||
<a href='{{ cond (isset .Params "url") .Params.url .URL }}'>{{ .Name }}</a>
|
||||
<a href='{{ default .URL .Params.url }}'>{{ .Name }}</a>
|
||||
<!-- To add more nested layers, copy the nested block and paste it here -->
|
||||
</li>
|
||||
{{ end }}
|
||||
|
|
|
|||
|
|
@ -18,9 +18,9 @@
|
|||
{{ if eq $type "articles" }}
|
||||
<div class="children-links">
|
||||
{{ range $pages.ByWeight }}
|
||||
{{ $title := cond ( isset .Params "list_title" ) (.Params.list_title | .RenderString) (.Title | .RenderString) }}
|
||||
{{ $url := cond ( isset .Params "external_url" ) .Params.external_url .RelPermalink }}
|
||||
{{ $target := cond ( isset .Params "external_url" ) "_blank" "" }}
|
||||
{{ $title := default .Title .Params.list_title | .RenderString }}
|
||||
{{ $url := default .RelPermalink .Params.external_url }}
|
||||
{{ $target := cond (ne .Params.external_url nil) "_blank" "" }}
|
||||
{{ if eq $hlevel "h2"}} <h2 id="{{ anchorize $title }}"><a href="{{ $url }}" target="{{ $target }}">{{ $title }}</a></h2>
|
||||
{{ else if eq $hlevel "h3"}} <h3 id="{{ anchorize $title }}"><a href="{{ $url }}" target="{{ $target }}">{{ $title }}</a></h3>
|
||||
{{ else if eq $hlevel "h4"}} <h4 id="{{ anchorize $title }}"><a href="{{ $url }}" target="{{ $target }}">{{ $title }}</a></h4>
|
||||
|
|
@ -69,7 +69,7 @@
|
|||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ if and (eq $readMore true) ( or (isset .Params "list_query_example") (isset .Params "list_code_example") ) }}
|
||||
{{ if and (eq $readMore true) (or .Params.list_query_example .Params.list_code_example) }}
|
||||
<p class="read-more"><a href="{{ $url }}" target="{{ $target }}">Read more <span class="icon-chevron-right"></span></a></p>
|
||||
{{ end }}
|
||||
{{ if eq $hr true }}
|
||||
|
|
@ -94,10 +94,10 @@
|
|||
<div class="children-links">
|
||||
<ul>
|
||||
{{ range $pages.ByWeight }}
|
||||
{{ $title := cond ( isset .Params "list_title" ) (.Params.list_title | .RenderString) (.Title | .RenderString) }}
|
||||
{{ $url := cond ( isset .Params "external_url" ) .Params.external_url .RelPermalink }}
|
||||
{{ $target := cond ( isset .Params "external_url" ) "_blank" "" }}
|
||||
{{ $note := cond ( isset .Params "list_note" ) (print "<span class='list-note'>" .Params.list_note "</span>") "" }}
|
||||
{{ $title := default .Title .Params.list_title | .RenderString }}
|
||||
{{ $url := default .RelPermalink .Params.external_url }}
|
||||
{{ $target := cond (ne .Params.external_url nil) "_blank" "" }}
|
||||
{{ $note := cond (ne .Params.list_note nil) (print "<span class='list-note'>" .Params.list_note "</span>") "" }}
|
||||
<li><a href="{{ $url }}" target="{{ $target }}">{{ $title }}</a> {{ $note | markdownify }}</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
|
|
@ -108,10 +108,10 @@
|
|||
<div class="children-links">
|
||||
<ol>
|
||||
{{ range $pages.ByWeight }}
|
||||
{{ $title := cond ( isset .Params "list_title" ) (.Params.list_title | .RenderString) (.Title | .RenderString)}}
|
||||
{{ $url := cond ( isset .Params "external_url" ) .Params.external_url .RelPermalink }}
|
||||
{{ $target := cond ( isset .Params "external_url" ) "_blank" "" }}
|
||||
{{ $note := cond ( isset .Params "list_note" ) (print "<span class='list-note'>" .Params.list_note "</span>") "" }}
|
||||
{{ $title := default .Title .Params.list_title | .RenderString}}
|
||||
{{ $url := default .RelPermalink .Params.external_url }}
|
||||
{{ $target := cond (ne .Params.external_url nil) "_blank" "" }}
|
||||
{{ $note := cond (ne .Params.list_note nil) (print "<span class='list-note'>" .Params.list_note "</span>") "" }}
|
||||
<li><a href="{{ $url }}" target="{{ $target }}">{{ $title }}</a> {{ $note | markdownify }}</li>
|
||||
{{ end }}
|
||||
</ol>
|
||||
|
|
@ -121,7 +121,7 @@
|
|||
|
||||
<ul class="children-list">
|
||||
{{ range $pages.ByWeight }}
|
||||
{{ $title := cond ( isset .Params "list_title" ) (.Params.list_title | .RenderString) (.Title | .RenderString) }}
|
||||
{{ $title := default .Title .Params.list_title | .RenderString }}
|
||||
<li><a href="#{{ anchorize $title }}">{{ $title }}</a></li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
|
|
|
|||
|
|
@ -3,7 +3,11 @@
|
|||
{{- $productPathData := findRE "[^/]+.*?" .Page.RelPermalink -}}
|
||||
{{- $product := index $productPathData 0 -}}
|
||||
{{- $productVersion := index $productPathData 1 | default "v0.0" -}}
|
||||
{{- $defaultClockface := cond (isset (index .Site.Data.clockface $product) $productVersion) (index (index .Site.Data.clockface $product) $productVersion) (index (index .Site.Data.clockface $product) "default") }}
|
||||
|
||||
{{- $defaultClockface := "" -}}
|
||||
{{- with (index .Site.Data.clockface $product) -}}
|
||||
{{- $defaultClockface = index . (cond (isset . $productVersion) $productVersion "default") -}}
|
||||
{{- end -}}
|
||||
{{- $version := .Get 1 | default $defaultClockface -}}
|
||||
|
||||
{{- if eq $version "v2" -}}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,10 @@
|
|||
{{- $productPathData := findRE "[^/]+.*?" .Page.RelPermalink -}}
|
||||
{{- $product := index $productPathData 0 -}}
|
||||
{{- $productVersion := index $productPathData 1 | default "v0" -}}
|
||||
{{- $defaultClockface := cond (isset (index .Site.Data.clockface $product) $productVersion) (index (index .Site.Data.clockface $product) $productVersion) (index (index .Site.Data.clockface $product) "default") }}
|
||||
{{- $defaultClockface := "" -}}
|
||||
{{- with (index .Site.Data.clockface $product) -}}
|
||||
{{- $defaultClockface = default (index . "default") (index . $productVersion) -}}
|
||||
{{- end -}}
|
||||
{{- $version := .Get 1 | default $defaultClockface -}}
|
||||
|
||||
{{ if eq $version "v2" }}
|
||||
|
|
|
|||
Loading…
Reference in New Issue