Commit Graph

9799 Commits (74c33e9483c4a5f1acdbb321e395b982b670dec8)

Author SHA1 Message Date
Jason Stirnaman 74c33e9483
fix(ci): add path offset for PR preview subdirectory baseURL (#6662)
When PR preview builds use a subdirectory baseURL like
/docs-v2/pr-preview/pr-XXXX/, shortcodes that parse .RelPermalink
to detect product context fail because the path has extra segments.

This fix:
- Adds config/pr-preview/params.yml with prPreviewPathOffset: 3
- Updates workflow to use -e pr-preview environment
- Updates api-endpoint, influxdb/host, and children shortcodes to
  use the offset when indexing path segments
- Adds nil-safety with default fallback for placeholder_host

Normal builds are unaffected (offset defaults to 0).
2025-12-22 10:03:27 -06:00
Jason Stirnaman 975132d2b9
docs(telegraf): add Helm chart links and ToC updates (#6632)
* docs(telegraf): add Helm chart links and ToC updates

Add Kubernetes/Helm deployment section with links to:
- telegraf: single instance deployment
- telegraf-ds: DaemonSet deployment
- telegraf-operator: operator-based management

Also add missing ToC links for Kubernetes and configuration sections.

* chore(telegraf): revise install intro and description
2025-12-22 09:34:40 -06:00
Jason Stirnaman 61a88db39b
fix(ci): set baseURL for PR preview subdirectory deployment (#6658)
* refactor(ci): improve PR preview with products.yml and index page

- Load product prefixes from data/products.yml (single source of truth)
- Build regex pattern dynamically from loaded namespaces
- Fix CSS copying: Hugo outputs fingerprinted CSS at root level
- Generate index.html with clickable links to preview pages
- Add test for influxdb3_explorer namespace

This keeps the URL parser in sync as new products are added and
provides a better preview experience with navigable links.

* fix(ci): set baseURL for preview subdirectory deployment

Hugo generates absolute paths for fingerprinted assets based on baseURL.
When deploying to GitHub Pages subdirectory (pr-preview/pr-XXXX/), assets
were incorrectly resolving to the root instead of the preview path.

This sets --baseURL to the correct preview URL so all asset paths work.
2025-12-19 18:31:37 -06:00
Jason Stirnaman e03e7874fc
refactor(ci): improve PR preview with products.yml and index page (#6656)
- Load product prefixes from data/products.yml (single source of truth)
- Build regex pattern dynamically from loaded namespaces
- Fix CSS copying: Hugo outputs fingerprinted CSS at root level
- Generate index.html with clickable links to preview pages
- Add test for influxdb3_explorer namespace

This keeps the URL parser in sync as new products are added and
provides a better preview experience with navigable links.
2025-12-19 12:12:20 -06:00
Jamie Strandboge 56bdda83aa
fix: add a few missing DEB/RPM instructions for license activation; shell source is for quick install (#6652)
* fix: add a few missing DEB/RPM instructions for license activation

* fix: sourcing shell config only needed with quick installs

* chore: address review feedback from Jason
2025-12-18 17:05:34 -06:00
Jamie Strandboge 50397f2dc4
chore: update install and license info for DEB/RPM (#6650)
* fix: remove a couple of mis-merges and clarify DEB/RPM is non-Docker

* chore: update install and license info for DEB/RPM

* chore: incorporate formatting and style feedback from Jason

* fix(influxdb3): Install: ToC and merge cleanup

---------

Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
2025-12-18 15:24:40 -06:00
Jason Stirnaman e203482b62
feat(ci): add PR preview system for GitHub Pages (#6636)
* docs(ci): add PR preview system design

Document the design for GitHub Pages PR previews including:
- Selective deployment of changed pages only
- Reuse of existing content-utils.js change detection
- URL parsing from PR descriptions for layout/asset changes
- Automatic cleanup on PR close
- Storage budget management

* docs(ci): add PR preview implementation plan

Detailed task-by-task implementation plan including:
- 8 tasks with complete code and exact file paths
- Reuses existing content-utils.js for change detection
- Scripts for URL parsing, change detection, file staging
- Main workflow and cleanup workflow
- Setup documentation and testing steps

* feat(ci): add PR URL parser for preview page detection

* fix(ci): harden PR URL parser against malicious input

- Add path validation to reject path traversal attacks (..)
- Add validation to reject HTML/script injection attempts
- Add validation to reject URL-encoded characters
- Update regex to capture markdown link paths: [text](/path/)
- Add comprehensive test suite with 27 security and functionality tests

Security improvements:
- Reject paths containing '..' to prevent directory traversal
- Reject paths with suspicious characters: <, >, |, {, }, `, etc.
- Reject URL-encoded characters to prevent encoding attacks
- Validate all paths against known product prefixes

Functionality improvements:
- Support markdown link syntax: [text](/influxdb3/core/)
- Support reference-style markdown links
- Maintain existing support for production URLs, localhost URLs, and relative paths

* feat(ci): add change detection script for PR previews

* fix(ci): remove unused import from detect-preview-pages.js

* feat(ci): add preview file staging script for selective deployment

* fix(ci): add input validation to preview file staging script

- Add path traversal validation to urlToHtmlPath() to reject paths containing '..'
- Add array validation at start of preparePreviewFiles() with clear error message
- Fix copiedCount to only increment when safeCopy() actually succeeds
- Add return value to copyPage() to track success/failure

Addresses security vulnerabilities and improves accuracy of preview stats.

* feat(ci): add preview comment manager for sticky PR comments

* fix(ci): sanitize user input in preview comments to prevent XSS

* feat(ci): add PR preview workflow for GitHub Pages deployment

* fix(ci): correct environment variables and checkout in PR preview workflow

* feat(ci): add weekly stale preview cleanup workflow

* docs(ci): add PR preview setup guide

* Delete docs/plans/2025-12-16-pr-preview-design.md

* Delete docs/plans/2025-12-16-pr-preview-implementation.md

* fix(ci): add input validation for PR preview security

- Add single quote to rejected characters in URL path validation
  to prevent JavaScript injection in workflow string interpolation
- Add BASE_REF validation regex to prevent command injection,
  allowing slashes for feature branches (e.g., feature/new-auth)
- Add PR_NUM numeric validation in cleanup workflow
- Add tests for single quote handling and BASE_REF validation
2025-12-18 13:44:14 -06:00
Jason Stirnaman b2efc05a87
influxdb3 security cleanup (#6649)
* hotfix(influxdb3): fix duplicate menu entry for Enterprise security page

Change menu key from influxdb3_core to influxdb3_enterprise.

* chore(influxdb3) Security: style and cleanup: intro, requirements, callouts
2025-12-18 11:19:09 -06:00
Jason Stirnaman ea19894c79
hotfix(influxdb3): fix duplicate menu entry for Enterprise security page (#6648)
Change menu key from influxdb3_core to influxdb3_enterprise.
2025-12-18 10:06:36 -06:00
Jason Stirnaman 2f5af3c54c
docs(influxdb3): release documentation for Core and Enterprise v3.8.0 (#6647)
* docs(influxdb3): release documentation for Core and Enterprise v3.8.0

- Update latest_patch to 3.8.0 in products.yml
- Add placeholder release notes for v3.8.0
- Update site notification for v3.8.0 release

* chore: add 3.8 release notes (#6638)

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

* feat(influxdb3): update install for DEB/RPM and add admin/security (#6643)

* feat(influxdb3): add shared/influxdb3-admin/security.md

* feat(influxdb3): update install for DEB/RPM

* chore: fix hard-coded 'enterprise' in influxdb3 install

* Update content/shared/influxdb3/install.md

Love it!

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

* Update content/shared/influxdb3/install.md

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

* Update content/shared/influxdb3/install.md

* Update content/shared/influxdb3/install.md

* Update content/shared/influxdb3/install.md

* Update content/shared/influxdb3/install.md

* Update content/shared/influxdb3/install.md

---------

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

* Update content/shared/influxdb3/install.md

* chore: add influxdb 3.8 notification (#6645)

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

---------

Co-authored-by: peterbarnett03 <peter.barnett03@gmail.com>
Co-authored-by: Jamie Strandboge <jamie@influxdata.com>
Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>
2025-12-18 09:54:25 -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 5750df847c
hotfix: Revert latest_cli version from 2.8.0 to 2.7.5 (#6642)
Fix broken download links. Revert mistakenly updated CLI version.
2025-12-17 15:39:14 -06:00
Jason Stirnaman 2194f3b6a9
docs(telegraf): add template serializer documentation (#6634)
Add missing documentation for the template output data format
(serializer) that allows formatting metrics using custom Go templates.

Includes configuration examples, template method reference,
batch mode usage, and Sprig function support.

closes influxdata/docs-v2#5522
2025-12-16 21:08:54 -06:00
Jason Stirnaman abbc4e8c50
fix(influxdb3): add show_deleted parameter for listing databases (#6631)
Add the show_deleted query parameter to the list databases endpoint
in the Enterprise API spec. This parameter allows users to include
soft-deleted databases in the response.

closes #6610
2025-12-16 14:28:35 -06:00
Jason Stirnaman 87083291f5
fix(influxdb3): add trigger settings and related API parameters (#6630)
Add trigger configuration and cluster targeting parameters to API specs:

Core:
- TriggerSettings schema (run_async, error_behavior)
- trigger_settings field in ProcessingEngineTriggerRequest (required)
- Updated all trigger creation examples

Enterprise:
- TriggerSettings schema (run_async, error_behavior)
- ApiNodeSpec schema for cluster node targeting
- trigger_settings and node_spec fields in ProcessingEngineTriggerRequest
- node_spec field in cache creation requests (DistinctCache, LastCache)
- force parameter description for trigger deletion
- Request body schemas for plugin test/update endpoints:
  - WALPluginTestRequest
  - SchedulePluginTestRequest
  - PluginFileRequest
  - PluginDirectoryRequest
  - PluginFileEntry
- Updated all trigger creation examples

closes #6610
2025-12-16 13:31:56 -06:00
Copilot db6a96fc39
Fix broken fragment link to #operator-token (#6609)
* Initial plan

* Change token type headings from h4 to h3 to fix fragment detection

Changed heading levels for Operator token, All Access token, and Read/Write token from level 4 to level 3. This ensures better compatibility with link checkers that may have issues detecting fragments in h4 headings.

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

* fix(v2): Clarify operator token auto- vs manual- generation

---------

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-12-16 13:04:34 -06:00
Jason Stirnaman c681491423
fix(influxdb3): add retention_period to CreateDatabaseRequest (#6629)
Add the undocumented retention_period parameter to the database
creation API for InfluxDB 3 Core.

closes #6610
2025-12-15 13:20:44 -06:00
Copilot 7a1ceb439f
Configure GitHub Copilot instructions and navigation system (#6628)
* Initial plan

* feat: enhance Copilot instructions with style guidelines and navigation

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

* fix: correct .claude/agents link in INSTRUCTIONS.md

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

* refactor: remove duplication and app-specific references from instructions

- Simplified INSTRUCTIONS.md from 118 to 76 lines by removing duplicate content
- Changed "Claude Desktop app" to "Claude with MCP" throughout
- Removed file pattern table (already in copilot-instructions.md)
- Removed specialist agents table (already in copilot-instructions.md)
- Removed general documentation table (already in copilot-instructions.md)
- INSTRUCTIONS.md now serves as simple navigation guide without duplication

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

* Update README.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-12-15 12:43:34 -06:00
Copilot 0ba60f7d69
Add v1.12.2 limitation callout for PAST LIMIT and FUTURE LIMIT (#6607)
* Initial plan

* Add v1.12.2 FUTURE LIMIT and PAST LIMIT callouts

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

* fix(v1): Remove patch from Enterprise v1 name

* fix(ent1): Remove version from `PAST LIMIT` and `FUTURE LIMIT` callout

---------

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-12-15 12:31:56 -06:00
Copilot 5402a0a356
Document pprof-auth-enabled config option in Enterprise v1 (#6588)
* Initial plan

* Add pprof-auth-enabled configuration option to Enterprise v1 data nodes

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>
2025-12-15 09:37:12 -06:00
Jason Stirnaman 0856e60e55
Fix link checker for fragments (#6626)
* Apply suggestions from code review
Apply to cloud-serverless

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

* 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

* fix(ci): skip fragment validation for local file URLs in link-checker

Workaround for link-checker Hugo pretty URL bug where /path/to/page#fragment
is converted to file:///path/to/page#fragment instead of
file:///path/to/page/index.html#fragment.

All 60 'broken' fragments reported by CI actually exist in the HTML files.

---------

Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>
2025-12-15 09:24:43 -06:00
WeblWabl 4cecc27be2
feat: Add v2.8.0 release notes (#6623)
* feat: Add v2.8.0 release notes

* feat: add token hashing doc

* feat: Update content/influxdb/v2/reference/release-notes/influxdb.md

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

* feat: Update content/influxdb/v2/reference/release-notes/influxdb.md

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

* feat: Update content/influxdb/v2/reference/release-notes/influxdb.md

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

* feat: Update content/influxdb/v2/reference/release-notes/influxdb.md

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

* feat: Update content/influxdb/v2/reference/release-notes/influxdb.md

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

* feat: Update content/influxdb/v2/reference/release-notes/influxdb.md

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

* feat: Update content/influxdb/v2/reference/release-notes/influxdb.md

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

* feat: Update content/influxdb/v2/reference/release-notes/influxdb.md

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

* feat: Update content/influxdb/v2/reference/release-notes/influxdb.md

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

* feat: Update content/influxdb/v2/reference/release-notes/influxdb.md

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

* feat: Update content/influxdb/v2/reference/release-notes/influxdb.md

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

* feat: Update content/influxdb/v2/reference/release-notes/influxdb.md

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

* chore(influxdbv2): Revise release notes and bump version to 2.8.0.

---------

Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
2025-12-12 17:07:48 -06: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
Dustin Eaton 122a28b84e
Merge pull request #6616 from influxdata/fix/remove-extra-code-block-syntax-from-influxctl-release-notes
chore: remove extra code block syntax from influxctl release notes
2025-12-12 12:14:33 -06:00
Dustin Eaton df6aa0abc0 chore: remove extra code block syntax from influxctl release notes 2025-12-11 13:17:08 -06:00
Jason Stirnaman fb2f1867de
feat(claude): add docs-cli-workflow skill and update hugo-template-dev (#6614)
* chore(claude): Add claude skill for Hugo development/testing workflow. Split ui-dev subagent into hugo-, ts-, and testing-specific agents.

* chore(claude): Update ui-testing agent and hugo-template-dev skill

* docs(plans): add docs-cli-workflow skill design

Design for a Claude Code skill that guides when to use
docs create/edit CLI tools versus direct file editing.

* feat(claude): add docs-cli-workflow skill

Guides Claude to suggest docs create/edit CLI tools when appropriate:
- Keyword-triggered activation (new page, edit URL, etc.)
- Decision matrix for create vs edit vs direct editing
- Suggestion templates with user confirmation
- Edge case handling

Addresses under-utilization of CLI scaffolding tools.

* chore(claude): add console error testing pattern to hugo-template-dev skill

Add Cypress pattern for catching JavaScript console errors during
component testing - useful for runtime errors, JSON parsing failures,
and template data binding issues.
2025-12-10 16:36:08 -06:00
Geoffrey Wossum a85f563fd2
Document use-hashed-tokens configuration option (#6585)
* Document use-hashed-tokens configuration option

Added documentation for the use-hashed-tokens option, including its benefits, default value, and configuration methods.

* Update documentation for use-hashed-tokens option

Clarify default behavior for hashed API tokens in version 2.8 and future versions.

---------

Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>
Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
2025-12-10 10:57:50 -06:00
Jason Stirnaman 271834cf74
feat(telegraf): add related links to plugin directory pages (#6597)
Add related frontmatter links from configure_plugins pages to the
dedicated plugin directory pages for easier navigation.

closes #6415
2025-12-10 10:27:01 -06:00
peterbarnett03 3ffab3afa1
Rename telemetry-disable-upload to disable-telemetry-upload (#6594)
Fixes a CLI incorrect command

Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
2025-12-10 10:16:40 -06:00
Sven Rebhan 5216489fd0
Telegraf v1.37.0 (#6595)
* Updating changelog

* Updating plugin list

* Updating product version

* Updating plugins

---------

Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
2025-12-10 10:05:06 -06:00
Jason Stirnaman ebbb0d4721
chore(ci): update link-checker to v1.2.5 (#6602)
Update link-checker to v1.2.5 which adds --root-dir support for lychee v0.22.0+.

This fixes CI failures caused by lychee v0.22.0 (released Dec 5, 2025)
requiring --root-dir to resolve root-relative links in local files.
The link-checker now automatically sets --root-dir to the Hugo public/
directory when checking local HTML files.

Fixes failures for PRs touching /telegraf/v1 and /influxdb3/explorer paths.
2025-12-10 09:52:51 -06:00
Dustin Eaton a02601e345
Merge pull request #6598 from influxdata/influxctl-v2.12.0
Release influxctl v2.12.0
2025-12-09 11:57:32 -06:00
Jason Stirnaman 44ad61d651
Update content/shared/influxctl/release-notes.md
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-09 10:41:03 -06:00
Dustin Eaton d690edb645 chore(influxctl): add influxctl 2.12.0 release notes 2025-12-09 10:35:11 -06:00
Dustin Eaton f5790a3ddb Release influxctl v2.12.0 2025-12-09 10:10:45 -06:00
Gary Fowler c76304ca28
Fix duplicate header in install.md (#6596)
Removed duplicate section header for TLS and certificate verification options.
2025-12-08 17:02:45 -06:00
Gary Fowler e86a95b7b9
Add Self-Signed Certificate docs (#6593)
* Add Self-Signed Certificate docs

Added TLS/certificate verification options and updated container name for InfluxDB Explorer.

* Update content/influxdb3/explorer/install.md

* Update content/influxdb3/explorer/install.md

* Update content/influxdb3/explorer/install.md

* style(explorer): improve TLS and self-signed certificate documentation

- Fix heading format: use lowercase "and" per style guidelines
- Fix use case wording: "an internal or private CA"
- Convert plain Note to callout format
- Fix Docker command syntax error (remove erroneous line)
- Reorganize: move self-signed certificates section under TLS
- Add structured step-by-step instructions for self-signed certs
- Wrap self-signed certificate example in expand-wrapper
- Use consistent long-form Docker options (--volume, --env, --publish)
- Update TOC with new subsections
- Add NODE_EXTRA_CA_CERTS and CA_CERT_PATH to environment variables table
- Add /ca-certs volume to volume reference table

Addresses PR review feedback.

* Apply suggestions from code review

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

* Apply suggestions from code review

* Apply suggestion from @jstirnaman

* Apply suggestion from @jstirnaman

* Apply suggestion from @jstirnaman

---------

Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>
2025-12-08 14:45:01 -06:00
Copilot db9a727789
Add Windows environment variable instructions for INFLUXDB3_AUTH_TOKEN (#6325)
* 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>
2025-12-02 16:39:12 -06:00
Scott Anderson 6b1905c1d5
fix: updates write reponses, suggests exponential backoffs (#6574)
* fix: updates write reponses, suggests exponential backoffs, closes influxdata/DAR#557

* Apply suggestions from code review

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

* Fix cURL example to use $max_delay variable instead of hardcoded value (#6575)

* Initial plan

* Fix: use $max_delay variable instead of hardcoded 30 in cURL example

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 <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <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-12-02 11:40:56 -08:00
Jason Stirnaman 5b37cb7eba
fix(clustered): use "database" instead of "namespace" in release notes (#6583)
* docs(influxdb3): Use the CLI (influxdb3 --version), /ping endpoint, or /health endpoint to get the actual InfluxDB product version—not the SQL version() function.

  Summary of Changes

  1. content/shared/sql-reference/functions/misc.md (SQL version() function)

  - Enhanced the description to clarify it returns the DataFusion query engine version
  - Added a Note callout explicitly stating this is NOT the InfluxDB product version
  - Added a link to the identify-version page for users who want to find their InfluxDB version
  - Added an expandable example with the actual query and output:
  SELECT version()
  - Output: Apache DataFusion 49.0.2, aarch64 on linux

  2. content/shared/identify-version.md (Identify version page)

  Added a Note callout in three locations:
  - Core-specific section (show-in "core")
  - Enterprise-specific section (show-in "enterprise")
  - General InfluxDB 3 Core and Enterprise section (in the tabs)

  Replaced hardcoded patch version with latest-version shortcode

* fix(clustered): use "database" instead of "namespace" in release notes

Replace user-facing "namespace" terminology with "database" in the
Clustered release notes for clarity. Add a note explaining that
"namespace" in environment variable names refers to a database.

closes influxdata/DAR#556
2025-12-02 12:24:00 -06:00
Jason Stirnaman 4cb455b1ae
feat(ci): add incremental builds and shared content-utils (#6582)
- Incremental Markdown build for PRs, full build for production
- Shared content-utils library for:
  - Mapping shared content to consuming pages (Markdown generation, Cypress)
  - Listing changed content pages (committed, uncommitted, staged)
  - Extracting source frontmatter (docs edit)
- Fix CSS parsing warnings with JSDOM VirtualConsole
- Remove unused imports and variables
2025-12-01 19:45:42 -05:00
Jason Stirnaman b95e608d07
docs(influxdb3): Use the CLI (influxdb3 --version), /ping endpoint, or /health endpoint to get the actual InfluxDB product version—not the SQL version() function. (#6579)
Summary of Changes

  1. content/shared/sql-reference/functions/misc.md (SQL version() function)

  - Enhanced the description to clarify it returns the DataFusion query engine version
  - Added a Note callout explicitly stating this is NOT the InfluxDB product version
  - Added a link to the identify-version page for users who want to find their InfluxDB version
  - Added an expandable example with the actual query and output:
  SELECT version()
  - Output: Apache DataFusion 49.0.2, aarch64 on linux

  2. content/shared/identify-version.md (Identify version page)

  Added a Note callout in three locations:
  - Core-specific section (show-in "core")
  - Enterprise-specific section (show-in "enterprise")
  - General InfluxDB 3 Core and Enterprise section (in the tabs)

  Replaced hardcoded patch version with latest-version shortcode
2025-12-01 16:02:25 -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
Jason Stirnaman 2dd1956a18
fix(ci): add --public-dir argument to build-llm-markdown.js (#6581)
CircleCI builds Hugo to workspace/public, but the markdown generator
was hardcoded to look in public/. Added --public-dir argument:

- Default: public (for local dev and staging)
- CI: --public-dir workspace/public

Staging deployment (deploy-staging.sh) uses default public/ and
continues to work unchanged.
2025-12-01 13:19:01 -06:00
Jason Stirnaman c2093c8212
Feature: Generate documentation in LLM-friendly Markdown (#6555)
* feat(llms): LLM-friendly Markdown, ChatGPT and Claude links.

This enables LLM-friendly documentation for entire sections,
allowing users to copy complete documentation sections with a single click.

Lambda@Edge now generates .md files on-demand with:
- Evaluated Hugo shortcodes
- Proper YAML frontmatter with product metadata
- Clean markdown without UI elements
- Section aggregation (parent + children in single file)

The llms.txt files are now generated automatically during build from
content structure and product metadata in data/products.yml, eliminating
the need for hardcoded files and ensuring maintainability.

**Testing**:
- Automated markdown generation in test setup via cy.exec()
- Implement dynamic content validation that extracts HTML content and
  verifies it appears in markdown version

**Documentation**:
Documents LLM-friendly markdown generation

**Details**:
Add gzip decompression for S3 HTML files in Lambda markdown generator

HTML files stored in S3 are gzip-compressed but the Lambda was attempting
to parse compressed data as UTF-8, causing JSDOM to fail to find article
elements. This resulted in 404 errors for .md and .section.md requests.

- Add zlib gunzip decompression in s3-utils.js fetchHtmlFromS3()
- Detect gzip via ContentEncoding header or magic bytes (0x1f 0x8b)
- Add configurable DEBUG constant for verbose logging
- Add debug logging for buffer sizes and decompression in both files

The decompression adds ~1-5ms per request but is necessary to parse
HTML correctly. CloudFront caching minimizes Lambda invocations.

Await async markdown conversion functions

The convertToMarkdown and convertSectionToMarkdown functions are async
but weren't being awaited, causing the Lambda to return a Promise object
instead of a string. This resulted in CloudFront validation errors:
"The body is not a string, is not an object, or exceeds the maximum size"

**Troubleshooting**:

- Set DEBUG for troubleshooting in lambda

* feat(llms): Add build-time LLM-friendly Markdown generation

Implements static Markdown generation during Hugo build.

**Key Features:**
- Two-phase generation: HTML→MD (memory-bounded), MD→sections (fast)
- Automatic redirect detection via file size check (skips Hugo aliases)
- Product detection using compiled TypeScript product-mappings module
- Token estimation for LLM context planning (4 chars/token heuristic)
- YAML serialization with description sanitization

**Performance:**
- ~105 seconds for 5,000 pages + 500 sections
- ~300MB peak memory (safe for 2GB CircleCI environment)
- 23 files/sec conversion rate with controlled concurrency

**Configuration Parameters:**
- MIN_HTML_SIZE_BYTES (default: 1024) - Skip files below threshold
- CHARS_PER_TOKEN (default: 4) - Token estimation ratio
- Concurrency: 10 workers (CI), 20 workers (local)

**Output:**
- Single pages: public/*/index.md (with frontmatter + content)
- Section bundles: public/*/index.section.md (aggregated child pages)

**Files Changed:**
- scripts/build-llm-markdown.js (new) - Main build script
- scripts/lib/markdown-converter.cjs (renamed from .js) - Core conversion
- scripts/html-to-markdown.js - Updated import path
- package.json - Updated exports for .cjs module

Related: Replaces Lambda@Edge on-demand generation (5s response time)
with build-time static generation for production deployment.

feat(deploy): Add staging deployment workflow and update CI

Integrates LLM markdown generation into deployment workflows with
a complete staging deployment solution.

**CircleCI Updates:**
- Switch from legacy html-to-markdown.js to optimized build:md
- 2x performance improvement (105s vs 200s+ for 5000 pages)
- Better memory management (300MB vs variable)
- Enables section bundle generation (index.section.md files)

**Staging Deployment:**
- New scripts/deploy-staging.sh for local staging deploys
- Complete workflow: Hugo build → markdown gen → S3 upload
- Environment variable driven configuration
- Optional step skipping for faster iteration
- CloudFront cache invalidation support

**NPM Scripts:**
- Added deploy:staging command for convenience
- Wraps deploy-staging.sh script

**Documentation:**
- Updated DOCS-DEPLOYING.md with comprehensive guide
- Merged staging/production workflows with Lambda@Edge docs
- Build-time generation now primary, Lambda@Edge fallback
- Troubleshooting section with common issues
- Environment variable reference
- Performance metrics and optimization tips

**Benefits:**
- Manual staging validation before production
- Consistent markdown generation across environments
- Faster CI builds with optimized script
- Better error handling and progress reporting
- Section aggregation for improved LLM context

**Usage:**
```bash
export STAGING_BUCKET="test2.docs.influxdata.com"
export AWS_REGION="us-east-1"
export STAGING_CF_DISTRIBUTION_ID="E1XXXXXXXXXX"

yarn deploy:staging
```

Related: Completes build-time markdown generation implementation

refactor: Remove Lambda@Edge implementation

Build-time markdown generation has replaced Lambda@Edge on-demand
generation as the primary method. Removed Lambda code and updated
documentation to focus on build-time generation and testing.

Removed:
- deploy/llm-markdown/ directory (Lambda@Edge code)
- Lambda@Edge section from DOCS-DEPLOYING.md

Added:
- Testing and Validation section in DOCS-DEPLOYING.md
- Focus on build-time generation workflow

* feat: Add Rust HTML-to-Markdown prototype

Implements core markdown-converter.cjs functions in Rust for performance comparison.

Performance results:
- Rust: ~257 files/sec (10× faster)
- JavaScript: ~25 files/sec average

Recommendation: Keep JavaScript for now, implement incremental builds first.
Rust migration provides 10× speedup but requires 3-4 weeks integration effort.

Files:
- Cargo.toml: Rust dependencies (html2md, scraper, serde_yaml, clap)
- src/main.rs: Core conversion logic + CLI benchmark tool
- benchmark-comparison.js: Side-by-side performance testing
- README.md: Comprehensive findings and recommendations

* fix(ui): improve dropdown positioning on viewport resize

- Ensure dropdown stays within viewport bounds (min 8px padding)
- Reposition dropdown on window resize and scroll events
- Clean up event listeners when dropdown closes

* chore(deps): add remark and unified packages for markdown processing

Add remark-parse, remark-frontmatter, remark-gfm, and unified for
enhanced markdown processing capabilities.

* fix(edge): add return to prevent trailing-slash redirect for valid extensions

Without the return statement, the Lambda@Edge function would continue
executing after the callback, eventually hitting the trailing-slash
redirect logic. This caused .md files to redirect to URLs with trailing
slashes, which returned 404 from S3.

* fix(md): add built-in product mappings and full URL support

- Add URL_PATTERN_MAP and PRODUCT_NAME_MAP constants directly in the
  CommonJS module (ESM product-mappings.js cannot be require()'d)
- Update generateFrontmatter() to accept baseUrl parameter and construct
  full URLs for the frontmatter url field
- Update generateSectionFrontmatter() similarly for section pages
- Update all call sites to pass baseUrl parameter

This fixes empty product fields and relative URLs in generated markdown
frontmatter when served via Lambda@Edge.

* feat(md): add environment flag for base URL control

Add -e, --env flag to html-to-markdown.js to control the base URL
in generated markdown frontmatter. This matches Hugo's -e flag behavior
and allows generating markdown with staging or production URLs.

Also update build-llm-markdown.js with similar environment support.

* feat(md): add Rust markdown converter and improve validation

- Add Rust-based HTML-to-Markdown converter with NAPI-RS bindings
- Update Cypress markdown validation tests
- Update deploy-staging.sh with force upload flag

* deploy-staging.sh:
  - Defaults STAGING_URL to https://test2.docs.influxdata.com
  if not set
  - Exports it so yarn build:md -e staging can use it
  - Displays it in the summary

* Delete scripts/prototypes/rust-markdown/benchmark-comparison.js

* Delete scripts/prototypes directory

* fix(llms): Include full URL for section page Markdown and list of child pages

* feat(llms): clarify format selector text for AI use case

Update button and dropdown text to make the AI/LLM purpose clearer:
- Button: "Copy page for AI" / "Copy section for AI"
- Sublabel: "Clean Markdown optimized for AI assistants"
- Section sublabel: "{N} pages combined as clean Markdown for AI assistants"

Cypress tests updated and passing (13/13).

---------

Co-authored-by: Scott Anderson <scott@influxdata.com>
2025-12-01 12:32:28 -06:00
Jason Stirnaman afc34b97b6
chore(ide): Add docs.code-workspace file contains: (#6576)
 Editor settings (word wrap, rulers, formatting rules)
 Extension recommendations (Vale, YAML, Spell Check, VIM, ESLint)
 Debug launch configurations (Hugo server debugging)
 Language-specific formatting

Settings apply automatically when cloning/opening the repo
Low maintenance - Single source of truth for workspace configuration

What's NOT Committed:
User-specific preferences stay local:

 VIM mode keybindings customization
 Theme selections
 Open file state/layout
 Extension-specific user settings
2025-12-01 11:20:33 -06:00
Scott Anderson 20a736303e
fix: update compact-throughput default values, closes influxdata/DAR#568 (#6573) 2025-11-25 18:14:17 -07:00
Jason Stirnaman 0fcf2bdd31
Note excluded internal-use options (#6571)
* 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
2025-11-25 16:58:29 -06:00
Sven Rebhan d4eff43cf0
fix(telegraf): Correct links for Telegraf v1.36.4 (#6570)
* Updating plugins

* Fix typos

* Update content/telegraf/v1/input-plugins/dpdk/_index.md

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

* Update content/telegraf/v1/input-plugins/dpdk/_index.md

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

* Update content/telegraf/v1/input-plugins/haproxy/_index.md

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

* Update content/telegraf/v1/input-plugins/http_listener_v2/_index.md

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

* Update content/telegraf/v1/input-plugins/intel_pmu/_index.md

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

* Update content/telegraf/v1/input-plugins/ldap/_index.md

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

---------

Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
2025-11-25 16:55:02 -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