* fix(influxdb3): Mark disabled field as required in processing engine trigger API specs
Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com>
* Add HTTP API examples to Processing Engine plugin documentation (#6789)
- Add disabled field and api-ref to API examples per review feedback
- Add api-ref to upload plugin endpoint and remove duplicate link sentence
- Convert {{% code-placeholders %}} shortcode to placeholders code block
attribute for cleaner syntax
- Add second argument to token-link shortcodes for admin tokens to
ensure consistent linking to /admin/tokens/admin/ path
- Follows PR 6789 review feedback for processing engine documentation
fix(influxdb3): update placeholder and token-link syntax in get-started
- Convert code-placeholders wrapper shortcodes to code block attributes
* fix(influxdb3): Fix broken trigger anchor links in plugin documentation
Rename "Set up a trigger" heading to "Create a trigger" and update
all internal anchor references to match.
---------
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>
* fix(influxdb3): source comments
* docs(influxdb3): fix plugin path handling and improve Get Started clarity
Fixes issues with plugin filename resolution and improves progressive
disclosure in the processing engine Get Started guide.
- Update `--plugin` flag to `--path` (current CLI syntax)
- Clarify plugin filename must be provided without relative/absolute paths
- Add note explaining path resolution relative to `--plugin-dir`
- Document single-file vs multi-file plugin path requirements
- Link to detailed multi-file plugin structure documentation
- Add "Before you begin" section listing required setup steps
- Add prerequisites to table of contents
- Improve progressive disclosure by front-loading essentials
- Update trigger type from "Data write" to "WAL rows" (consistent with `influxdb3 create trigger --help`) with WAL link
- Replace `--plugin` with `--path` in trigger creation example
- Fix syntax error in enable trigger example (missing backslash)
- Clarify plugin example as "data write (WAL) plugin"
- Update code comments for clarity and remove outdated notes
- Specify "wal_rows trigger specification" terminology
- Specify testing "process_writes (WAL) plugin" for clarity
- Reference multiple test commands, not just wal_plugin
- Add link to schedule_plugin test command
- Clarify that PLUGIN_FILENAME should be filename only
- Prevents path resolution errors users encountered
- Aligns documentation with current CLI behavior
- Improves Get Started guide readability and flow
- Reduces confusion about plugin file handling
Closes#588
* docs(influxdb3): Docker Compose optional plugin directory
- Added inline comments to Docker Compose examples: `# Optional: only
needed for processing engine plugins`
- Appears for both `--plugin-dir` flag and volume mount
- Helps users understand they can skip this if not using plugins
- Better progressive disclosure - users see it's optional without
needing separate explanation
* docs(influxdb3): Replace --plugin-filename with --path
- Uses `--path` for plugins, replacing deprecated `--plugin-filename`
- Replaces "Data write" with "WAL rows" to be consistent with CLI help
docs
* Update content/shared/influxdb3-get-started/processing-engine.md
* fix(deps): add missing yarn.lock updates for puppeteer
The puppeteer dependency was added to package.json in commit 784956a31
but yarn.lock was not updated, causing CI failures with --frozen-lockfile.
* chore(deps): upgrade puppeteer to 24.35.0
- Upgrade puppeteer from 23.11.1 to 24.35.0
- Fix deprecated page.waitForTimeout() - replaced with Promise/setTimeout
- Fix deprecated headless: 'new' - now just uses headless boolean
The 'new' headless mode is now the default in Puppeteer 24.
- 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
* 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
closesinfluxdata/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>
* Initial plan
* feat: add Windows environment variable instructions for INFLUXDB3_AUTH_TOKEN
Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com>
* refactor: update to new code-placeholders syntax
Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com>
* Separate env var and CLI option into distinct sections instead of nested tabs
Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com>
* Clarify that both auth methods are for CLI commands with parallel headings
Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com>
* fix(3ent/core): Set token env var in Windows, clean up structure
---------
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>
* 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>
* chore: Standard exclude comment format to denote flags, options, etc. that shouldn't be promoted in docs
* chore: exclude internal flags
* chore: Add docs:exclude comments for internal CLI flags, fix linting
- Note internal options that should be ignored by `docs audit` and authors.
- Remove character escaping from GitHub callouts and placeholders
Lint config changes:
- Add explicit exclude for content/**/*.md in lint-markdown-instructions
- Exclude all markdown files from Prettier formatting
Fixes issue where remark-lint was auto-formatting content files and
escaping special characters like [!Note] callouts and underscores.
* fix: cleanup escaping
* 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>
* chore: 3.7 update
* fix(influxdb3): influxdb3 3.7 release:
- Avoid use of "retention policy" except for the storage engine
- User guide: specific heading, active voice
- Use SOURCE
---------
Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
* 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.
- 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
* feat(influxdb3): Core/Enterprise: Upgrade instance or cluster:- Addresses recent internal requests for upgrade steps- Provide examples for Core or Enterprise single node (instance)- Provide steps recommended by Engineering and examples- Link from related pages
* Apply suggestion from @sanderson
Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>
* Apply suggestion from @sanderson
Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>
* Apply suggestion from @sanderson
Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>
* Apply suggestion from @sanderson
Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>
* Apply suggestion from @sanderson
Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>
* docs(enterprise): clarify catalog version constraints for v3.3.x to v3.4.x upgrade
- Specify that catalog modification constraint applies when upgrading from v3.3.x (or earlier) to v3.4.x
- Add troubleshooting section noting that different version transitions may have different constraints
- Direct users to check release notes for version-specific upgrade requirements
Resolves review comment from hiltontj about catalog version boundaries.
---------
Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>
* feat(influxdb3): Core and Ent performance tuning guide:Add an admin/performance-tuning/ page with specific workload and capacity configurations.Part of #6403.
* fix(influxdb3): product-specific link fragments for flags
* fix(influxdb3): enterprise-specific link fragments
* Apply suggestion from @jstirnaman
* fix(influxdb3): duplicate licensing and resource limits sections- Rem… (#6470)
* fix(influxdb3): duplicate licensing and resource limits sections- Remove duplicate licensing section- Resolve resource limits duplicates, merging details into the Resource limits section.
* fix(influxdb3): fix broken links and enterprise-only flags in config options
- Comment out TOC links to undocumented datafusion-runtime-* dev flags
- Wrap enterprise-only section references (#licensing, #resource-limits) in conditionals
- Fix num-datafusion-threads incorrectly marked as enterprise-only
- Move Resource Limits section heading outside enterprise wrapper
Resolves broken fragment links for both Core and Enterprise builds.
* feat(enterprise): add cluster management documentation (#6431)
Add comprehensive guide for managing InfluxDB 3 Enterprise clusters including:
- Node configuration and deployment
- Cluster initialization and scaling
- Node removal and replacement procedures
- Best practices for production deployments
* Fixes multiple influxdb3 config option issues:
- Fixed option placement (global vs serve options) in performance-tuning.md
- Fixed --datafusion-num-threads option name (was --num-datafusion-threads)
- Fixed --parquet-mem-cache-size option name and defaults for Core
- Commented out unreleased --compaction-row-limit option
- Added v3.0.0 breaking changes to release notes
- Updated config-options.md with correct defaults and value formats
All changes verified against InfluxDB v3.5.0 release binaries and git history.
* fix(influxdb3): config options in clustering.md
- Correctly place server options
- Comment out unreleased options
* docs(cli): fix global vs serve-specific flag documentation
- Remove --verbose from global flags (it's serve-specific)
- Document --num-io-threads as global-only flag
- Add clear examples showing correct flag positioning
- Update serve.md files with global flag usage notes
- Fix config-options.md to separate Core/Enterprise examples
Resolves incorrect CLI usage patterns that would cause errors.
Global flags must go before 'serve', serve-specific flags go after.
* docs(cli): remove Tokio runtime options from CLI index pages
- Remove detailed Tokio runtime options tables from CLI index pages
- Replace with simplified global options and link to config-options
- Add examples showing correct global flag positioning
- Fix --verbose usage to be serve-specific (after serve command)
- Add --num-io-threads example as global flag (before serve command)
These detailed options are now documented in config-options.md with
proper global vs serve-specific categorization.
- Adds /reference/internals/data-retention/ for data retention behavior and retention period details
- admin/databases and admin/tables:
- Adds examples for API and retention period
- Adds cautions and behavior notes for Core retention
- reference/cli/influxdb3: Adds usage examples and details
- Closes /influxdata/DAR/issues/548
- 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.
chore(ci): Replaced PR link validation workflow with new workflow from docs-tooling/link-checker/.github-workflows-link-check.yml
chore: organize .gitignore
test: add content to trigger link-checker workflow
This small change tests the pr-link-check.yml workflow
feat: update link-checker workflow and documentation
- Add production config with corrected User-Agent placement
- Remove old link validation actions (replaced by link-checker)
fix: update link-checker workflow configuration
- Update Node.js version to 20 for dependency compatibility
feat: use pre-built link-checker binary from docs-tooling releases
- Replace building from source with downloading from releases
- Use GitHub API to get latest release and binary
- Maintain same artifact structure for downstream job
fix: improve change detection in pr-link-check workflow
- Use GitHub API for reliable PR file detection
- Add debug output to show all changed files
- Fix conditional logic for when jobs should run
docs: update TESTING.md with binary distribution and automated GitHub Actions integration
- Document pre-built binary download as recommended installation method
- Explain automated PR link checking workflow for docs-v2
- Replace manual GitHub Actions example with automated integration details
- Remove exaggerated language and specify actual exclusion types
fix(ci): download link-checker binary from docs-v2 releases
- Change binary source from private docs-tooling to public docs-v2 releases
- Fixes GitHub Actions permission issues accessing private repos
- Binary is now stored as a release asset on docs-v2 itself
test: add test file with valid links to verify workflow passes
test: remove temporary test file for link checker workflow
The test file was only needed to verify the workflow functionality
and should not be part of the documentation.
docs: update TESTING.md to document docs-v2 binary distribution
- Change primary installation method to download from docs-v2 releases
- Explain that binary distribution enables reliable GitHub Actions access
- Update automated workflow description to reflect docs-v2 release usage
- Maintain build-from-source as alternative option
refactor(ci): combine workflow into single job for cleaner PR display
- Merge detect-changes, build-site, and download-link-checker into single job
- All setup steps now run conditionally within one job
- Cleaner PR display shows only 'Check links in affected files'
- Maintains all functionality with improved UX
fix(ci): exclude problematic URLs from link checking
- Add reddit.com exclusions (blocks bots)
- Add support.influxdata.com exclusion (SSL certificate issues in CI)
- Prevents false positive failures in automated link checking
- Updated /content/influxdb3/core/reference/cli/influxdb3/serve.md with 84 Core-compatible options
- Excluded 21 Enterprise-only options (like cluster-id, license-email, license-file, mode, compaction options, clustering options, etc.)
- All options now link to the Core configuration documentation
- Fixed the environment variables link to point to Core instead of Enterprise
2. Updated Enterprise serve.md Options Section
- Updated /content/influxdb3/enterprise/reference/cli/influxdb3/serve.md with all 105 configuration options
- Includes both Core and Enterprise-only options
- Maintains proper required option markers for node-id and cluster-id
- All options link to the Enterprise configuration documentation
3. Verified Content Consistency
- Core serve.md: Contains examples without cluster-id parameter (appropriate for Core)
- Enterprise serve.md: Contains examples with both node-id and cluster-id parameters, plus Enterprise-specific mode examples
- Both maintain consistent structure and troubleshooting sections appropriate to their respective products
- Environment variables sections correctly reference their respective configuration documentation
4. Allow Vale to accept "parquet" in lowercase when it appears in:
- Command-line options (e.g., --parquet-mem-cache-size)
- Hyphenated configuration names (e.g., parquet-mem-cache-prune-interval)
- Code blocks or inline code (e.g., `parquet`)
Key Changes Made:
- Core: Now includes 84 options (was 69), excluding Enterprise-only features
- Enterprise: Now includes all 105 options (was 78), comprehensive coverage
- Alphabetical ordering: Both option tables are now properly alphabetized
- New options added: Many previously missing options like buffer-mem-limit-mb, tcp-listener-file-path, telemetry-*, wal-replay-*, etc.
- Proper segregation: Core users no longer see Enterprise-only configuration options
- Vale allows Parquet or parquet in the appropriate context
- Add plugin library structure for Core and
Enterprise products
- Create shared content directory for plugin
documentation
- Port 12 plugin documentation files from
influxdb3_plugins repository
- Add GitHub repository links in related frontmatter
for all plugins
- Remove emoji metadata tags and clean up content
structure
- Implement standardized support sections with
product-specific links
- Reorganize plugins navigation with dedicated
library section
- Include 2 example plugins and 10 official
InfluxData plugins