Commit Graph

9841 Commits (master)

Author SHA1 Message Date
Jason Stirnaman 784956a31c
feat: add Puppeteer integration for AI agent development (#6736)
Add Puppeteer utilities and scripts to enable AI agents to interactively
test and debug the documentation site during development.

Dependencies: puppeteer, pixelmatch, pngjs
Scripts: debug:browser, debug:screenshot, debug:inspect
Tools: 20+ helper functions, example scripts, comprehensive documentation

Enables AI agents to visually debug pages, test components, monitor
performance, and detect issues during development.

Co-authored-by: Claude <noreply@anthropic.com>
2026-01-14 17:26:27 -06:00
Jason Stirnaman 925a26e580
fix(cli): Make docs edit non-blocking and reorganize CLI code (#6721)
* REAL-WORLD TESTING ────────────────── BEFORE FIX: ───────────  Agent
runs: docs edit <url>  Editor spawns and blocks  Agent hangs for 30+
seconds  Workflow times out or fails  Manual intervention required

AFTER FIX: ──────────  Agent runs: docs edit <url>  Editor spawns
detached  CLI exits in <1 second  Agent continues processing 
Workflow completes successfully  No manual intervention needed

ISSUE #21:  RESOLVED ───────────────────────

The docs edit command now: • Works perfectly in automated workflows •
Doesn't hang AI agents or scripts • Exits immediately by default •
Supports blocking mode via --wait flag • Handles both URL formats •
Provides clear feedback • Has comprehensive documentation

DEPLOYMENT STATUS:  READY ────────────────────────────

All tests pass: ✓ Unit tests (7/7) ✓ CLI tests ✓ Real-world agent
workflow ✓ Coverage Gap issue processing ✓ URL format support ✓
Non-blocking verification ✓ Blocking mode verification

Scenario: AI agent processes GitHub Coverage Gap issues Issues: #6702,

Results: • Fetched issues from GitHub  • Used docs edit to locate files
 • Identified missing docs (Coverage Gaps)  • Found existing docs  •
No hangs, no timeouts  • Total time: 2 seconds for 3 issues 

* refactor(cli): move docs CLI to dedicated scripts/docs-cli directory

- Organize all CLI tools and tests in scripts/docs-cli/
- Update package.json bin and script paths
- Update setup-local-bin.js to point to new location
- Fix import paths in docs-edit.js and docs-create.js
- Update SKILL.md with new features (--wait, --editor, path support)
- Update ISSUE-21-FIX-README.md with new structure
- Add comprehensive README.md for docs-cli directory
- All tests passing, non-blocking behavior verified

Closes #21

* feat(cli): add non-blocking editor support to docs create

- Add --open flag to open created files in editor
- Add --wait flag for blocking mode (use with --open)
- Add --editor flag for explicit editor selection
- Uses same editor resolution and process management as docs edit
- Non-blocking by default to prevent agent hanging
- Update all documentation with new examples
- Maintains backwards compatibility (--open is optional)

This completes the non-blocking implementation across both
docs edit and docs create commands.

* docs: update Copilot instructions with complete CLI tool reference

- Add docs create --open to Quick Reference table
- Document both create and edit commands comprehensively
- Add editor configuration section (shared between commands)
- Update content.instructions.md with CLI workflow examples
- Add NON-BLOCKING-IMPLEMENTATION-COMPLETE.md summary document
- Clarify non-blocking behavior for AI agents

* chore: remove ephemeral documentation files

Remove temporary documentation files used during development:
- CLAUDE-docs-tooling-issue21.md
- IMPLEMENTATION-SUMMARY.md
- ISSUE-21-FIX-README.md
- NON-BLOCKING-IMPLEMENTATION-COMPLETE.md
- TEST-RESULTS.md

All relevant documentation has been integrated into:
- README.md
- scripts/docs-cli/README.md
- .github/copilot-instructions.md
- .github/instructions/content.instructions.md
- .claude/skills/docs-cli-workflow/SKILL.md

* Fix url-parser.js broken import by moving to shared library location (#6727)

* Initial plan

* refactor: move url-parser.js to shared library location and fix imports

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

---------

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

* Update scripts/docs-cli/__tests__/process-manager.test.js

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

* Update scripts/docs-cli/__tests__/editor-resolver.test.js

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

---------

Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-13 21:47:09 -06:00
Sven Rebhan 127f0a5aca
Telegraf v1.37.1 (#6728)
* Updating changelog

* Updating product version

* Updating plugins
2026-01-13 17:03:02 -06:00
Copilot 463fcb676f
Route InfluxDB 3 Enterprise docs issue submissions to support portal (#6723)
* Initial plan

* Update submit docs issue button to target support portal for InfluxDB 3 Enterprise

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>
2026-01-12 12:22:31 -06:00
Jamie Strandboge f84c152929
fix: /etc/influxdb3 is root:influxdb3 (#6720) 2026-01-12 10:44:59 -06:00
Jason Stirnaman b093b104b8
fix(influxdb3): server flags and defaults in Enterprise setup (#6716)
Closes influxdata/dar/issues/587
- Wrong flag name corrected
- Added `--aws-default-region` flag with explanatory note
- Added `--plugin-dir` requirement documentation for process
2026-01-09 15:45:54 -06:00
Jason Stirnaman ff9aba4a56
chore(cypress): upgrade cypress@14.5.4 (closes #6710) (#6711) 2026-01-07 12:42:31 -06:00
Jakub Bednář 8533d21d0a
Release Chronograf v1.10.9 (#6707)
* Release Chronograf v1.10.9

* Update content/chronograf/v1/about_the_project/release-notes.md

---------

Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
2026-01-07 12:09:56 -06:00
Jason Stirnaman 2e50b22667
chore(skills): add Cypress E2E testing skill and update related skills (#6709)
- Add new cypress-e2e-testing skill with:
  - Hugo server management guidance (port 1315, auto-start)
  - Test execution patterns and quick reference
  - API reference test prerequisites
  - Failure analysis and debugging strategies
  - Error pattern categorization
- Update docs-cli-workflow skill with related skills section
- Streamline hugo-template-dev skill content
2026-01-07 12:01:22 -06:00
Mohammad Naqvi a86268c1ba
Merge pull request #6700 from influxdata/chore/update-db-delete
chore: add admin UI instructions for database restore
2026-01-07 10:25:08 -05:00
Jason Stirnaman 3898947284
Merge branch 'master' into chore/update-db-delete 2026-01-06 17:07:11 -06:00
Mohammad Naqvi b1ca174b13 chore: address comments 2026-01-06 16:10:25 -05:00
Jason Stirnaman 1203602607
docs(influxdb3): document log-filter values and targeted filtering (#6695)
* chore(link-checker): update configs for v1.3.0 severity classification

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.

* docs(influxdb3): document log-filter values and targeted filtering

Add comprehensive documentation for the --log-filter configuration option:
- Log levels table (error, warn, info, debug, trace)
- Targeted filtering syntax for specific components
- Common component names for Core and Enterprise
- Debug logging section in write troubleshoot page

closes influxdata/DAR#575

* Update content/shared/influxdb3-cli/config-options.md
2026-01-06 14:01:49 -06:00
Mohammad Naqvi b4debb4fef chore: consolidate points 2026-01-06 12:28:25 -05:00
Jason Stirnaman 36f9222fd5
feat(sync): extract style attributes from HTML comments (#6694)
Add extractStyleAttributes() function to convert headings like:
  `#### Heading <!-- {.class} -->`
to:
  `#### Heading {.class}`

This allows source READMEs to render cleanly on GitHub while still
supporting Hugo style classes in docs-v2.
2026-01-06 10:13:18 -06:00
Jason Stirnaman cb37ee2574
fix: tab names in generated Markdown (#6698)
- maintains semantic flow of tab labels and code-tab labels with their
  tab contents
- formats labels in bold to avoid breaking heading level semantics
- wraps tabbed content in begin/end comments to denote options
2026-01-06 09:57:47 -06:00
Jason Stirnaman aedb2df6f4
Merge branch 'master' into chore/update-db-delete 2026-01-06 09:57:03 -06:00
Mohammad Naqvi 30c0aecbd3 chore: update docs to reflect DB undelete addition 2026-01-06 09:50:26 -05:00
Scott Anderson de759b6c04
chore(telegraf-controller): add telegraf controller architectural overview (#6699)
* chore(telegraf-controller): add telegraf controller architectural overview

* Apply suggestions from code review

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

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-05 21:31:03 -07:00
Dustin Eaton 56c76efed4
Merge pull request #6697 from influxdata/feat/clustered-release-20251218-1946608
feat: Clustered release 20251218-1946608
2026-01-05 18:17:33 -06:00
Jason Stirnaman f72f3564ae
Update content/influxdb3/clustered/reference/release-notes/clustered.md 2026-01-05 17:04:22 -06:00
Dustin Eaton f6da51829b feat: Clustered release 20251218-1946608 2026-01-05 12:56:28 -06:00
Jason Stirnaman 4caaa42887
fix(v2): broken links to Grafana guides for Cloud and OSS v2. (#6692)
- Add expected aliases (more descriptive URLs) for the Grafana pages
2026-01-03 13:50:38 -06:00
Jason Stirnaman 4ddce8a57e
docs: add CLAUDE.md files for generated content directories (#6690)
Add guidance for AI tools about generated documentation:
- content/shared/influxdb3-plugins/plugins-library/official/CLAUDE.md
- content/telegraf/CLAUDE.md

These files document the sync workflows and prevent AI tools from
editing generated content directly.
2026-01-02 16:25:31 -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
Scott Anderson dc62d0d011
Telegraf Controller (alpha) Documentation (#6685)
* feat: telegraf-controller scaffolding (#6625)

* feat: telegraf-ui scaffolding

* Apply suggestions from code review

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

* 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>

* chore: add agent management docs for telegraf controller (#6635)

* chore: add agent management docs for telegraf controller

* fix: apply suggestions from copilot PR review

* Apply suggestions from code review

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

* chore(controller): italicize required callout

* fix(controller): fixed bad shortcode syntax

---------

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

* Install Telegraf Controller (#6676)

* feat(telegraf-controller): install telegraf controller

* Apply suggestions from code review

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

---------

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

* Manage configs with Telegraf Controller (#6681)

* chore(telegraf-controller): WIP manage configs docs

* feat(telegraf-controller): WIP manage configs

* feat(telegraf-controller): add dynamic value syntax highlighting

* feat(telegraf-controller): finish config management docs

* Apply suggestions from code review

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

* chore(telegraf-controller): add info about updating config name and description

* chore(telegraf-controller): fix type in update config

* 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>

* chore(telegraf-controller): add content to telegraf controller landing page (#6684)

* chore: update search for telegraf controller

* fix(links): ignore influxdata slack links

* fix(links): skip nssm download in link checks

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
2025-12-31 14:49:32 -07:00
Jason Stirnaman 98deae1185
chore(ci): Add vale spellings (#6683) 2025-12-31 14:39:40 -06:00
WeblWabl a6994439e4
feat: use current-version in upgrade guide (#6679)
* feat: use current-version in upgrade guide

* chore(influxdb2): Update version 2.7 to 2.8.  Use shortcode where supported. Punctuation fix. (#6680)

* Update content/influxdb/v2/install/upgrade/v1-to-v2/_index.md

* Update content/influxdb/v2/install/upgrade/v1-to-v2/_index.md

* Update content/influxdb/v2/install/upgrade/v1-to-v2/_index.md

---------

Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
2025-12-31 13:54:10 -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
Jamie Strandboge 42e17de7d6
Merge pull request #6670 from influxdata/jdstrand/fix-rpm-install2
fix: use sudo with 'yum install' and create the keyring dir if needed
2025-12-23 10:47:31 -06:00
Jason Stirnaman 564a70dcb9
Merge branch 'master' into jdstrand/fix-rpm-install2 2025-12-23 11:09:46 -05:00
Jason Stirnaman 6090142bb3
docs(telegraf): add missing serializer documentation (#6654)
* docs(telegraf): add missing serializer documentation

Add documentation for missing output data formats (serializers):
- binary: Binary protocol serialization with configurable entries
- cloudevents: CloudEvents JSON format (v0.3 and v1.0)
- csv: Comma-separated values with configurable columns
- prometheus: Prometheus text exposition format
- prometheusremotewrite: Prometheus protobuf for remote write
- wavefront: Wavefront data format

Also fixes:
- Rename messagepack.md to msgpack.md to match Telegraf source

This completes the serializer documentation coverage.

* Apply suggestion from @jstirnaman

* Apply suggestion from @jstirnaman

* docs(telegraf): clarify prometheusremotewrite example shows logical representation (#6661)

* Initial plan

* docs(telegraf): clarify prometheusremotewrite example shows logical representation

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

---------

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

* Update content/telegraf/v1/data_formats/output/binary.md

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

* docs: improve prometheus serializer warnings and clarify configuration options (#6660)

* 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

* fix(influxdb3): restore clean install.md from jdstrand branch

Remove duplicate content and fix malformed code blocks introduced
during rebase conflict resolution.

* docs(telegraf): add design plan for batch format documentation

Defines documentation changes to clarify:
- Output plugin vs serializer relationship
- use_batch_format option location and purpose
- Histogram/summary handling with prometheus_client
- Choosing the right output approach

* docs(telegraf): clarify output plugins, serializers, and batch format

- Add "How output plugins use serializers" section explaining the
  relationship between output plugins and data formats
- Add "Choosing an output approach" guidance by destination and metric type
- Create prometheus serializer doc with histogram/summary guidance
- Add "Use this plugin for..." sections to prometheus_client
- Add Data formats subsection to configuration.md
- Expand output plugins index with serializer relationship

Addresses confusion about use_batch_format being an output plugin option
rather than a serializer option, and provides clear guidance on when to
use prometheus_client vs the prometheus serializer.

---------

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

---------

Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-23 11:09:07 -05:00
Jason Stirnaman 44081e7eb9
Merge branch 'master' into jdstrand/fix-rpm-install2 2025-12-23 11:06:51 -05:00
Jamie Strandboge 47ca3066c3
fix: use sudo with 'yum install' and create the keyring dir if needed 2025-12-23 09:38:38 -06:00
Jason Stirnaman 2ab200d78b
influxdb3: Add Helm for Ent3, cleanup install.md formatting (#6657)
* docs(influxdb3): add Helm chart deployment guide for Enterprise

Add documentation for deploying InfluxDB 3 Enterprise on Kubernetes
using the official Helm chart (currently in beta). The guide covers:

- Prerequisites and licensing information
- Installation steps using Helm
- Configuration options for object storage (S3, Azure, GCS, MinIO)
- Cluster and ingress configuration
- Upgrade and uninstall procedures
- Troubleshooting commands
- Support and issue reporting links

* chore(influxdb3): Cleanup install

* chore(influxdb3): add version metadata for systemd
2025-12-22 16:52:31 -06:00
Geoffrey Wossum ad9453a107
fix: move Raft auth docs from data node to meta node (#6669)
Move documentation on Raft authentication from data nodes page to meta
node page. Also add note with recommended staging for enabling Raft
authentication in an existing cluster.

Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
2025-12-22 16:47:25 -06:00
Jason Stirnaman 3bb92f3783
ci(preview): Add PR Preview reference in DOCS-DEPLOYING.md (#6668)
- Use pull request previews in GitHub for manual validation
2025-12-22 15:56:40 -06:00
Jason Stirnaman 0fbf9e5e9b
fix(ci): complete PR preview path offset and fork PR handling (#6667)
* fix(ci): add path offset for PR preview subdirectory baseURL

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).

* fix(ci): add path offset to product-name and sidebar for PR previews

Apply the same prPreviewPathOffset fix to product-name.html and
sidebar.html that was applied in the initial PR #6665.

These templates parse RelPermalink to detect product context, but when
baseURL includes a subdirectory path (e.g., /docs-v2/pr-preview/pr-XXXX/),
the path indices shift. This fix uses the configurable offset to skip
extra path segments in PR preview builds.

* fix(ci): skip PR preview for fork PRs and add notice comment

Fork PRs cannot deploy to gh-pages because GITHUB_TOKEN has read-only
access to the base repository. This is a GitHub security feature.

Changes:
- Add condition to skip preview job for fork PRs
- Add fork-notice job to post helpful comment explaining limitation
- Include local preview instructions for contributors
2025-12-22 15:30:26 -06:00
spike77453 8045b67adc
fix(telegraf): escape dollar in here-doc to prevent parameter expansion (#6659)
Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
2025-12-22 13:47:57 -06:00
Copilot 77e52a54b9
Move influxctl --perf-debug example output to command reference (#6599)
* Initial plan

* docs: move perf-debug example output to query command reference

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

* docs: update placeholder syntax and add link to query command

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

* docs: add disclaimer for example performance statistics output

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

* fix(influxdb3): update --perf-debug example output to match documented query

Regenerate example performance statistics output using the documented
query (SELECT SUM(temp) FROM home). Tested influxctl query --perf-debug
command to verify output format and values.

---------

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-22 13:11:35 -06:00
Jason Stirnaman afb9b92b2f
fix(ci): add path offset for PR preview subdirectory baseURL (#6665)
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 12:42:20 -06:00
Jamie Strandboge c1a0785612
fix: move 'yum install' outside the 'cat' for influxdb3 installs (#6666) 2025-12-22 12:26:18 -06:00
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