Commit Graph

55 Commits (api-docs-uplift)

Author SHA1 Message Date
Jason Stirnaman e480b1c3e6 fix(api-docs): untrack generated API content pages
Remove generated cloud-serverless, cloud-dedicated, and clustered
API content from git tracking. Add management-api pattern to .gitignore.
2026-03-16 12:27:29 -05:00
Jason Stirnaman 76ee94e8ec fix(api-docs): simplify Cypress API reference tests
Remove fingerprint interception workaround and fake GTM stubs.
Replace back-link navigation test with sidebar link assertion.
2026-03-16 12:25:10 -05:00
Jason Stirnaman f5535c9d5c feat(api): Hugo-native API reference rendering
Hugo-native templates for API
reference documentation. Operations render as server-side HTML instead
of client-side Redoc, providing faster page loads, full SEO
indexability, and consistent styling.

Architecture:
- Tag-based navigation: operations grouped by OpenAPI tag, accessed
  via tag pages only (no individual operation URLs)
- Generation script auto-discovers products from .config.yml files,
  deriving Hugo paths and menu keys from directory structure
- Per-tag JSON/YAML chunks for fast Hugo template rendering
- Inline curl examples generated from OpenAPI specs at build time

Templates (layouts/api/, layouts/partials/api/):
- tag-renderer.html: renders all operations for a tag
- operation.html: individual operation with parameters, request body,
  responses, and schema rendering
- code-sample.html: curl examples with Ask AI integration
- section-children.html: tag listing on section index pages
- all-endpoints-list.html: all operations sorted by path

Generation (api-docs/scripts/generate-openapi-articles.ts):
- Auto-discovery from .config.yml replaces hardcoded productConfigs
- Each API section generates independently (no cross-spec merging)
- Frontmatter-driven template data (specDownloadPath, articleDataKey)
- Link transformation: /influxdb/version/ placeholders resolved to
  product-specific paths

Removed:
- Redoc renderer, JavaScript components, and CSS
- Shadow DOM test infrastructure (~160 lines)
- Operation page generation (dead generatePathPages function)
- mergeArticleData() and slugifyDisplayName()

Styles (assets/styles/layouts/_api-*.scss):
- 3-column layout: sidebar, content, sticky TOC
- Theme-aware code blocks for curl examples
- Method badges (GET/POST/PUT/DELETE) with color coding
- Collapsible schema sections with depth tracking

Tests (cypress/e2e/content/api-reference.cy.js):
- Tag page rendering with operation structure
- Download button verification per section
- All-endpoints page with operation cards
- Related links from x-related OpenAPI extension
- Code sample and Ask AI link validation
2026-03-15 22:17:33 -05:00
Copilot 8a6143d5d1
fix(vale): propagate Google.Units=NO to product-specific Vale configs (#6917)
* Initial plan

* fix(vale): add missing Google.Units=NO to product-specific .vale.ini files

Duration literals like 7d, 24h, 30d were being flagged as errors when
running Vale with product-specific configs because those configs were
missing Google.Units = NO. Also adds Vale.Terms = NO,
write-good.TooWordy = NO, and TokenIgnores to match the root .vale.ini.

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>
Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
2026-03-10 12:27:35 -05:00
Jason Stirnaman 8035366677
refactor: replace URL-parsing in shortcodes with cascade product data (#6883)
* chore: add .worktrees to gitignore

* refactor: replace URL-parsing in shortcodes with cascade product data

Replace duplicated URL-parsing logic across 28 shortcodes with Hugo's
cascade frontmatter. Each product section's _index.md now cascades
`product` (data key) and `version` (URL segment) to all descendants.

Key changes:
- Add cascade frontmatter to 15 product _index.md files
- Create layouts/partials/product/get-data.html shared partial
- Refactor 28 shortcodes to use the partial instead of parsing URLs
- Add version_label, limits, and distributed_architecture metadata
  to data/products.yml to eliminate hardcoded dicts in shortcodes
- Fix lefthook lint-markdown-instructions glob format (YAML array)
- Fix pre-existing Vale exclamation point errors in cloud and v2

* fix: prevent remark-lint from escaping Hugo template syntax in shortcodes

Lefthook's glob option only triggers whether a command runs — it does
not filter {staged_files}. This caused remark-lint to process .md
shortcode files in layouts/, escaping underscores, brackets, and
parentheses that are valid Hugo template syntax.

Add layouts/ exclusion to the existing content/ filter in the
lint-markdown-instructions run command. Also fix the 3 shortcode files
that were damaged by remark-lint in the previous commit.

* test: add E2E tests for cascade product shortcodes

Add Cypress tests validating all refactored shortcodes across 14
product/version combos (82 tests). Test expectations are derived
from products.yml at runtime via cy.task('getData').

Fix the product links test to iterate actual home page links
instead of all products.yml entries.

Create _test/shortcodes.md pages in each product section
exercising product-name, product-key, current-version,
influxdb/host, and InfluxDB3-specific shortcodes.

* test: expand E2E coverage to 27 of 28 cascade shortcodes

Add shortcode invocations to all 14 test pages and corresponding
Cypress assertions for version lookups, namespace URLs, product
name text, placeholder_host, version visibility, CTA links, and
site-level data.

Add shortcodes-real-pages.cy.js for 6 shortcodes that require real
page context (cli/mapped, children, flux/list-all-functions,
telegraf/plugins, html-diagram/sso-auth-flow, cli/influxd-flags).

Suppress Vale on test pages — they contain only shortcode syntax,
not prose.

163 tests total, all passing.

* refactor(test): rename _test dirs to __tests__ and add noindex

Rename test page directories from _test to __tests__ to align with
JS testing conventions. Add noindex: true to all 14 test page
frontmatter to prevent search engine indexing in production.
Update Cypress URL pattern to match new paths.
2026-02-27 09:46:57 -06:00
Copilot ba28e124b1
Add Documentation MCP server pages to chronograf, kapacitor, flux, and explorer (#6833)
* Initial plan

* feat: add Documentation MCP server pages to chronograf, kapacitor, flux, and explorer

Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com>

* fix: update MCP page descriptions to include product names

Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com>

* fix: resolve product-name shortcode for v1/v0 versioned products

The shortcode previously only checked the second URL path segment to
identify products, which works for InfluxDB 3 (/influxdb3/core/) but
fails for older products where the second segment is a version number
(/chronograf/v1/, /flux/v0/).

Add namespace extraction (first path segment) and conditional logic to
look up products by namespace when the version is v1 or v0. This fixes
empty product names in meta descriptions for Chronograf, Telegraf,
Kapacitor, Flux, and InfluxDB Enterprise v1.

* feat: relocate v2/cloud MCP pages and add alt_links for cross-product navigation

- Move MCP server pages from reference/ to tools/ for InfluxDB v2 and Cloud
- Add alt_links frontmatter to all MCP pages for cross-product navigation
- Use product-name shortcode in descriptions for consistency
- Convert code-placeholders shortcode to fenced code block attributes
- Update shared content to use version-agnostic URLs

* Add multi-assistant installation instructions for documentation MCP server (#6836)

* Initial plan

* feat(mcp): add installation instructions for multiple AI assistants

Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com>

* refactor(mcp): replace Cline and Windsurf with GitHub Copilot and OpenCode

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>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com>
Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
2026-02-18 14:20:26 -06:00
Jason Stirnaman b4a0eea0a3
feat: add InfluxDB documentation MCP server integration (#6830)
* chore(deps): update yarn dependencies

Run yarn to update lockfile with latest compatible versions.

* feat: add InfluxDB documentation MCP server integration

- Enable MCP widget in Ask AI (data-mcp-enabled, data-mcp-server-url)
- Restructure mcp-server.md with anchor TOC for database and docs MCP
- Add documentation MCP server page for products without database MCP:
  - cloud-serverless, clustered, v2, cloud (TSM), telegraf
  - Place in Reference section (or telegraf_v1_ref menu)
- Add shared content file for docs-only MCP server
- Add "Connect to documentation MCP" link in format-selector dropdown
- Add related MCP links to all get-started/setup pages

* fix: correct JSON syntax and product-aware MCP docs URL

- Fix JSON syntax errors in Cloud Dedicated config examples (= → :)
- Add missing comma in Docker args array for local server config
- Make format-selector MCP docs URL product-aware using Hugo path detection

* docs: add MCP pages for v1 products, fix menu, add screenshot

- Fix cloud-serverless identify-version menu parent to "Administer InfluxDB Cloud"
- Add MCP server pages for influxdb/v1 and enterprise_influxdb/v1 in Tools menu
- Update format-selector with v1 and enterprise_influxdb/v1 MCP docs paths
- Add MCP tool search screenshot showing search_influxdb_knowledge_sources

* Update content/influxdb3/cloud-serverless/get-started/setup.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update content/telegraf/v1/mcp-server.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-17 20:42:56 -06:00
Jason Stirnaman c97428b600
fix(influxdb3): correct Quix Streams guide for Cloud Dedicated (#6828)
* chore(deps): update yarn dependencies

Run yarn to update lockfile with latest compatible versions.

* fix(influxdb3): correct Quix Streams guide for Cloud Dedicated

Extract downsample-quix content to shared file and fix product-specific
terminology, links, and prerequisites for Cloud Dedicated and Clustered.

- Use "database" terminology for Cloud Dedicated/Clustered
- Remove Docker from prerequisites (not used in guide)
- Add alt_links for cross-product navigation
- Fix broken TOC anchor links
- Add links to admin pages for tokens and databases
- Remove incorrect /reference/regions link for Cloud Dedicated
- Add lint rules for deprecated code-placeholders and py fence

Closes #6825

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix(influxdb3): fix broken code blocks in Quix Streams guide

Code blocks inside show-in shortcodes were missing closing fences,
causing the markdown to render incorrectly. Added proper fence
boundaries and placeholder key documentation for each code section.

Also adds TODO to content-editing skill about improving automation
for code-placeholder-key workflow.

* Docs v2 docs v2 pr6828 (#6829)

* fix(influxdb): Rename to match other pages. Remove alt_links

* chore(deps): bump ESLint to 10.0.0

* Update content/shared/v3-process-data/downsample/quix.md

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-17 15:23:16 -06:00
Daniel Campbell fafc37543a
docs(chronograf): add instructions for use with InfluxDB3 products (#6730)
* docs(chronograf): add instructions for use with InfluxDB3 products

* docs(chronograf): add images and update text

* Claude/review pr 6730 pd m hs (#6732)

* fix(chronograf): address review feedback in PR #6730

- Reorganize InfluxDB connection options with nested structure
- Add expand-wrapper for optional management and database fields
- Format placeholders in CLI examples using docs placeholders command

Addresses @claude tasks in review comments:
- Comment 2688897045: Reorganize content sections
- Comment 2688946374: Wrap optional fields in expand-wrapper
- Comments 2688955219, 2688955604: Format placeholders

* fix(influxdb3): format placeholders in remaining chronograf CLI examples

Add placeholder syntax to CLI configuration examples across all InfluxDB 3 products:
- Cloud Serverless: API_TOKEN, BUCKET_NAME
- Clustered: DATABASE_NAME, DATABASE_TOKEN, MANAGEMENT_TOKEN
- Core: DATABASE_TOKEN
- Enterprise: DATABASE_NAME, DATABASE_TOKEN

Addresses @claude tasks in review comments:
- Comment 2688983661: cloud-serverless placeholders
- Comment 2688990379: clustered placeholders
- Comment 2688998186: core placeholders
- Enterprise file (not in review but follows same pattern)

---------

Co-authored-by: Claude <noreply@anthropic.com>

* Replace inline img tags with img-hd shortcode in Chronograf docs (#6731)

* Initial plan

* docs(chronograf): replace img tags with img-hd shortcode

Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com>

* docs(influxdb3): improve Chronograf prerequisites and add placeholder descriptions

- Replace 'running and accessible' with clearer prerequisite structure
- Add structured prerequisites matching cloud variants' pattern
- Add 'Replace the following' sections with placeholder descriptions
- Use token-link shortcode for consistent token references across products
- Fix code-placeholder-key shortcode usage

* fix(influxdb3): correct database token link paths in Chronograf placeholder descriptions

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com>
Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>

---------

Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com>
2026-01-15 13:24:09 -06:00
Jason Stirnaman b8418d9788
fix(shortcodes): latest-patch CLI version for cloud-serverless (#6655)
* fix(shortcodes): latest-patch CLI version for cloud-serverless

Add cloud-serverless to the condition that handles cloud products,
and use influxdb.latest directly for CLI version lookups.

Root cause: The shortcode only checked for "cloud" version when
deciding to use the influxdb CLI version. Cloud Serverless pages
have $product="influxdb3" which doesn't exist in products.yml,
causing $latestVersion to be empty.

Fix: Calculate $influxdbLatest directly from products.influxdb.latest
within the CLI block, ensuring cloud products always use the correct
lookup key (v2) for the influx CLI version.

Includes Cypress test covering v2, Cloud, and Cloud Serverless.

Closes #6646

* Restore latest-patch shortcode for cloud-serverless. Revert "hotfix: influxdb (v2) CLI version (#6644)"

This reverts commit 5f792bd47a.

* chore(link-checker): update configs for v1.3.0 severity classification (#6688)

Remove exclusions for sites that return 403/429 (bot protection) and
5xx (server errors) - these are now handled by severity classification:
- 403/401/429 → info (shown but don't fail CI)
- 5xx/timeout → warning (shown but don't fail CI)
- 404/410/DNS → error (fail CI)

Removed exclusions:
- GitHub, Slack, Reddit, StackOverflow
- Docker Hub, Grafana, Microsoft Learn
- Claude.ai, Dremio, Scarf, InfluxData support

Kept exclusions:
- Localhost/local network URLs
- Example/placeholder URLs
- CI-specific workarounds (canonical URLs, file fragments)

Added [severity] configuration section with default thresholds.
2026-01-02 12:47:12 -06:00
Jason Stirnaman 7ed3861031
fix(influxdb3): publish parameterized queries and add HTTP API examples (#6673)
- Fix broken link to parameterized queries in time-and-timezone.md
- Remove draft: true from Core and Enterprise InfluxQL parameterized queries
- Add HTTP API examples for Core/Enterprise using /api/v3/query_sql and
  /api/v3/query_influxql endpoints
- Simplify list_code_example frontmatter to use query-only format across
  all SQL and InfluxQL parameterized queries pages
- Fix api-endpoint shortcode arguments to use correct method, endpoint,
  and api-ref parameters

Note: PR preview URLs show broken /version/ links but they render
correctly in local Hugo testing. The link replacement logic in
layouts/partials/article/content.html processes these correctly.

Closes #6672
2025-12-27 15:01:20 -06:00
Jason Stirnaman 5f792bd47a
hotfix: influxdb (v2) CLI version (#6644)
- latest-patch shortcode doesn't work in cloud-serverless code samples
- reverted to hardcoded CLI version in shared file and Serverless-specific file
2025-12-17 15:13:02 -07:00
Jason Stirnaman b9e4035aea
docs(influxdb3): document duplicate point write ordering and workarounds (#6584)
* docs(influxdb3): document duplicate point write ordering and workarounds

Expand duplicate points documentation for Cloud Dedicated and Clustered
to address non-deterministic write ordering when duplicate points are
flushed together.

Changes:
- Add warning callout explaining duplicate point overwrites are non-deterministic
- Add recommended patterns section with append-only approaches
- Add SQL and InfluxQL query examples for getting latest state
- Add anti-patterns section with common mistakes to avoid
- Add retention guidance for last-value tables (Cloud Dedicated only)
- Add performance considerations for append-only patterns
- Add cross-links from schema-design and optimize-writes pages

closes influxdata/DAR#560

* Apply suggestions from code review

Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>

* Apply suggestion from @jstirnaman

* fix(influxdb3): broken links and aliases:

The link in the cloud-serverless schema-design page was pointing to /influxdb3/cloud-serverless/reference/line-protocol/#duplicate-points, but the actual file is located at /influxdb3/cloud-serverless/reference/syntax/line-protocol/
Core/Ent3 aliases were missing trailing slash, preventing navigating directly from other product line protocol docs

* chore: cleanup

---------

Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>
2025-12-12 17:02:14 -06:00
Jason Stirnaman ec70614a4e
docs(sql): add LAG examples for time-based value comparisons (#6577)
* chore(sql): add LAG examples for time-based value comparisons

Enhance window function documentation with practical examples for
calculating differences between current and previous values (e.g., 1h ago).

- Add 3 LAG examples to window functions reference with tested queries
- Create new 'Compare values' query guide covering common time-based
  comparison patterns (differences, percentage changes, exact intervals)
- Add guide frontmatter for all InfluxDB 3 products

All queries validated against InfluxDB 3 Core.

Refs: Kapa.ai conversation https://app.kapa.ai/720100f9-ce93-4305-88fd-5fcf71effad7/conversations/4536b79e-3930-4359-87f5-2ad9ccc1917d
Starting from: https://docs.influxdata.com/influxdb3/cloud-serverless/reference/sql/functions/window/

* chore(sql): add counter metrics examples to compare-values guide

Enhance time-based value comparisons with counter metrics patterns
using LAG and GREATEST to handle counter resets.

- Add counter metrics section with 3 examples (rate, cumulative, intervals)
- Include tested queries for non-negative differences and aggregation
- Document workarounds for Flux increase() and InfluxQL NON_NEGATIVE_DIFFERENCE()

All queries validated against InfluxDB 3 Core.

Refs: Kapa.ai conversation https://app.kapa.ai/720100f9-ce93-4305-88fd-5fcf71effad7/conversations/16b13679-0ced-4780-ab58-3d9cacb2d899
Starting from: https://docs.influxdata.com/influxdb3/enterprise/

* Update content/shared/influxdb3-query-guides/sql/compare-values.md

Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>

---------

Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>
2025-12-01 15:14:44 -06:00
Copilot e0d2a6941c
[WIP] Fix serverless links to unsupported system queries page (#6565)
* Initial plan

* Remove broken link to system-information in cloud-serverless troubleshoot.md

Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com>

* Fix grammatical error: change 'tools' to 'tool' (singular)

Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com>

* Update content/influxdb3/cloud-serverless/query-data/troubleshoot-and-optimize/troubleshoot.md

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com>
Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
2025-11-25 15:20:23 -06:00
Copilot 35f0155532
[WIP] Fix path issue with edit this page functionality (#6567)
* Initial plan

* Fix Edit this page link duplication

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
2025-11-25 15:12:17 -06:00
Jason Stirnaman 8ca4f9d2bb
Chore: update dependencies and fix frontmatter (#6556)
* chore(deps): update @vvago/vale to v3.12.0

Updates Vale style linter wrapper from v3.4.2 to v3.12.0.
This eliminates all dependency warnings related to deprecated
packages (fstream, rimraf, glob, inflight) in the Vale
dependency tree.

* fix(frontmatter): resolve frontmatter violations revealed by updates

Fixes frontmatter validation errors revealed after dependency updates:
- Remove duplicate 'related' and 'aliases' fields
- Fix invalid alias formatting (missing space after dash)
- Consolidate frontmatter structure to match schema requirements

Files updated:
- content/influxdb/v1/guides/query_data.md
- content/influxdb/v2/reference/cli/influx/auth/_index.md
- content/influxdb/v2/reference/cli/influx/bucket/_index.md
- content/influxdb/v2/reference/cli/influxd/recovery/user/_index.md
- content/influxdb3/cloud-dedicated/process-data/visualize/chronograf.md
- content/influxdb3/cloud-serverless/process-data/visualize/chronograf.md
- content/influxdb3/clustered/install/set-up-cluster/configure-cluster/directly.md
- content/influxdb3/clustered/process-data/visualize/chronograf.md
- content/platform/monitoring/influxdata-platform/monitoring-dashboards.md
2025-11-20 15:27:40 -06:00
Jason Stirnaman f084fe3a31
Ask AI group filters (#6529)
* feat(askai): add Kapa.ai source group filtering for InfluxDB v3

- Add ai_source_group_ids field to all InfluxDB v3 products in data/products.yml
- Add getProductSourceGroupIds() function to retrieve source group IDs from product data
- Enables filtered AI responses using Kapa source groups for documentation pages
- Follows existing pattern for dynamic product configuration
- Implement version-specific config support (__v1, __v2 suffixes)
- Append version hints to example questions for InfluxDB database products only
- Make example questions generic (remove product-specific names)
- Tools (Telegraf, Chronograf, Kapacitor, Flux, Explorer) display questions without version hints
- Pre-fills chat input with [version: /path/] for InfluxDB database products
- Users can easily edit or remove the pre-filled text
- Works for manual opens (Cmd+K) and programmatic opens
- Converts module to TypeScript

* refactor(ask-ai): change version format to 'My version: <product name>'

Use human-readable product names instead of URL paths for better UX.
Example: 'My version: InfluxDB 3 Core' instead of '[version: /influxdb3/core/]'

* fix(ask-ai): restore working Kapa.open() pre-fill implementation

- Replace textarea detection with direct Kapa.open() call
- Add Kapa preinitialization code
- Use click handler on .ask-ai-open button with capture phase
- Handle conversation reset event to re-fill version context
- Remove console logging for cleaner production code

* fix(ask-ai): remove parentheses from example questions for consistency

Make example question format match the pre-fill format:
- Before: 'question (My version: product)'
- After: 'question My version: product'

This ensures users don't think there's a difference between the two formats.

* fix(askai): add Explorer product mapping for Ask AI widget

- Add influxdb3_explorer mapping to getCurrentProductData()
- Add explorer context to getContext() function
- Ensures Explorer pages use correct ai_sample_questions from products.yml
- Reorder Explorer questions with 'install and run' first

This fixes the issue where Explorer Ask AI widget was showing wrong
example questions by properly loading the influxdb3_explorer config.

* test(page-context): add comprehensive e2e tests for product mappings

Add Cypress tests to validate page-context.js correctly identifies:
- Product context values for all InfluxDB products
- Product data from products.yml configuration
- Version information
- AI sample questions and source group IDs
- Placeholder host values

Tests cover:
- InfluxDB 3 (Core, Enterprise, Explorer, Cloud variants, Clustered)
- InfluxDB v2 and v1
- InfluxDB Cloud (TSM)
- Tools (Telegraf, Chronograf, Kapacitor, Flux)

Validates the fix for Explorer Ask AI showing correct example questions.

Related to #jts-askai-group-filters branch work.

* feat(test): add --no-mapping flag to e2e test runner

Allow running functionality tests without requiring content file paths.
The --no-mapping flag skips content-to-URL mapping, making it easier
to run tests that don't depend on specific content files.

Usage:
  # With content mapping (for content-specific tests)
  node run-e2e-specs.js content/influxdb3/core/_index.md

  # Without content mapping (for functionality tests)
  node run-e2e-specs.js --spec cypress/e2e/page-context.cy.js --no-mapping

Benefits:
- Simplifies running functionality tests like page-context.cy.js
- Reduces test startup time by skipping unnecessary file mapping
- Makes test commands clearer about their purpose

The page-context test was updated to work correctly with this flag.

* deps: update caniuse and related hook files

* test: Add a `--no-mapping` flag to run tests without specific content files (i.e., test contains all the URLs it needs)

* chore(ask-ai): Format example questions

* test(page-context): add comprehensive e2e tests for all products in products.yml

- Expanded test suite from 6 to 27 tests covering all products
- Added tests for InfluxDB 3 products (Explorer, Core, Enterprise, Cloud Serverless, Cloud Dedicated, Clustered)
- Added tests for InfluxDB v2 and Cloud (TSM)
- Added tests for InfluxDB v1 and Enterprise v1
- Added tests for other products (Telegraf, Chronograf, Kapacitor, Flux)
- Validates page mappings in page-context.js
- Validates AI sample questions configuration in products.yml
- All 27 tests passing

* fix(page-context): correct enterprise_influxdb URL pattern matching

- Changed pattern from /enterprise_v1/ to /enterprise_influxdb/
- Fixes Ask AI example questions not showing correctly for Enterprise v1
- Pattern now matches actual URL structure /enterprise_influxdb/v1/
- All 27 e2e tests passing

* test(page-context): add UI validation for Ask AI widget configuration

- Added 4 tests checking Kapa widget script data attributes
- Tests verify data-modal-example-questions contains correct product-specific questions
- Validates Explorer, Core, Enterprise, and Enterprise v1 configurations
- All 31 tests passing (27 existing + 4 new UI tests)

* feat(ask-ai): add help in Ask AI widget placeholder

- InfluxDB placeholder recommends specifying product and version
- Fix page-context.js to use products.influxdb_cloud instead of products.cloud
- Add UI tests verifying version-specific naming in Kapa widget script tags

* feat(ask-ai): Tailors placeholder for each version/product. Disables "Viewing <product>" in disclaimer note.
2025-11-18 16:43:02 -06:00
Jason Stirnaman 936913c3cb
refactor(influxdb3): consolidate ODBC content into Power BI documentation (#6546)
- Migrate comprehensive ODBC driver installation instructions to Power BI guide
  - Add Windows (PowerShell and Manual) installation steps with verification
  - Add macOS and Linux installation steps with configuration details
  - Include platform-specific verification procedures
- Enhance Power BI troubleshooting section with ODBC-specific guidance
  - Add driver not found troubleshooting for all platforms
  - Expand connection, authentication, and query error troubleshooting
  - Add query performance optimization recommendations
- Restructure Power BI documentation for clarity
  - Elevate ODBC driver installation to top-level section
  - Add explicit sequencing: install driver before connector
  - Improve section flow and subheading descriptiveness
- Remove standalone ODBC documentation pages
  - Delete shared ODBC guide and product-specific ODBC pages
  - Add aliases in Power BI frontmatter to redirect old ODBC URLs
- Apply changes across all InfluxDB 3 products:
  core, enterprise, cloud-dedicated, cloud-serverless, clustered
2025-11-17 22:28:46 -05:00
Jason Stirnaman 61269f3823
fix(influxdb3): (#6479)
- malformed link
- update broken link fragements
- link to plugin docs at /telegraf instead of GitHub\
- Remove language fragments from tabs
2025-10-22 00:50:02 -05:00
Jason Stirnaman 7e5b1a66b7 Add visualize-data aliases for chronograf. Fix Grafana token conditional (don't use whitespace in show-in conditional expression) 2025-10-06 20:24:30 -05:00
Jason Stirnaman 6ee8c6bda9 docs(visualize): add visualize-data aliases consistent with core and enterprise
- Add /influxdb3/<version>/visualize-data/<tool>/ aliases to visualize files
- Ensures backward compatibility across cloud-serverless, cloud-dedicated, and clustered
- Matches URL structure used in core and enterprise versions
- Affects: grafana, superset, and tableau documentation
2025-10-06 20:12:41 -05:00
Jason Stirnaman 96c5fa3a72 feat(influxdb3): add ODBC and Power BI documentation with product-specific examples
- Add ODBC driver installation and configuration docs
- Add Power BI Desktop custom connector setup docs
- Configure host, port, and token conditionals for all InfluxDB 3 products
- Set frontmatter with proper metadata and related content

The shared content files (content/shared/influxdb3-query-guides/execute-queries/odbc.md
and content/shared/influxdb3-visualize/powerbi.md) contain product-specific conditionals
for server URLs, ports, and tokens. Each product version sources these shared files.

Next steps: Edit the content/shared files to update any remaining product-specific
instructions in the step-by-step procedures if needed. Server, port, and token
conditionals are already configured throughout the documentation.
2025-10-06 17:43:54 -05:00
Scott Anderson c3468f667d
feat(sample-data): add new wind sample dataset (#6440)
* feat(sample-data): add new wind sample dataset

* Apply suggestions from code review

Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>

* fix(js): fix syntax error and lint

---------

Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
2025-10-06 12:08:35 -06:00
Jason Stirnaman e8350a3995 chore(v3-dist): Consolidate to shared Grafana guide
- Fix broken link to fragment
2025-09-10 16:39:27 -05:00
mdevy-influxdata fed9e49f04
Update grafana.md
typo
2025-09-09 17:21:38 -07:00
Jason Stirnaman ddb36d1a39 Closes DAR #535 - Adds Clustered reference/internals/durability/\
- Migrates Cloud Dedicated durability page to shared for Dedicated and Clustered.\
- Adds diagram (also used in storage-engine) to illustrate data flow.
- Fixes typo in Serverless
2025-09-09 14:03:44 -05:00
Scott Anderson 8f729f9500
chore(sql): Update SQL reference with additional functions (#6359)
* feat(sql): WIP added struct and map functions

* chore(sql): update sql reference with new functions

* chore(sql): migrate sql reference function updates to other projects

* chore(sql): readd deleted cache functions pages

* Update content/shared/sql-reference/functions/array.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix(sql): fixed broken anchor links

* fix(sql): fixed typos

* Apply suggestions from code review

Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
2025-09-05 08:26:38 -06:00
Scott Anderson d49d69ba26
fix: add note to distributed about duplicate points on flush (#6330) 2025-08-22 11:08:48 -06:00
Jason Stirnaman a7e8fe8625 fix(influxdb3): address Reid's review feedback on query timeout best practices
Address reidkaufmann's review comments on query timeout documentation:

Technical accuracy fixes:
- Replace "node/nodes" terminology with "querier/queriers" throughout
- Remove AI hallucination: "query result caching" (doesn't exist in IOx)
- Replace with proper cache recommendations for Enterprise/Core users
- Remove vague "background maintenance" references
- Add specific compaction performance variation cause
- Fix "round-robin or load-balanced" → "round-robin query routing"

Content improvements:
- Enhance checkout line analogy with explanation of noisy neighbors
- Add experimental query guidance for reducing impact on other users
- Replace unactionable solutions with customer-controllable actions
- Restore missing flexibility recommendations and link to the code sample

Technical updates:
- Update code blocks to use new placeholder syntax
- Add related links between cache documentation and timeout strategies
- Fix numbering consistency in Solutions sections
2025-08-12 16:10:28 -05:00
Jason Stirnaman af06fd8743
Merge branch 'master' into jts-dar-526-clustered-timeouts 2025-08-12 12:57:11 -05:00
Jason Stirnaman c362792f3f feat(influxdb3): add 'partial writes' tag to distributed troubleshooting pages
Add 'partial writes' tag to frontmatter for better content discoverability:
- content/influxdb3/cloud-dedicated/write-data/troubleshoot.md
- content/influxdb3/cloud-serverless/write-data/troubleshoot.md
- content/influxdb3/clustered/write-data/troubleshoot.md

This helps users find information about partial write scenarios across InfluxDB 3 distributed editions.
2025-08-11 15:55:58 -05:00
Jason Stirnaman eb3dc0b0ff improve and enhance write data troubleshooting for influxdb3 distributed
- Update clustered, cloud-dedicated, and cloud-serverless to share enhanced troubleshooting content
- Add comprehensive error capturing instructions with curl examples
- Include client library debug logging samples (Python, Go, Java, JavaScript)
- Provide detailed guidelines for reporting persistent write issues to support
- Split HTTP status code tables by product type for clarity

This standardizes troubleshooting across all InfluxDB 3 distributed editions.

Closes influxdata/DAR#522
2025-08-11 15:51:10 -05:00
Jason Stirnaman e506402aa1 chore(influxdb3-distrib): Recommend best practices for adjusting client timeouts when querying InfluxDB 3 distributed.
- Closes influxdata/dar#526
- Adds Python client examples
- Adds influxctl examples

Co-authored-by: Reid Kaufmann
2025-08-11 12:11:20 -05:00
Jason Stirnaman e92c82129a fix(api): curl --user syntax 2025-07-08 00:31:49 -05:00
Jason Stirnaman 538f9e1a02 fix(serverless): curl -u syntax 2025-07-08 00:03:18 -05:00
Jason Stirnaman 11b53b3e54 fix(serverless): placeholder 2025-07-07 23:52:26 -05:00
Jason Stirnaman 48380fd168 fix(influxdb3): Auth schemes in 3core, 3ent, cloud-dedicated, and clustered:Explains compatibility for different schemasProvides more auth examplesFills missing schemes in API refFixes placeholdersShows that username is optional 2025-07-07 23:10:37 -05:00
Jason Stirnaman 36cfabae9c fix: broken links
- Flux links in Kapacitor and others: flux/v0.x/ -> flux/v0/
- influxdb/v2%2E0/ -> influxdb/v2/
2025-06-04 17:05:46 -05:00
Jason Stirnaman 2169935012 fix(influxdb3): replace {{< product-name in headers with {{% to avoid the hahahugo anchor link bug.
- Still need to track down the root cause
2025-05-29 00:47:33 -05:00
Scott Anderson 5435140582 hotfix: fix nav orphans and sorting, update clustered token delete to revoke 2025-05-13 09:25:11 -06:00
Jason Stirnaman 88fc48888c hotfix(v2): broken downloaded link, replace latest-cli shortcode with latest-patch 2025-04-30 10:48:15 -05:00
Jason Stirnaman 004592a7b5 chore(influxdb3): Cloud Serverless: use shared glossary file 2025-04-15 15:16:55 -05:00
Jason Stirnaman 7c076cc38f chore(monolith): Core and Enterprise: Add client library references, revise recommendations
chore(monolith): Recommend API over CLI for writing data (Closes #5957). Fix client library references
fix(monolith): Add tool comparison table (linked from client libs), fix and cleanup write data sections, link to client libraries.
fix(monolith): Remove redundant content.

Closes #5957
2025-04-09 19:53:48 -05:00
Scott Anderson ce04b19f1e
Overhaul canonical pages (#5955)
* overhaul how canonical pages are set

* updated canonical template comment
2025-04-03 12:43:17 -06:00
Scott Anderson 1522e734b9
Update shared content usage in v2 docs and more (#5953)
* replaced all oss- and cloud-only shortcodes

* removed duplicate oss calls and replaced with shared source

* base changes for shared v2 content

* restored shared grafana content

* removed frontmatter from shared v2 content

* WIP fixing lists with show-in shortcode

* fix lists that use show-in shortcode

* updated all v2 files to remove duplicate-oss and use source sharing

* update prepend and append frontmatter to just use string input

* fixed broken menu keys
2025-04-02 15:54:32 -06:00
Scott Anderson 8cada04c55
updated all notes and warnings in influxdb3 to use gh alert syntax (#5890) 2025-03-13 17:02:04 -06:00
Scott Anderson 4941aec730
Updates SQL reference (#5886)
* sql reference updates

* updated emphasis markers to pass lint
2025-03-12 09:21:42 -06:00
Jason Stirnaman b3bb9c40f1 feat(api): InfluxDB3 Core API reference, API fixes, and e2e tests
- Adds InfluxDB 3 Core API reference
- Updates scripts
- Removes non-valid info.summary field from specs, replaces with description in metadata
- Simplifies frontmatter generation for HTML template
- Reorg of file structure to mirror the content structure.
- Moves OSS v2 into v2/v2/ref.yml to follow the same pattern as others
- Replaces isDefault API config field with specific aliases.
- Misc. fixes.
- Remove generated HTML files.
2025-02-25 17:10:09 -06:00
Scott Anderson 0e7d23dbac add sql window functions and new shortcodes 2025-02-21 14:11:32 -07:00