From 42ae0fbf6b3db05ee07fed2dc701e0b1ca09336a Mon Sep 17 00:00:00 2001 From: Jason Stirnaman Date: Thu, 15 Jan 2026 14:55:06 -0600 Subject: [PATCH] dar issue 563 - Cloud 1 documentation, support, and migration (#6729) * docs(v2): Specify versions for v2 Cloud and OSS * docs(v2): Use specific version for OSS v2, add ToC * docs(v1): Use specific versions and names. Replace Enterprise v1 with 3 Ent. * docs(v1): More detailed description for OSS v1 release notes. Repetition fixes. * docs(v1): Update Download instructions. Add version specificity * docs(v1): OSS v1 specificity, fix config commands, cleanup lists * docs(cloud1): Shared note shortcode to guide Cloud 1 users to Enterprise documentation, Cloud 1 support, and v3 migration * Provide Cloud 1.x in version detector and product selector menu, simplify InfluxDB 1.x section - Simplify InfluxDB 1.x section on platform page to product links and migration guidance - Remove detailed TICK stack and Enterprise feature descriptions - Update all Cloud 1 links to point to /platform/#influxdb-cloud-1 - Keep Cloud 1 infrastructure intact: - products.yml configuration - Product selector entry (links to platform page section) - Version detector for *.influxcloud.net service URLs - Ask AI integration Files changed: - content/platform/_index.md (simplified, updated links) - content/shared/identify-version.md (updated links) - layouts/shortcodes/influxdb-cloud1-note.html (updated links) - assets/js/utils/product-mappings.ts - assets/js/influxdb-version-detector.ts Closes /influxdata/dar/issues/563 * Delete content/influxcloud/v1/_index.md * Update content/enterprise_influxdb/v1/_index.md * Update content/influxdb/v1/introduction/install.md * Fix PR Preview skipping when layout changes include wildcard URL patterns (#6725) * Initial plan * Fix: Strip wildcards from URL paths in PR Preview detection - Update normalizeUrlPath() to remove asterisk wildcards - Collapse multiple consecutive slashes after wildcard removal - Add backtick as valid URL delimiter for code-wrapped URLs - Add comprehensive test cases for wildcard handling - Update backtick test to reflect safer truncation behavior Fixes issue where PR descriptions with wildcard patterns like `/influxdb3/enterprise/*` were not properly extracted, causing PR Preview to skip even when URLs were provided. Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com> * docs: Clarify backtick handling in URL validation Add comment explaining that backticks act as delimiters in regex extraction, preventing them from appearing in extracted paths even though they're in the rejection pattern. Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com> * docs: Improve comments explaining normalization and regex logic - Clarify why wildcards are removed before slash collapsing - Document the defense-in-depth backtick handling - Add examples of the normalization process Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com> * Update content/platform/_index.md Co-authored-by: Scott Anderson * refactor: organize cloud1-note shortcode into influxdb directory (#6734) Move the Cloud 1 note shortcode from influxdb-cloud1-note.html to influxdb/cloud1-note.html to follow the existing organizational pattern in layouts/shortcodes/influxdb/. This change also applies the Cloud 1 content updates from PR #6729 using the new organized shortcode path: {{< influxdb/cloud1-note >}} closes influxdata/docs-v2#6729 Co-authored-by: Claude --------- Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> Co-authored-by: Scott Anderson Co-authored-by: Claude --- .github/scripts/parse-pr-urls.js | 23 +- .github/scripts/test-parse-pr-urls.js | 36 ++- content/enterprise_influxdb/v1/_index.md | 3 +- content/influxdb/cloud/sign-up.md | 4 +- content/influxdb/v1/_index.md | 38 +-- .../v1/about_the_project/release-notes.md | 6 +- content/influxdb/v1/introduction/_index.md | 6 +- content/influxdb/v1/introduction/download.md | 13 +- .../v1/introduction/get-started/_index.md | 6 +- content/influxdb/v1/introduction/install.md | 72 ++++-- .../v1/introduction/install/docker.md | 4 +- .../v2/install/upgrade/v2-beta-to-v2.md | 4 +- content/platform/_index.md | 220 +++++++++--------- content/shared/identify-version.md | 16 +- data/products.yml | 126 +++++++--- layouts/partials/topnav/product-selector.html | 11 +- layouts/shortcodes/api-endpoint.html | 2 +- layouts/shortcodes/children.html | 2 +- layouts/shortcodes/influxdb-cloud1-note.html | 41 ++++ layouts/shortcodes/influxdb/cloud1-note.html | 42 ++++ 20 files changed, 450 insertions(+), 225 deletions(-) create mode 100644 layouts/shortcodes/influxdb-cloud1-note.html create mode 100644 layouts/shortcodes/influxdb/cloud1-note.html diff --git a/.github/scripts/parse-pr-urls.js b/.github/scripts/parse-pr-urls.js index 27c2e1435..7e844fe14 100644 --- a/.github/scripts/parse-pr-urls.js +++ b/.github/scripts/parse-pr-urls.js @@ -51,7 +51,10 @@ function isValidUrlPath(path) { // Reject path traversal attempts if (path.includes('..')) return false; - // Reject paths with suspicious characters (includes ' to prevent JS injection) + // Reject paths with suspicious characters + // Note: Backticks are in this list, but the extraction regex stops AT backticks, + // so they act as delimiters rather than being included in paths + // (includes ' to prevent JS injection) if (/[<>"|{}`\\^[\]']/.test(path)) return false; // Reject URL-encoded characters (potential encoding attacks) @@ -73,9 +76,13 @@ function isValidUrlPath(path) { function buildRelativePattern() { const namespaceAlternation = PRODUCT_NAMESPACES.join('|'); // Match relative paths starting with known product prefixes - // Also captures paths in markdown links: [text](/influxdb3/core/) + // Captures paths in various contexts: markdown links, parentheses, backticks, etc. + // Delimiters: start of string, whitespace, ], ), (, or ` + // Note: Backtick appears in both the delimiter list and negated character class + // for defense-in-depth - delimiter stops extraction, character class prevents + // any edge cases where backticks might slip through return new RegExp( - `(?:^|\\s|\\]|\\)|\\()(\\/(?:${namespaceAlternation})[^\\s)\\]>"']*)`, + `(?:^|\\s|\\]|\\)|\\(|\`)(\\/(?:${namespaceAlternation})[^\\s)\\]>"'\`]*)`, 'gm' ); } @@ -130,14 +137,20 @@ export function extractDocsUrls(text) { /** * Normalize URL path to consistent format * @param {string} urlPath - URL path to normalize - * @returns {string} - Normalized path with trailing slash + * @returns {string} - Normalized path with trailing slash, wildcards stripped */ function normalizeUrlPath(urlPath) { // Remove anchor fragments let normalized = urlPath.split('#')[0]; // Remove query strings normalized = normalized.split('?')[0]; - // Ensure trailing slash + // Remove wildcard characters (* is often used to indicate "all pages") + // Do this BEFORE collapsing slashes to handle patterns like /path/*/ + normalized = normalized.replace(/\*/g, ''); + // Collapse multiple consecutive slashes into single slash + // This handles cases like /path/*/ → /path// → /path/ + normalized = normalized.replace(/\/+/g, '/'); + // Ensure trailing slash (important for Hugo's URL structure) if (!normalized.endsWith('/')) { normalized += '/'; } diff --git a/.github/scripts/test-parse-pr-urls.js b/.github/scripts/test-parse-pr-urls.js index 414ba442a..6470122ec 100644 --- a/.github/scripts/test-parse-pr-urls.js +++ b/.github/scripts/test-parse-pr-urls.js @@ -140,10 +140,12 @@ test('Special characters: pipes and brackets', () => { assertEquals(result, [], 'Should reject paths with curly braces'); }); -test('Special characters: backticks', () => { +test('Special characters: backticks are delimiters', () => { + // Backticks act as delimiters, stopping URL extraction + // This prevents command substitution injection const text = '/influxdb3/`whoami`/'; const result = extractDocsUrls(text); - assertEquals(result, [], 'Should reject paths with backticks'); + assertEquals(result, ['/influxdb3/'], 'Should truncate at backtick delimiter'); }); test('Special characters: single quotes truncate at extraction', () => { @@ -252,6 +254,36 @@ test('Normalization: removes query string', () => { assertEquals(result, ['/influxdb3/core/'], 'Should remove query string'); }); +test('Normalization: strips wildcard from path', () => { + const text = '/influxdb3/enterprise/*'; + const result = extractDocsUrls(text); + assertEquals(result, ['/influxdb3/enterprise/'], 'Should strip wildcard character'); +}); + +test('Normalization: strips wildcard in middle of path', () => { + const text = '/influxdb3/*/admin/'; + const result = extractDocsUrls(text); + assertEquals(result, ['/influxdb3/admin/'], 'Should strip wildcard from middle of path'); +}); + +test('Normalization: strips multiple wildcards', () => { + const text = '/influxdb3/*/admin/*'; + const result = extractDocsUrls(text); + assertEquals(result, ['/influxdb3/admin/'], 'Should strip all wildcard characters'); +}); + +test('Wildcard in markdown-style notation', () => { + const text = '**InfluxDB 3 Enterprise pages** (`/influxdb3/enterprise/*`)'; + const result = extractDocsUrls(text); + assertEquals(result, ['/influxdb3/enterprise/'], 'Should extract and normalize path with wildcard in backticks'); +}); + +test('Wildcard in parentheses', () => { + const text = 'Affects pages under (/influxdb3/enterprise/*)'; + const result = extractDocsUrls(text); + assertEquals(result, ['/influxdb3/enterprise/'], 'Should extract and normalize path with wildcard in parentheses'); +}); + // Test deduplication test('Deduplication: same URL multiple times', () => { const text = ` diff --git a/content/enterprise_influxdb/v1/_index.md b/content/enterprise_influxdb/v1/_index.md index 0f744525d..f5649d6e7 100644 --- a/content/enterprise_influxdb/v1/_index.md +++ b/content/enterprise_influxdb/v1/_index.md @@ -10,8 +10,9 @@ menu: weight: 1 --- -InfluxDB Enterprise provides a time series database designed to handle high write and query loads and offers highly scalable clusters on your infrastructure with a management UI. Use for DevOps monitoring, IoT sensor data, and real-time analytics. Check out the key features that make InfluxDB Enterprise a great choice for working with time series data. +InfluxDB Enterprise provides a time series database designed to handle high write and query loads and offers highly scalable clusters on your infrastructure with a management UI. Use for DevOps monitoring, IoT sensor data, and real-time analytics. +{{< influxdb/cloud1-note >}} ## Key features diff --git a/content/influxdb/cloud/sign-up.md b/content/influxdb/cloud/sign-up.md index 7d48939dc..b27867c35 100644 --- a/content/influxdb/cloud/sign-up.md +++ b/content/influxdb/cloud/sign-up.md @@ -1,7 +1,7 @@ --- title: Sign up for InfluxDB Cloud description: > - InfluxDB Cloud is a fully managed and hosted version of InfluxDB 2.0, the time series + InfluxDB Cloud (TSM) is a fully managed and hosted version of InfluxDB 2.x, the time series platform purpose-built to collect, store, process and visualize metrics and events. menu: influxdb_cloud: @@ -12,7 +12,7 @@ aliases: - /influxdb/v2/cloud/get-started/ --- -InfluxDB Cloud is a fully managed and hosted version of InfluxDB, designed to collect, store, process, and visualize metrics and events. +InfluxDB Cloud (TSM) is a fully managed and hosted version of InfluxDB 2.x, designed to collect, store, process, and visualize metrics and events. > [!Note] > #### New InfluxDB Cloud signups use InfluxDB 3 diff --git a/content/influxdb/v1/_index.md b/content/influxdb/v1/_index.md index 6c2f242cd..61eb6b45f 100644 --- a/content/influxdb/v1/_index.md +++ b/content/influxdb/v1/_index.md @@ -8,24 +8,36 @@ weight: 1 --- InfluxDB is a [time series database](https://www.influxdata.com/time-series-database/) designed to handle high write and query loads. -It is an integral component of the +InfluxDB OSS v1 is purpose-built to handle any use case involving large amounts +of timestamped data and is an integral component of the [TICK stack](https://influxdata.com/time-series-platform/). -InfluxDB is meant to be used as a backing store for any use case involving large amounts of timestamped data, including DevOps monitoring, application metrics, IoT sensor data, and real-time analytics. + +Common use cases include: + +- Infrastructure and DevOps monitoring +- Application metrics and performance monitoring +- IoT sensor data collection +- Real-time analytics +- Events handling + +{{< influxdb/cloud1-note type="oss" >}} ## Key features -Here are some of the features that InfluxDB currently supports that make it a great choice for working with time series data. +InfluxDB v{{< current-version >}} supports the following features for working with time series data. -* Custom high performance datastore written specifically for time series data. +- Custom high performance datastore written specifically for time series data. The TSM engine allows for high ingest speed and data compression -* Written entirely in Go. +- Written entirely in Go. It compiles into a single binary with no external dependencies. -* Simple, high performing write and query HTTP APIs. -* Plugins support for other data ingestion protocols such as Graphite, collectd, and OpenTSDB. -* Expressive SQL-like query language tailored to easily query aggregated data. -* Tags allow series to be indexed for fast and efficient queries. -* Retention policies efficiently auto-expire stale data. -* Continuous queries automatically compute aggregate data to make frequent queries more efficient. +- Simple, high performing write and query HTTP APIs. +- Plugins support for other data ingestion protocols such as Graphite, collectd, and OpenTSDB. +- Expressive SQL-like query language tailored to easily query aggregated data. +- Tags allow series to be indexed for fast and efficient queries. +- Retention policies efficiently auto-expire stale data. +- Continuous queries automatically compute aggregate data to make frequent queries more efficient. -The open source edition of InfluxDB runs on a single node. -If you require high availability to eliminate a single point of failure, consider the [InfluxDB Enterprise Edition](/enterprise_influxdb/v1/). +InfluxDB OSS v1 runs on a single node. +If you require high availability to eliminate a single point of failure, consider [InfluxDB 3 Enterprise](/influxdb3/enterprise/), +InfluxDB's next generation that supports multi-node clustering, allows infinite series cardinality without impact on overall database performance, and +brings native SQL support and improved InfluxQL performance. diff --git a/content/influxdb/v1/about_the_project/release-notes.md b/content/influxdb/v1/about_the_project/release-notes.md index 3ed63fbed..986ccfa81 100644 --- a/content/influxdb/v1/about_the_project/release-notes.md +++ b/content/influxdb/v1/about_the_project/release-notes.md @@ -1,6 +1,6 @@ --- title: InfluxDB v1 release notes -description: Important changes and and what's new in each version of InfluxDB OSS. +description: Important features, fixes, and updates in each version of InfluxDB OSS v1. menu: influxdb_v1: name: Release notes @@ -76,7 +76,7 @@ of InfluxDB v1 workloads to InfluxDB 3. > > The last public release of InfluxDB v1 was v1.8.10. Upgrading from v1.8.10 to > v1.11.7 is a large jump and should be done with care. Consider doing -> one or more of the the following before upgrading: +> one or more of the following before upgrading: > > - [Back up your data](/influxdb/v1/administration/backup_and_restore/) > - Create a clone of your current InfluxDB using InfluxDB 1.11 with identical @@ -98,7 +98,7 @@ of InfluxDB v1 workloads to InfluxDB 3. - Optimize `SHOW FIELD KEY CARDINALITY`. - `SHOW TAG VALUES` returns results from one specific retention policy. - Support `WITH KEY` clause in with `SHOW TAG KEYS`. - - Support Hyper Log Log operators: `count_hll`, `sum_hll`, `merge_hll`. + - Support Hyper Log operators: `count_hll`, `sum_hll`, `merge_hll`. - Use `count_hll` for `SHOW SERIES CARDINALITY` queries. - **Logging improvements:** - Log slow queries even without query logging enabled. diff --git a/content/influxdb/v1/introduction/_index.md b/content/influxdb/v1/introduction/_index.md index ca9d1885a..f268766a3 100644 --- a/content/influxdb/v1/introduction/_index.md +++ b/content/influxdb/v1/introduction/_index.md @@ -1,12 +1,12 @@ --- -title: Learn about InfluxDB OSS -description: Tasks to complete to get up and running with InfluxDB OSS. +title: Learn about InfluxDB OSS 1.x +description: Get up and running with InfluxDB OSS v{{< current-version >}}. menu: influxdb_v1: name: Introduction weight: 20 --- -To get up and running with the open source (OSS) version of InfluxDB, complete the following tasks: +To get up and running with InfluxDB OSS v{{< current-version >}}, complete the following: {{< children hlevel="h2" >}} diff --git a/content/influxdb/v1/introduction/download.md b/content/influxdb/v1/introduction/download.md index 887e8b12b..a57ac045c 100644 --- a/content/influxdb/v1/introduction/download.md +++ b/content/influxdb/v1/introduction/download.md @@ -1,5 +1,5 @@ --- -title: Download InfluxDB OSS +title: Download InfluxDB OSS v1 menu: influxdb_v1: name: Download InfluxDB @@ -9,9 +9,10 @@ aliases: - /influxdb/v1/introduction/downloading/ --- -Download the latest InfluxDB open source (OSS) release at the [InfluxData download page](https://www.influxdata.com/downloads/). +Download the latest InfluxDB open source (OSS) release at the [InfluxData Downloads page](https://www.influxdata.com/downloads/). -1. Scroll to the bottom of the [`downloads page`](https://www.influxdata.com/downloads/) and click **Are you interested in InfluxDB 1.x Open Source?** to expand the 1.x options. -2. Under **Are you interested in InfluxDB 1.x Open Source?**, select the version of InfluxDB you want to download. -3. Under the **Platform** dropdown menu, select your operating system. -4. Execute the provided download commands. +1. Scroll to the bottom of the [downloads page](https://www.influxdata.com/downloads/) and click **2** to navigate to the second page of products. +2. Under **InfluxDB OSS 1.x**, select: + - your **Platform** (operating system) and + - the **Version** of InfluxDB you want to download. +3. Run the provided commands to download and install InfluxDB. diff --git a/content/influxdb/v1/introduction/get-started/_index.md b/content/influxdb/v1/introduction/get-started/_index.md index 75cdd2c6a..93c901285 100644 --- a/content/influxdb/v1/introduction/get-started/_index.md +++ b/content/influxdb/v1/introduction/get-started/_index.md @@ -1,6 +1,6 @@ --- -title: Get started with InfluxDB OSS -description: Get started with InfluxDB OSS. Learn how to create databases, write data, and query your time series data. +title: Get started with InfluxDB OSS v1 +description: Get started with InfluxDB OSS v{{< current-version >}}. Learn how to create databases, write data, and query your time series data. aliases: - /influxdb/v1/introduction/getting_started/ - /influxdb/v1/introduction/getting-started/ @@ -13,7 +13,7 @@ alt_links: v2: /influxdb/v2/get-started/ --- -With InfluxDB open source (OSS) [installed](/influxdb/v1/introduction/installation), you're ready to start working with time series data. +With InfluxDB [installed](/influxdb/v1/introduction/installation), you're ready to start working with time series data. This guide uses the `influx` [command line interface](/influxdb/v1/tools/shell/) (CLI), which is included with InfluxDB and provides direct access to the database. The CLI communicates with InfluxDB through the HTTP API on port `8086`. diff --git a/content/influxdb/v1/introduction/install.md b/content/influxdb/v1/introduction/install.md index 7aa6a7320..a2cc04f76 100644 --- a/content/influxdb/v1/introduction/install.md +++ b/content/influxdb/v1/introduction/install.md @@ -1,6 +1,6 @@ --- -title: Install InfluxDB OSS -description: Install, start, and configure InfluxDB OSS. +title: Install InfluxDB OSS v1 +description: Install, start, and configure InfluxDB OSS v{{< current-version >}}. menu: influxdb_v1: name: Install InfluxDB @@ -12,7 +12,7 @@ alt_links: v2: /influxdb/v2/install/ --- -This page provides directions for installing, starting, and configuring InfluxDB open source (OSS). +Install, start, and configure InfluxDB open source (OSS) v{{< current-version >}}. ## InfluxDB OSS installation requirements @@ -144,7 +144,7 @@ sudo systemctl start influxdb {{% tab-content %}} -There are RPM packages provided by openSUSE Build Service for SUSE Linux users: +For SUSE Linux users, openSUSE Build Service provides RPM packages: ```bash # add go repository @@ -280,24 +280,61 @@ internal defaults. Note that the local configuration file does not need to include every configuration setting. -There are two ways to launch InfluxDB with your configuration file: +Use one of the following methods to launch InfluxDB OSS v1 with your configuration file: -* Point the process to the correct configuration file by using the `-config` -option: +- **CLI flag**: Pass the `-config` flag with the path to your configuration file: ```bash influxd -config /etc/influxdb/influxdb.conf ``` -* Set the environment variable `INFLUXDB_CONFIG_PATH` to the path of your -configuration file and start the process. -For example: +- **Environment variable**: Set the `INFLUXDB_CONFIG_PATH` environment variable to the path of your +configuration file and start the process--for example: - ``` - echo $INFLUXDB_CONFIG_PATH - /etc/influxdb/influxdb.conf + {{< code-tabs-wrapper >}} +{{% code-tabs %}} +[Linux/macOS (bash/zsh)](#) +[Linux/macOS (persistent)](#) +[Windows (PowerShell)](#) +[Windows (CMD)](#) +{{% /code-tabs %}} +{{% code-tab-content %}} +```bash +# Set the environment variable for the current session +export INFLUXDB_CONFIG_PATH=/etc/influxdb/influxdb.conf - influxd - ``` +# Start InfluxDB +influxd +``` +{{% /code-tab-content %}} +{{% code-tab-content %}} +```bash +# Add to ~/.bashrc or ~/.zshrc for persistence +echo 'export INFLUXDB_CONFIG_PATH=/etc/influxdb/influxdb.conf' >> ~/.bashrc +source ~/.bashrc + +# Start InfluxDB +influxd +``` +{{% /code-tab-content %}} +{{% code-tab-content %}} +```powershell +# Set the environment variable for the current session +$env:INFLUXDB_CONFIG_PATH = "C:\Program Files\InfluxDB\influxdb.conf" + +# Start InfluxDB +influxd +``` +{{% /code-tab-content %}} +{{% code-tab-content %}} +```cmd +REM Set the environment variable for the current session +set INFLUXDB_CONFIG_PATH=C:\Program Files\InfluxDB\influxdb.conf + +REM Start InfluxDB +influxd +``` +{{% /code-tab-content %}} + {{< /code-tabs-wrapper >}} InfluxDB first checks for the `-config` option and then for the environment variable. @@ -314,9 +351,8 @@ See the [Configuration](/influxdb/v1/administration/config/) documentation for m Make sure the directories in which data and the [write ahead log](/influxdb/v1/concepts/glossary#wal-write-ahead-log) (WAL) are stored are writable for the user running the `influxd` service. -{{% note %}} -**Note:** If the data and WAL directories are not writable, the `influxd` service will not start. -{{% /note %}} +> [!Important] +> If the data and WAL directories are not writable, the `influxd` service will not start. The user running the `influxd` process should have the following permissions for directories in the [InfluxDB file system](/influxdb/v1//concepts/file-system-layout/): diff --git a/content/influxdb/v1/introduction/install/docker.md b/content/influxdb/v1/introduction/install/docker.md index ea6a44f94..1940b7d22 100644 --- a/content/influxdb/v1/introduction/install/docker.md +++ b/content/influxdb/v1/introduction/install/docker.md @@ -1,7 +1,7 @@ --- title: Install and run InfluxDB using Docker description: > - Install and run InfluxDB OSS v1.x using Docker. Configure and operate InfluxDB in a Docker container. + Install and run InfluxDB OSS v{{< current-version >}} using Docker. Configure and operate InfluxDB in a Docker container. menu: influxdb_v1: name: Use Docker @@ -20,7 +20,7 @@ alt_links: v2: /influxdb/v2/install/use-docker-compose/ --- -Install and run InfluxDB OSS v1.x using Docker containers. +Install and run InfluxDB OSS v{{< current-version >}} using Docker containers. This guide covers Docker installation, configuration, and initialization options. - [Install and run InfluxDB](#install-and-run-influxdb) diff --git a/content/influxdb/v2/install/upgrade/v2-beta-to-v2.md b/content/influxdb/v2/install/upgrade/v2-beta-to-v2.md index f2dd510e3..0c8d6851e 100644 --- a/content/influxdb/v2/install/upgrade/v2-beta-to-v2.md +++ b/content/influxdb/v2/install/upgrade/v2-beta-to-v2.md @@ -36,6 +36,8 @@ then you can skip those sections. 7. [Copy all resources from old instance to the new one](#7-copy-all-resources-from-old-instance-to-the-new-one) 8. [Set up integrations to point to new instance](#8-set-up-integrations-to-point-to-new-instance) 9. [Load historical data into new instance](#9-load-historical-data-into-new-instance) +10. [Verify InfluxDB resources, data, and integrations](#verify-influxdb-resources-data-and-integrations) +11. [Upgrade to the latest InfluxDB v2 version](#upgrade-to-the-latest-influxdb-v2-version) ### Why is this manual process required? @@ -337,7 +339,7 @@ Repeat that process for each bucket. ## Verify InfluxDB resources, data, and integrations -Verify that the latest version of InfluxDB is running with all your resources, data, and integrations configured. +Verify that the latest version of InfluxDB {{< current-version >}} is running with all your resources, data, and integrations configured. Double-check that everything is there and it is working as expected. Once you're set up with the latest InfluxDB, you can safely turn off your old instance and archive the previous data directory. diff --git a/content/platform/_index.md b/content/platform/_index.md index 75d143b2e..915b2b26a 100644 --- a/content/platform/_index.md +++ b/content/platform/_index.md @@ -19,9 +19,12 @@ menu: weight: 1 --- -**InfluxData platform** is the leading modern [time series](/platform/faq/#what-is-time-series-data) platform, built for metrics and events. +**InfluxDB** is a database built to collect, process, transform, and store event +and [time series](/platform/faq/#what-is-time-series-data) data, +and is ideal for use cases that require real-time ingest and fast query response +times to build user interfaces, monitoring, and automation solutions. -> \[!Note] +> [!Note] > > #### What's my InfluxDB version? > @@ -36,6 +39,45 @@ weight: 1 > > Or browse the product lineup below to find yours. +{{% expand "Compare InfluxDB versions" %}} + +The following table compares InfluxDB across the v3, v2, and v1 generations. + +| Product | Version (Engine) | License | Deployment | Query Languages | Cardinality | API | +|---------|------------------|---------|------------|-----------------|-------------|-----| +| **[InfluxDB 3 Core](#influxdb-3)** | v3 (InfluxDB 3) | Open Source (MIT/Apache 2) | Self-managed (single-node) | SQL, InfluxQL | Unlimited | v3, v2, v1 | +| **[InfluxDB 3 Enterprise](#influxdb-3)** | v3 (InfluxDB 3) | Commercial | Self-managed (cluster or single-node) | SQL, InfluxQL | Unlimited | v3, v2, v1 | +| **[InfluxDB Clustered](#influxdb-3)** | v3 (InfluxDB 3) | Commercial | Self-managed (Kubernetes) | SQL, InfluxQL | Unlimited | v2, v1 | +| **[InfluxDB Cloud Serverless](#influxdb-3)** | v3 (InfluxDB 3) | Free & Paid | Managed cloud (multi-tenant) | SQL, InfluxQL | Unlimited | v2, v1 | +| **[InfluxDB Cloud Dedicated](#influxdb-3)** | v3 (InfluxDB 3) | Paid | Managed cloud (single-tenant) | SQL, InfluxQL | Unlimited | v2, v1 | +| **[InfluxDB OSS v2](#influxdb-2x)** | v2 (TSM) | Open Source | Self-managed (single-node) | Flux, InfluxQL | Limited | v2, v1 | +| **[InfluxDB Cloud (TSM)](#influxdb-2x)** | v2 (TSM) | Free & Paid | Managed cloud | Flux, InfluxQL | Limited | v2, v1 | +| **[InfluxDB OSS v1](#influxdb-1x)** | v1 (TSM) | Open Source | Self-managed (single-node) | InfluxQL | Limited | v2, v1 | +| **[InfluxDB Enterprise v1](#influxdb-1x)** | v1 (TSM) | Commercial | Self-managed (cluster) | InfluxQL, Flux (via compat) | Limited | v2, v1 | +| **[InfluxDB Cloud 1](#influxdb-1x)** | v1 (TSM) | Paid | Managed cloud | InfluxQL | Limited | v2, v1 | + +**Storage engine notes:** + +- **InfluxDB 3**: Modern columnar storage engine that supports unlimited series cardinality and native SQL +- **TSM** (Time-Structured Merge Tree): Storage engine used in InfluxDB v1 and v2 + +**Product availability:** + +- **InfluxDB Cloud (TSM)**: Legacy managed v2 product; new signups are directed to InfluxDB Cloud Serverless (v3) +- **InfluxDB Cloud 1**: Legacy managed v1 product; new signups are no longer available; existing customers only + +**API compatibility:** + +- **v3 API**: Latest API in InfluxDB 3 Core and Enterprise (`/api/v3` endpoints) with database-based data model +- **v2 API**: Used in InfluxDB v2 with token authentication and bucket-based data model; InfluxDB 3 products support `/api/v2/write` compatibility endpoint +- **v1 HTTP API**: Legacy API with `/write` and `/query` endpoints; InfluxDB 3 products provide v1 compatibility for easier migration from v1 products +{{% /expand %}} + +- [InfluxDB 3](#influxdb-3) +- [InfluxDB 2.x](#influxdb-2x) +- [InfluxDB 1.x](#influxdb-1x) +- [Migrate to InfluxDB 3](#migrate-to-influxdb-3) + ## InfluxDB 3 **InfluxDB 3** is InfluxDB’s next generation that unlocks series limitations present in the Time Structured Merge Tree (TSM) storage engine and allows infinite series cardinality without any impact on overall database performance. It also brings with it native SQL support and improved InfluxQL performance. @@ -59,24 +101,25 @@ weight: 1 [Telegraf](/telegraf/v1/) is a plugin-driven server agent for collecting and reporting metrics. It supports over 300 input and output plugins, including support for InfluxDB 3. -## InfluxDB 2 +## InfluxDB 2.x -> \[!Note] +> [!Important] +> #### Legacy product - New InfluxDB Cloud signups use InfluxDB 3 > -> #### New InfluxDB Cloud signups use InfluxDB 3 +> InfluxDB Cloud (TSM) is a **legacy managed service** based on InfluxDB v2.x. +> **New signups are no longer available**. +> New InfluxDB Cloud signups are directed to [InfluxDB Cloud Serverless](/influxdb3/cloud-serverless/) (powered by InfluxDB 3). > -> New InfluxDB Cloud signups are for [InfluxDB Cloud Serverless, powered by the InfluxDB 3 storage engine](/influxdb3/cloud-serverless/). -> -> If you are looking to use InfluxDB v2 (TSM), consider self-hosting [InfluxDB OSS v2](/influxdata/v2/). +> Existing InfluxDB Cloud (TSM) customers should consider [migrating to InfluxDB 3](#migrate-to-influxdb-3). +> If you are looking to use InfluxDB v2 (TSM), consider self-hosting [InfluxDB OSS v2](/influxdb/v2/). The **InfluxDB 2 platform** consolidates InfluxDB, Chronograf, and Kapacitor from the **InfluxData 1.x platform** into a single packaged solution, with added features and flexibility: -- [InfluxDB OSS 2.x](/influxdb/v2/get-started/): open source platform solution in a single binary -- [InfluxDB Cloud](/influxdb/cloud/get-started/) (**commercial offering**): hosted cloud solution -- [Telegraf](#telegraf): collect data +- **[InfluxDB OSS 2.x](/influxdb/v2/)**: Open source platform solution in a single binary +- **[InfluxDB Cloud (TSM)](/influxdb/cloud/)**: Legacy managed cloud service (new signups unavailable) +- **[Telegraf](/telegraf/v1/)**: Data collection agent -> \[!Note] -> +> [!Note] > #### Integrate InfluxDB 2.0 applications with InfluxDB Enterprise 1.8+ > > Use [InfluxDB 2.0 API compatibility endpoints](/enterprise_influxdb/v1/tools/api/#influxdb-20-api-compatibility-endpoints) to integrate applications built on InfluxDB 2.0 or InfluxDB Cloud with InfluxDB Enterprise 1.8+: @@ -84,124 +127,69 @@ The **InfluxDB 2 platform** consolidates InfluxDB, Chronograf, and Kapacitor fro > - Query data in InfluxDB Enterprise using `api/v2/query` and Flux. > - Write data to InfluxDB Enterprise using `api/v2/write` (compatible with InfluxDB 2.0 client libraries). -## InfluxData 1.x +## InfluxDB 1.x -The **InfluxData 1.x platform** includes the following open source components ([TICK stack](#influxdata-1-x-tick-stack)): +The **InfluxDB 1.x platform** provides time series data storage with the TICK stack (Telegraf, InfluxDB, Chronograf, Kapacitor). -- [Telegraf](#telegraf): collect data -- [InfluxDB](#influxdb): store data -- [Chronograf](#chronograf): visualize data -- [Kapacitor](#kapacitor): process data and alerts +**Products**: -**InfluxData 1.x** also includes the following **commercial offerings**: +- **[InfluxDB OSS v1](/influxdb/v1/)**: Open source, self-hosted time series database +- **[InfluxDB Enterprise v1](/enterprise_influxdb/v1/)**: Commercial, self-hosted cluster with HA and advanced features +- **[InfluxDB Cloud 1](#influxdb-cloud-1)**: Legacy managed cloud service (new signups unavailable) +- **[Telegraf](/telegraf/v1/)**: Data collection agent +- **[Chronograf](/chronograf/v1/)**: Visualization and dashboarding +- **[Kapacitor](/kapacitor/v1/)**: Data processing and alerting -- [InfluxDB Enterprise](#influxdb-enterprise) -- [Kapacitor Enterprise](#kapacitor-enterprise) -- [InfluxCloud 1.x](https://help.influxcloud.net) (hosted cloud solution) +### InfluxDB Cloud 1 -## InfluxData 1.x TICK stack +> [!Important] +> #### Legacy product - New InfluxDB Cloud signups use InfluxDB 3 +> +> InfluxDB Cloud 1 (also known as InfluxCloud 1.x) is a **legacy managed service** based on InfluxDB Enterprise v1. +> **New signups are no longer available**. +> New InfluxDB Cloud signups are directed to [InfluxDB Cloud Serverless](/influxdb3/cloud-serverless/) (powered by InfluxDB 3). +> +> Existing InfluxDB Cloud 1 customers should consider [migrating to InfluxDB 3](#migrate-to-influxdb-3). +> If you are looking to use InfluxDB v1, consider self-hosting [InfluxDB OSS v1](/influxdb/v1/). -### Telegraf +InfluxDB Cloud 1 was a **Database as a Service (DBaaS)** offering that provided fully managed, production-ready InfluxDB Enterprise v1 clusters hosted on AWS. It was designed to collect, store, and process time series data without the operational overhead of managing infrastructure. -Telegraf is a data collection agent that captures data from a growing list of sources -and translates it into [InfluxDB line protocol format](/influxdb/v1/write_protocols/line_protocol_reference/) -for storage in InfluxDB. Telegraf's extensible architecture makes it easy to -create [plugins](/telegraf/v1/plugins/) that both pull data (input plugins) and push data (output plugins) -to and from different sources and endpoints. +#### Key characteristics -### InfluxDB +- **Managed infrastructure**: Production-ready clusters with multiple data and meta nodes managed by InfluxData +- **TICK stack support**: Full support for Telegraf, InfluxDB, Chronograf, and Kapacitor +- **Database and retention policy data model**: Uses databases and retention policies +- **InfluxQL query language**: Primary query language for Cloud 1 +- **Optional add-ons**: Managed Grafana available for rich visualization and dashboarding -InfluxDB stores data for any use case involving large amounts of timestamped data, including -DevOps monitoring, log data, application metrics, IoT sensor data, and real-time analytics. -It provides functionality that allows you to conserve space on your machine by keeping -data for a defined length of time, then automatically downsampling or expiring and deleting -unneeded data from the system. +#### Documentation and support -### Chronograf +- **Technical documentation**: InfluxDB Cloud 1 users should refer to [InfluxDB Enterprise v1 documentation](/enterprise_influxdb/v1/), as InfluxDB Cloud 1 is based on Enterprise v1 +- **InfluxDB Cloud 1 support portal**: For account, billing, and service questions, visit [help.influxcloud.net](https://help.influxcloud.net) +- **API compatibility**: InfluxDB Cloud 1 uses the same APIs and tools as InfluxDB Enterprise v1 -Chronograf is the user interface for the TICK stack that provides customizable dashboards, -data visualizations, and data exploration. It also allows you to view and manage -[Kapacitor](#kapacitor) tasks. +## Migrate to InfluxDB 3 -### Kapacitor +InfluxDB Enterprise, Cloud 1, and Cloud (TSM) customers can migrate to modern InfluxDB 3 products with improved performance, scalability, and features. +Migration options include: -Kapacitor is a data processing framework that enables you to process and act on data -as it is written to InfluxDB. This includes detecting anomalies, creating alerts -based on user-defined logic, and running ETL jobs. +- **[InfluxDB 3 Enterprise](/influxdb3/enterprise/)**: Self-hosted with clustering, high availability, and advanced security +- **[InfluxDB Cloud Serverless](/influxdb3/cloud-serverless/)**: Fully managed, multi-tenant InfluxDB 3 with automatic scaling +- **[InfluxDB Cloud Dedicated](/influxdb3/cloud-dedicated/)**: Single-tenant InfluxDB 3 cluster with dedicated resources -## InfluxData 1.x Enterprise versions +> [!Note] +> Questions about migrating to InfluxDB 3? [Contact InfluxData Sales](https://influxdata.com/contact-sales/). -InfluxDB Enterprise and Kapacitor Enterprise provide clustering, access control, and incremental backup functionality for production infrastructures at scale. You'll also receive direct support from the InfluxData support team. +All InfluxDB 3 products provide **v1 compatibility APIs** and the **v2 write API** to ease the transition: -> \[!Note] -> InfluxDB Enterprise and Kapacitor Enterprise are compatible with open source versions of Telegraf and Chronograf. +- Use `/write` and `/query` endpoints with existing v1 client libraries and tools +- Use `/api/v2/write` endpoint with existing v2 client libraries and tools +- Map v1 databases and retention policies (DBRP) to InfluxDB 3 databases and InfluxDB Cloud Serverless buckets +- Authenticate using tokens or username/password schemes +- Migrate workloads incrementally without rewriting applications -### InfluxDB Enterprise +**Migration guides**: -InfluxDB Enterprise provides functionality necessary to run a high-availability (HA) InfluxDB cluster, providing clustering, horizontal scale out, and advanced access controls, including: - -- [Hinted handoff](#hinted-handoff) -- [Anti-entropy](#anti-entropy) -- [Fine-grained authorization](#fine-grained-authorization) -- [Cluster profiling](#cluster-profiling) -- [Incremental backups](#incremental-backups) - -#### Hinted handoff - -Data is written across nodes using an eventually consistent write model. -All writes are added to the [Hinted Handoff Queue (HHQ)](/enterprise_influxdb/v1/concepts/clustering/#hinted-handoff), -then written to other nodes in the cluster. - -#### Anti-Entropy - -InfluxDB Enterprise's -[Anti-Entropy (AE)](/enterprise_influxdb/v1/administration/anti-entropy/) -process ensures data shards in the cluster are in sync. When "entropy" (out-of-sync -data) is detected, AE will repair the affected shards, syncing the missing data. - -#### Fine-grained authorization - -In InfluxDB Enterprise, [fine-grained authorization](/enterprise_influxdb/v1/administration/manage/users-and-permissions/introduction-to-auth/) can be used to control access -at the measurement or series levels rather than just the database level. - -#### Cluster profiling - -Enterprise meta nodes expose the `/debug/pprof` API endpoint that allows you to -profile and potentially diagnose performance bottlenecks in your cluster. - -For more information about monitoring and profiling your cluster, see -[Monitor InfluxDB Enterprise](/enterprise_influxdb/v1/administration/monitor). - -#### Incremental backups - -InfluxDB Enterprise allows for incremental backups that write only newly added -data to existing backup files rather than backing up all data in a new backup. - -For more information, see [InfluxDB Enterprise clustering features](/enterprise_influxdb/v1/features/clustering-features/) - -### Kapacitor Enterprise - -Kapacitor Enterprise provides functionality necessary to run a high-availability -Kapacitor cluster, including: - -- Kapacitor cluster management -- Alert deduplication -- Secure communication - -#### Kapacitor cluster management - -Kapacitor Enterprise is packaged with `kapactorctl`, a command line client for creating -and managing Kapacitor clusters. - -#### Alert deduplication - -As alerts are triggered in a multi-node Kapacitor cluster, Kapacitor Enterprise -deduplicates alert data to prevent duplicate alert notifications from being sent. - -#### Secure communication - -Data is passed between InfluxDB and Kapacitor via subscriptions. -Kapacitor Enterprise includes configuration options that let you encrypt -communication between your Kapacitor Enterprise and InfluxDB Enterprise clusters. - -Try InfluxData Platform Enterprise +- [Use compatibility APIs and client libraries to write data to InfluxDB 3 Enterprise](/influxdb3/enterprise/write-data/compatibility-apis/) +- [Migrate data to InfluxDB Cloud Dedicated](/influxdb3/cloud-dedicated/guides/migrate-data/) +- [Migrate data to InfluxDB Cloud Serverless](/influxdb3/cloud-serverless/guides/migrate-data/) diff --git a/content/shared/identify-version.md b/content/shared/identify-version.md index 780f91346..a4da774bf 100644 --- a/content/shared/identify-version.md +++ b/content/shared/identify-version.md @@ -11,13 +11,13 @@ Identifying which InfluxDB product and version you're using is essential for acc If you access InfluxDB via a URL, the hostname often indicates which product you're using: -| URL Pattern | Product | -| ------------------------------------------ | ------------------------- | -| `*.influxdb.io` | InfluxDB Cloud Dedicated | -| `us-east-1-1.aws.cloud2.influxdata.com` | InfluxDB Cloud Serverless | -| `eu-central-1-1.aws.cloud2.influxdata.com` | InfluxDB Cloud Serverless | -| `*.influxcloud.net` | InfluxDB Cloud 1 (legacy) | -| Other `*.cloud2.influxdata.com` regions | InfluxDB Cloud (TSM) | +| URL Pattern | Product | +| ------------------------------------------ | --------------------------------------------- | +| `*.influxdb.io` | InfluxDB Cloud Dedicated | +| `us-east-1-1.aws.cloud2.influxdata.com` | InfluxDB Cloud Serverless | +| `eu-central-1-1.aws.cloud2.influxdata.com` | InfluxDB Cloud Serverless | +| `*.influxcloud.net` | [InfluxDB Cloud 1](/platform/#influxdb-cloud-1) (legacy) | +| Other `*.cloud2.influxdata.com` regions | InfluxDB Cloud (TSM) | ### By default port @@ -420,7 +420,7 @@ InfluxData offers multiple InfluxDB products to suit different use cases: | **InfluxDB Cloud (TSM)** | Free/Paid | Cloud | InfluxQL, Flux | N/A | | **InfluxDB OSS v1** | Free | Self-hosted | InfluxQL | 8086 | | **InfluxDB Enterprise v1** | Paid | Self-hosted | InfluxQL, Flux | 8086 | -| **InfluxDB Cloud 1** | Paid | Cloud | InfluxQL | N/A | +| **[InfluxDB Cloud 1](/platform/#influxdb-cloud-1)** | Paid | Cloud (legacy) | InfluxQL | N/A | ### Key characteristics diff --git a/data/products.yml b/data/products.yml index 7e8efe776..aa5317304 100644 --- a/data/products.yml +++ b/data/products.yml @@ -16,7 +16,8 @@ influxdb3_core: InfluxQL: required_params: ['Host', 'Database'] optional_params: [] - characteristics: ['Free', 'Self-hosted', 'SQL/InfluxQL', 'No auth required', 'Databases'] + characteristics: + ['Free', 'Self-hosted', 'SQL/InfluxQL', 'No auth required', 'Databases'] detection: ping_headers: x-influxdb-version: '^3\.' @@ -26,8 +27,8 @@ influxdb3_core: - What's my InfluxDB version? - How do I install and run InfluxDB 3 Core? - Help me write a plugin for the Python Processing engine using InfluxDB 3 Core - ai_input_placeholder: "Specify your version and product (\"Core\", \"InfluxDB 3 Enterprise\", \"OSS v1\") for better results" - ai_source_group_ids: "b650cf0b-4b52-42e8-bde7-a02738f27262" + ai_input_placeholder: 'Specify your version and product ("Core", "InfluxDB 3 Enterprise", "OSS v1") for better results' + ai_source_group_ids: 'b650cf0b-4b52-42e8-bde7-a02738f27262' influxdb3_enterprise: name: InfluxDB 3 Enterprise @@ -47,7 +48,8 @@ influxdb3_enterprise: InfluxQL: required_params: ['Host', 'Database', 'Token'] optional_params: [] - characteristics: ['Paid', 'Self-hosted', 'SQL/InfluxQL', 'Token', 'Databases'] + characteristics: + ['Paid', 'Self-hosted', 'SQL/InfluxQL', 'Token', 'Databases'] detection: ping_headers: x-influxdb-version: '^3\.' @@ -57,8 +59,8 @@ influxdb3_enterprise: - What's my InfluxDB version? - How do I install and run InfluxDB 3 Enterprise? - How do I start a read replica node using InfluxDB 3 Enterprise? - ai_input_placeholder: "Specify your version and product (\"InfluxDB 3 Enterprise\", \"Core\", \"Enterprise v1\") for better results" - ai_source_group_ids: "b650cf0b-4b52-42e8-bde7-a02738f27262" + ai_input_placeholder: 'Specify your version and product ("InfluxDB 3 Enterprise", "Core", "Enterprise v1") for better results' + ai_source_group_ids: 'b650cf0b-4b52-42e8-bde7-a02738f27262' influxdb3_explorer: name: InfluxDB 3 Explorer @@ -73,8 +75,8 @@ influxdb3_explorer: - How do I install and run Explorer? - How do I query data using Explorer? - How do I visualize data using Explorer? - ai_input_placeholder: "Specify your version and product (\"InfluxDB 3 Explorer and Enterprise\", \"InfluxDB 3 Explorer and Core\") for better results" - ai_source_group_ids: "b650cf0b-4b52-42e8-bde7-a02738f27262" + ai_input_placeholder: 'Specify your version and product ("InfluxDB 3 Explorer and Enterprise", "InfluxDB 3 Explorer and Core") for better results' + ai_source_group_ids: 'b650cf0b-4b52-42e8-bde7-a02738f27262' influxdb3_cloud_serverless: name: InfluxDB Cloud Serverless @@ -98,13 +100,17 @@ influxdb3_cloud_serverless: optional_params: [] characteristics: ['Paid/Free', 'Cloud', 'All languages', 'Token', 'Buckets'] detection: - url_contains: ['us-east-1-1.aws.cloud2.influxdata.com', 'eu-central-1-1.aws.cloud2.influxdata.com'] + url_contains: + [ + 'us-east-1-1.aws.cloud2.influxdata.com', + 'eu-central-1-1.aws.cloud2.influxdata.com', + ] ai_sample_questions: - What's my InfluxDB version? - How do I migrate from Cloud (TSM) to Cloud Serverless? - What tools can I use to write data to InfluxDB Cloud Serverless? - ai_input_placeholder: "Specify your version and product (\"InfluxDB Cloud Serverless\", \"InfluxDB 3 Enterprise\", \"Core\") for better results" - ai_source_group_ids: "b650cf0b-4b52-42e8-bde7-a02738f27262" + ai_input_placeholder: 'Specify your version and product ("InfluxDB Cloud Serverless", "InfluxDB 3 Enterprise", "Core") for better results' + ai_source_group_ids: 'b650cf0b-4b52-42e8-bde7-a02738f27262' influxdb3_cloud_dedicated: name: InfluxDB Cloud Dedicated @@ -114,7 +120,7 @@ influxdb3_cloud_dedicated: versions: [cloud-dedicated] list_order: 3 latest: cloud-dedicated - link: "https://www.influxdata.com/contact-sales-cloud-dedicated/" + link: 'https://www.influxdata.com/contact-sales-cloud-dedicated/' latest_cli: 2.12.0 placeholder_host: cluster-id.a.influxdb.io detector_config: @@ -132,8 +138,8 @@ influxdb3_cloud_dedicated: - What's my InfluxDB version? - How do I migrate from InfluxDB v1 to Cloud Dedicated? - How do I use SQL and parameterized queries with InfluxDB Cloud Dedicated? - ai_input_placeholder: "Specify your version and product (\"InfluxDB Cloud Dedicated\", \"InfluxDB 3 Enterprise\", \"Core\") for better results" - ai_source_group_ids: "b650cf0b-4b52-42e8-bde7-a02738f27262" + ai_input_placeholder: 'Specify your version and product ("InfluxDB Cloud Dedicated", "InfluxDB 3 Enterprise", "Core") for better results' + ai_source_group_ids: 'b650cf0b-4b52-42e8-bde7-a02738f27262' influxdb3_clustered: name: InfluxDB Clustered @@ -143,7 +149,7 @@ influxdb3_clustered: versions: [clustered] list_order: 3 latest: clustered - link: "https://www.influxdata.com/contact-sales-influxdb-clustered/" + link: 'https://www.influxdata.com/contact-sales-influxdb-clustered/' placeholder_host: cluster-host.com detector_config: query_languages: @@ -153,7 +159,8 @@ influxdb3_clustered: InfluxQL: required_params: ['URL', 'Database', 'Token'] optional_params: [] - characteristics: ['Paid', 'Self-hosted', 'SQL/InfluxQL', 'Token', 'Databases'] + characteristics: + ['Paid', 'Self-hosted', 'SQL/InfluxQL', 'Token', 'Databases'] detection: ping_headers: x-influxdb-version: 'influxqlbridged-development' @@ -161,8 +168,8 @@ influxdb3_clustered: - What's my InfluxDB version? - How do I use a Helm chart to configure InfluxDB Clustered? - How do I use SQL and parameterized queries with InfluxDB Clustered? - ai_input_placeholder: "Specify your version and product (\"InfluxDB Clustered\", \"InfluxDB 3 Enterprise\", \"Core\") for better results" - ai_source_group_ids: "b650cf0b-4b52-42e8-bde7-a02738f27262" + ai_input_placeholder: 'Specify your version and product ("InfluxDB Clustered", "InfluxDB 3 Enterprise", "Core") for better results' + ai_source_group_ids: 'b650cf0b-4b52-42e8-bde7-a02738f27262' influxdb: name: InfluxDB @@ -191,7 +198,14 @@ influxdb: Flux: required_params: ['URL', 'Token', 'Default bucket'] optional_params: [] - characteristics: ['Free', 'Self-hosted', 'InfluxQL/Flux', 'Token or Username/Password', 'Buckets'] + characteristics: + [ + 'Free', + 'Self-hosted', + 'InfluxQL/Flux', + 'Token or Username/Password', + 'Buckets', + ] detection: ping_headers: x-influxdb-build: 'OSS' @@ -201,13 +215,13 @@ influxdb: - What's my InfluxDB version? - How do I write and query data using InfluxDB OSS v2? - How can I migrate from InfluxDB OSS v2 to InfluxDB 3? - ai_input_placeholder: "Specify your version and product (\"InfluxDB OSS v2\", \"InfluxDB v1\", \"InfluxDB 3 Core\") for better results" - ai_source_group_ids: "3e905caa-dd6f-464b-abf9-c3880e09f128" + ai_input_placeholder: 'Specify your version and product ("InfluxDB OSS v2", "InfluxDB v1", "InfluxDB 3 Core") for better results' + ai_source_group_ids: '3e905caa-dd6f-464b-abf9-c3880e09f128' ai_sample_questions__v1: - What's my InfluxDB version? - How do I query data with InfluxQL using InfluxDB OSS v1? - How do I set up continuous queries in InfluxDB OSS v1? - ai_source_group_ids__v1: "d809f67b-867d-4f17-95f0-c33dbadbf15f" + ai_source_group_ids__v1: 'd809f67b-867d-4f17-95f0-c33dbadbf15f' influxdb_cloud: name: InfluxDB Cloud (TSM) @@ -227,15 +241,25 @@ influxdb_cloud: Flux: required_params: ['URL', 'Organization', 'Token', 'Default bucket'] optional_params: [] - characteristics: ['Paid/Free', 'Cloud', 'InfluxQL/Flux', 'Token', 'Databases/Buckets'] + characteristics: + ['Paid/Free', 'Cloud', 'InfluxQL/Flux', 'Token', 'Databases/Buckets'] detection: - url_contains: ['us-west-2-1.aws.cloud2.influxdata.com', 'us-west-2-2.aws.cloud2.influxdata.com', 'us-east-1-1.aws.cloud2.influxdata.com', 'eu-central-1-1.aws.cloud2.influxdata.com', 'us-central1-1.gcp.cloud2.influxdata.com', 'westeurope-1.azure.cloud2.influxdata.com', 'eastus-1.azure.cloud2.influxdata.com'] + url_contains: + [ + 'us-west-2-1.aws.cloud2.influxdata.com', + 'us-west-2-2.aws.cloud2.influxdata.com', + 'us-east-1-1.aws.cloud2.influxdata.com', + 'eu-central-1-1.aws.cloud2.influxdata.com', + 'us-central1-1.gcp.cloud2.influxdata.com', + 'westeurope-1.azure.cloud2.influxdata.com', + 'eastus-1.azure.cloud2.influxdata.com', + ] ai_sample_questions: - What's my InfluxDB version? - How do I write and query data using InfluxDB Cloud (TSM)? - How is Cloud (TSM) different from Cloud Serverless? - ai_input_placeholder: "Specify your version and product (\"InfluxDB Cloud (TSM)\", \"InfluxDB 3 Enterprise\", \"Core\") for better results" - ai_source_group_ids: "3e905caa-dd6f-464b-abf9-c3880e09f128" + ai_input_placeholder: 'Specify your version and product ("InfluxDB Cloud (TSM)", "InfluxDB 3 Enterprise", "Core") for better results' + ai_source_group_ids: '3e905caa-dd6f-464b-abf9-c3880e09f128' telegraf: name: Telegraf @@ -250,7 +274,7 @@ telegraf: - How do I configure Telegraf for InfluxDB 3? - How do I write a custom Telegraf plugin? - How do I use Telegraf for MQTT? - ai_input_placeholder: "Ask questions about Telegraf and InfluxDB" + ai_input_placeholder: 'Ask questions about Telegraf and InfluxDB' telegraf_controller: name: Telegraf Controller @@ -274,7 +298,7 @@ chronograf: - How do I configure Chronograf for InfluxDB v1? - How do I create a dashboard in Chronograf? - How do I use Grafana to visualize data stored in InfluxDB 3? - ai_input_placeholder: "Ask questions about Chronograf and InfluxDB" + ai_input_placeholder: 'Ask questions about Chronograf and InfluxDB' kapacitor: name: Kapacitor @@ -289,10 +313,10 @@ kapacitor: - How do I configure Kapacitor for InfluxDB v1? - How do I write a custom task for Kapacitor? - How do I create tasks using InfluxDB 3 Core? - ai_input_placeholder: "Ask questions about Kapacitor" + ai_input_placeholder: 'Ask questions about Kapacitor' enterprise_influxdb: - name: "InfluxDB Enterprise v1" + name: 'InfluxDB Enterprise v1' namespace: enterprise_influxdb menu_category: self-managed list_order: 5 @@ -308,16 +332,42 @@ enterprise_influxdb: Flux: required_params: ['URL', 'User', 'Password', 'Default database'] optional_params: [] - characteristics: ['Paid', 'Self-hosted', 'InfluxQL/Flux', 'Username/Password', 'Databases'] + characteristics: + ['Paid', 'Self-hosted', 'InfluxQL/Flux', 'Username/Password', 'Databases'] detection: ping_headers: x-influxdb-build: 'Enterprise' ai_sample_questions: - - What's my InfluxDB version? - - How can I configure InfluxDB Enterprise v1? - - How do I replicate data from OSS to InfluxDB Enterprise v1? - ai_input_placeholder: "Specify your version and product (\"Enterprise v1\", \"InfluxDB 3 Enterprise\", \"Core\") for better results" - ai_source_group_ids: "d809f67b-867d-4f17-95f0-c33dbadbf15f" + - What's my InfluxDB version? + - How can I configure InfluxDB Enterprise v1? + - How do I replicate data from OSS to InfluxDB Enterprise v1? + ai_input_placeholder: 'Specify your version and product ("Enterprise v1", "InfluxDB 3 Enterprise", "Core") for better results' + ai_source_group_ids: 'd809f67b-867d-4f17-95f0-c33dbadbf15f' + +influxdb_cloud1: + name: InfluxDB Cloud 1 + altname: InfluxCloud 1.x + namespace: influxcloud + menu_category: managed + versions: [v1] + list_order: 6 + latest: v1 + placeholder_host: cloud.influxdata.com + detector_config: + query_languages: + InfluxQL: + required_params: ['URL', 'Database', 'User', 'Password'] + optional_params: [] + characteristics: + ['Paid', 'Cloud', 'InfluxQL', 'Username/Password', 'Databases'] + detection: + url_contains: ['cloud.influxdata.com'] + ai_sample_questions: + - What's my InfluxDB version? + - How do I migrate from InfluxDB Cloud 1 to InfluxDB 3? + - Where can I find documentation for InfluxDB Cloud 1? + ai_input_placeholder: 'Specify your version and product ("InfluxDB Cloud 1", "Enterprise v1", "InfluxDB 3 Enterprise") for better results' + ai_source_group_ids: 'd809f67b-867d-4f17-95f0-c33dbadbf15f' flux: name: Flux @@ -330,5 +380,5 @@ flux: - How do I query with Flux? - How do I transform data with Flux? - How do I join data with Flux? - ai_input_placeholder: "Ask questions about Flux and InfluxDB" - ai_source_group_ids: "d809f67b-867d-4f17-95f0-c33dbadbf15f,3e905caa-dd6f-464b-abf9-c3880e09f128" + ai_input_placeholder: 'Ask questions about Flux and InfluxDB' + ai_source_group_ids: 'd809f67b-867d-4f17-95f0-c33dbadbf15f,3e905caa-dd6f-464b-abf9-c3880e09f128' diff --git a/layouts/partials/topnav/product-selector.html b/layouts/partials/topnav/product-selector.html index 0c9ffdc13..7f2271c20 100644 --- a/layouts/partials/topnav/product-selector.html +++ b/layouts/partials/topnav/product-selector.html @@ -28,16 +28,22 @@ Identify products by their product path. Dictionary schema: {{ $kapacitor := dict "kapacitor/v1" (slice "Kapacitor" "kapacitor") }} {{ $flux := dict "flux/v0" (slice "Flux" "flux") }} {{ $enterpriseInfluxdb := dict "enterprise_influxdb/v1" (slice "InfluxDB Enterprise" "enterprise_v1") }} +{{ $influxdbCloud1 := dict "influxcloud/v1" (slice $.Site.Data.products.influxdb_cloud1.name "v1") }} -{{ $productInfo := merge $influxdbOSSv1 $influxdbOSSv2 $influxdbCloud $influxdb3Core $influxdb3Enterprise $influxdb3CloudServerless $influxdb3CloudDedicated $influxdb3Clustered $telegraf $telegrafController $chronograf $kapacitor $influxdb3Explorer $flux $enterpriseInfluxdb }} +{{ $productInfo := merge $influxdbOSSv1 $influxdbOSSv2 $influxdbCloud $influxdb3Core $influxdb3Enterprise $influxdb3CloudServerless $influxdb3CloudDedicated $influxdb3Clustered $telegraf $telegrafController $chronograf $kapacitor $influxdb3Explorer $flux $enterpriseInfluxdb $influxdbCloud1 }} {{ define "productLink" }} + {{ $specialLink := "" }} + {{ if eq .productPath "influxcloud/v1" }} + {{ $specialLink = "/platform/#influxdb-cloud-1" }} + {{ end }} + {{ $defaultAltProductPage := $.context.GetPage ((replaceRE .pageRoot .productPath $.context.Page.RelPermalink) | replaceRE `\/$` "") }} {{ $defaultAltProductPageExists := gt (len $defaultAltProductPage.Title) 0 }} {{ $productName := index (index $.productInfo .productPath) 0 }} {{ $productAltLinkKey := index (index $.productInfo .productPath) 1 }} {{ $isCurrentProduct := in $.context.RelPermalink .productPath }} - {{ $link := cond .useRootProductLink (print "/" .productPath "/") (cond (isset .altLinks $productAltLinkKey) (index .altLinks $productAltLinkKey) (cond $defaultAltProductPageExists $defaultAltProductPage.RelPermalink (print "/" .productPath "/"))) }} + {{ $link := cond (ne $specialLink "") $specialLink (cond .useRootProductLink (print "/" .productPath "/") (cond (isset .altLinks $productAltLinkKey) (index .altLinks $productAltLinkKey) (cond $defaultAltProductPageExists $defaultAltProductPage.RelPermalink (print "/" .productPath "/")))) }} {{ $state := .state | default "" }} {{ index (index $.productInfo .productPath) 0 }}{{ if ne $state ""}} {{ $state }}{{ end }} {{ end }} @@ -77,6 +83,7 @@ Identify products by their product path. Dictionary schema:
  • {{ template "productLink" (merge (dict "productPath" "influxdb/v1") $templateDefaults) }}
  • {{ template "productLink" (merge (dict "productPath" "enterprise_influxdb/v1") $templateDefaults) }}
  • +
  • {{ template "productLink" (merge (dict "productPath" "influxcloud/v1") $templateDefaults) }}
diff --git a/layouts/shortcodes/api-endpoint.html b/layouts/shortcodes/api-endpoint.html index bb48c4f78..f266d8521 100644 --- a/layouts/shortcodes/api-endpoint.html +++ b/layouts/shortcodes/api-endpoint.html @@ -6,7 +6,7 @@ {{- $isOSS := ne (len (findRE `^v[0-9]` $currentVersion)) 0 -}} {{- $parsedProductKey := cond $isOSS "oss" $currentVersion -}} {{- $productKey := .Get "influxdb_host" | default $parsedProductKey -}} -{{- $productAliases := dict "oss" "influxdb" "cloud" "influxdb_cloud" "cloud-tsm" "influxdb_cloud" "core" "influxdb3_core" "enterprise" "influxdb3_enterprise" "cloud-serverless" "influxdb3_cloud_serverless" "serverless" "influxdb3_cloud_serverless" "cloud-dedicated" "influxdb3_cloud_dedicated" "dedicated" "influxdb3_cloud_dedicated" "clustered" "influxdb3_clustered" -}} +{{- $productAliases := dict "oss" "influxdb" "cloud" "influxdb_cloud" "cloud-tsm" "influxdb_cloud" "core" "influxdb3_core" "enterprise" "influxdb3_enterprise" "cloud-serverless" "influxdb3_cloud_serverless" "serverless" "influxdb3_cloud_serverless" "cloud-dedicated" "influxdb3_cloud_dedicated" "dedicated" "influxdb3_cloud_dedicated" "clustered" "influxdb3_clustered" "cloud1" "influxdb_cloud1" -}} {{- $productRef := index $productAliases $productKey -}} {{- $productData := dict -}} {{- with $productRef }}{{- $productData = index $.Site.Data.products . | default dict -}}{{- end -}} diff --git a/layouts/shortcodes/children.html b/layouts/shortcodes/children.html index 67d2921c3..0cc6f540a 100644 --- a/layouts/shortcodes/children.html +++ b/layouts/shortcodes/children.html @@ -48,7 +48,7 @@ {{- $currentVersion := index $productPathData (add $pathOffset 1) -}} {{- $isOSS := ne (len (findRE `^v[0-9]` $currentVersion)) 0 -}} {{- $productKey := cond $isOSS "oss" $currentVersion -}} - {{- $productAliases := dict "oss" "influxdb" "core" "influxdb3_core" "enterprise" "influxdb3_enterprise" "cloud" "influxdb_cloud" "cloud-tsm" "influxdb_cloud" "cloud-serverless" "influxdb3_cloud_serverless" "serverless" "influxdb3_cloud_serverless" "cloud-dedicated" "influxdb3_cloud_dedicated" "dedicated" "influxdb3_cloud_dedicated" "clustered" "influxdb3_clustered" -}} + {{- $productAliases := dict "oss" "influxdb" "core" "influxdb3_core" "enterprise" "influxdb3_enterprise" "cloud" "influxdb_cloud" "cloud-tsm" "influxdb_cloud" "cloud-serverless" "influxdb3_cloud_serverless" "serverless" "influxdb3_cloud_serverless" "cloud-dedicated" "influxdb3_cloud_dedicated" "dedicated" "influxdb3_cloud_dedicated" "clustered" "influxdb3_clustered" "cloud1" "influxdb_cloud1" -}} {{- $productRef := index $productAliases $productKey -}} {{- $productData := dict -}} {{- with $productRef }}{{- $productData = index $.Site.Data.products . | default dict -}}{{- end -}} diff --git a/layouts/shortcodes/influxdb-cloud1-note.html b/layouts/shortcodes/influxdb-cloud1-note.html new file mode 100644 index 000000000..cfec7201d --- /dev/null +++ b/layouts/shortcodes/influxdb-cloud1-note.html @@ -0,0 +1,41 @@ +{{ $_hugo_config := `{ "version": 1 }` }} {{ $type := .Get "type" | default +"enterprise" }} +
+

InfluxDB Cloud 1 users

+ {{ if eq $type "oss" }} +

+ InfluxDB Cloud 1 (InfluxCloud 1.x) is based on InfluxDB + Enterprise v1. Use the + Enterprise v1 documentation instead. +

+ + {{ else }} +

+ InfluxDB Cloud 1 (InfluxCloud 1.x) is based on InfluxDB + Enterprise v1. This is the correct documentation. +

+ + {{ end }} +
diff --git a/layouts/shortcodes/influxdb/cloud1-note.html b/layouts/shortcodes/influxdb/cloud1-note.html new file mode 100644 index 000000000..57dc9d131 --- /dev/null +++ b/layouts/shortcodes/influxdb/cloud1-note.html @@ -0,0 +1,42 @@ +{{ $_hugo_config := `{ "version": 1 }` }} +{{ $type := .Get "type" | default "enterprise" }} + +
+

InfluxDB Cloud 1 users

+ {{ if eq $type "oss" }} +

+ InfluxDB Cloud 1 (InfluxCloud 1.x) is based on InfluxDB + Enterprise v1. Use the + Enterprise v1 documentation instead. +

+ + {{ else }} +

+ InfluxDB Cloud 1 (InfluxCloud 1.x) is based on InfluxDB + Enterprise v1. This is the correct documentation. +

+ + {{ end }} +