* Initial plan
* Add aliases to fix broken Docker Hub links to serve documentation
Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com>
* fix(influxdb3): correct broken links causing 404s (#6958)
- Fix Power BI links in visualization-tools.md for cloud-dedicated,
cloud-serverless, and clustered to use new visualize-data/ path
instead of old process-data/visualize/ path
- Fix influxctl cluster list link in cloud-dedicated/admin/clusters/list.md
to include missing cluster/ path segment
https://claude.ai/code/session_01SV14CdHN4GGVuATt9n7STn
Co-authored-by: Claude <noreply@anthropic.com>
* fix(influxdb3): backfill missing product URLs in localStorage (#6961)
* fix(influxdb3): backfill missing product URLs in localStorage
Returning visitors with stale localStorage (created before core/enterprise
products were added) had undefined URL values for new products. The
updateUrls() function then replaced Hugo-rendered hostnames like
localhost:8181 with the string "undefined" in api-endpoint blocks.
Fix by merging DEFAULT_STORAGE_URLS as fallbacks when reading from
localStorage, so new product keys are always present.
closes#6960https://claude.ai/code/session_01GJZ2yMR5DBk1feqTD5LeHW
* test(influxdb3): add Cypress tests for localStorage URL backfill
Adds 2 E2E tests for the fix in #6960:
1. Stale localStorage (missing `core` key) should not cause "undefined"
to appear in api-endpoint or code blocks on the plugins page.
2. Fresh localStorage should be initialized with all expected product
URL keys (oss, cloud, core, enterprise, serverless, dedicated, clustered).
Run with:
node cypress/support/run-e2e-specs.js --spec "cypress/e2e/influxdb-url.cy.js" --no-mapping
https://claude.ai/code/session_01GJZ2yMR5DBk1feqTD5LeHW
---------
Co-authored-by: Claude <noreply@anthropic.com>
* Remove `>` CLI prompts from runnable code blocks in InfluxQL/Flux/MongoDB docs (#6948)
* Initial plan
* fix(docs): remove > prompt from runnable code blocks
Remove leading `>` CLI prompt characters from code blocks that are meant
to be executed by users. Only keep `>` in code blocks that demonstrate
console output (showing both the command at the prompt AND the result output).
Changes affect 34 files across InfluxDB v1, Enterprise InfluxDB, shared
influxql-v3 reference, and Telegraf content:
- InfluxQL queries and management commands (sql/bash/no-lang blocks)
- Flux REPL examples (js blocks)
- MongoDB shell commands (shell blocks)
Preserved (unchanged):
- Console session blocks showing command + output (Type B: mixed > and non-> lines)
- Telegraf metric output blocks (text language with > measurement,tags format)
- diff blocks with < and > diff markers
Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com>
* Apply suggestions from code review
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* Apply suggestions from code review
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* Update content/enterprise_influxdb/v1/query_language/continuous_queries.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>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* Add agentic workflow daily-repo-status (#6963)
* PR workflow: Improve review status signals and reduce noise (#6938)
* Initial plan
* Improve PR review workflow status signals and add agent personas
- Add Job 4 (report-skipped) to explicitly report when visual review is skipped
- Update resolve-review-urls.js to output skip status and reason
- Add clear agent persona headers to all bot comments (Preview Bot, Doc Review Bot)
- Reduce URL duplication by having visual review reference PR Preview comment
- Update copilot-visual-review.md template with completion signal format
- Add consistent status tables with emojis for clear at-a-glance status
Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com>
* Address code review feedback
- Remove unnecessary comment about fallback default in resolve-review-urls.js
- Use plain text sanitization for skip reasons in preview comments
- Add clarifying comment about string comparison in GitHub Actions outputs
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>
* Initial plan
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com>
Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* chore: add .worktrees to gitignore
* refactor: replace URL-parsing in shortcodes with cascade product data
Replace duplicated URL-parsing logic across 28 shortcodes with Hugo's
cascade frontmatter. Each product section's _index.md now cascades
`product` (data key) and `version` (URL segment) to all descendants.
Key changes:
- Add cascade frontmatter to 15 product _index.md files
- Create layouts/partials/product/get-data.html shared partial
- Refactor 28 shortcodes to use the partial instead of parsing URLs
- Add version_label, limits, and distributed_architecture metadata
to data/products.yml to eliminate hardcoded dicts in shortcodes
- Fix lefthook lint-markdown-instructions glob format (YAML array)
- Fix pre-existing Vale exclamation point errors in cloud and v2
* fix: prevent remark-lint from escaping Hugo template syntax in shortcodes
Lefthook's glob option only triggers whether a command runs — it does
not filter {staged_files}. This caused remark-lint to process .md
shortcode files in layouts/, escaping underscores, brackets, and
parentheses that are valid Hugo template syntax.
Add layouts/ exclusion to the existing content/ filter in the
lint-markdown-instructions run command. Also fix the 3 shortcode files
that were damaged by remark-lint in the previous commit.
* test: add E2E tests for cascade product shortcodes
Add Cypress tests validating all refactored shortcodes across 14
product/version combos (82 tests). Test expectations are derived
from products.yml at runtime via cy.task('getData').
Fix the product links test to iterate actual home page links
instead of all products.yml entries.
Create _test/shortcodes.md pages in each product section
exercising product-name, product-key, current-version,
influxdb/host, and InfluxDB3-specific shortcodes.
* test: expand E2E coverage to 27 of 28 cascade shortcodes
Add shortcode invocations to all 14 test pages and corresponding
Cypress assertions for version lookups, namespace URLs, product
name text, placeholder_host, version visibility, CTA links, and
site-level data.
Add shortcodes-real-pages.cy.js for 6 shortcodes that require real
page context (cli/mapped, children, flux/list-all-functions,
telegraf/plugins, html-diagram/sso-auth-flow, cli/influxd-flags).
Suppress Vale on test pages — they contain only shortcode syntax,
not prose.
163 tests total, all passing.
* refactor(test): rename _test dirs to __tests__ and add noindex
Rename test page directories from _test to __tests__ to align with
JS testing conventions. Add noindex: true to all 14 test page
frontmatter to prevent search engine indexing in production.
Update Cypress URL pattern to match new paths.
* Initial plan
* feat: add Documentation MCP server pages to chronograf, kapacitor, flux, and explorer
Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com>
* fix: update MCP page descriptions to include product names
Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com>
* fix: resolve product-name shortcode for v1/v0 versioned products
The shortcode previously only checked the second URL path segment to
identify products, which works for InfluxDB 3 (/influxdb3/core/) but
fails for older products where the second segment is a version number
(/chronograf/v1/, /flux/v0/).
Add namespace extraction (first path segment) and conditional logic to
look up products by namespace when the version is v1 or v0. This fixes
empty product names in meta descriptions for Chronograf, Telegraf,
Kapacitor, Flux, and InfluxDB Enterprise v1.
* feat: relocate v2/cloud MCP pages and add alt_links for cross-product navigation
- Move MCP server pages from reference/ to tools/ for InfluxDB v2 and Cloud
- Add alt_links frontmatter to all MCP pages for cross-product navigation
- Use product-name shortcode in descriptions for consistency
- Convert code-placeholders shortcode to fenced code block attributes
- Update shared content to use version-agnostic URLs
* Add multi-assistant installation instructions for documentation MCP server (#6836)
* Initial plan
* feat(mcp): add installation instructions for multiple AI assistants
Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com>
* refactor(mcp): replace Cline and Windsurf with GitHub Copilot and OpenCode
Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com>
Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
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.
* 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>
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.
closesinfluxdata/docs-v2#5522
The influxdata-archive.key is designed to have a good user experience
during key rotations, but in order to do that, we need to properly
verify the key file's fingerprint and not its sha256sum (since the
primary key's fingerprint won't change with key rotations, but the
sha256sum necessarily will).
Update documentation for this to establish best practice and prepare
users for the upcoming key rotation.
Adjust dockerfiles to use this methodology.