EXPERIMENTAL FINDINGS (Task 4):
Tested RapiDoc's allow-authentication attribute with both render-style
options to determine if it can show credential input on operation pages.
Results:
1. render-style='read' + allow-authentication='true':
- Auth section (#auth) exists in shadow DOM with input fields
- BUT filtered out by match-paths (not visible to users)
- Only matched operation shown, not full spec
2. render-style='focused' + allow-authentication='true':
- Auth section completely removed from shadow DOM
- Shows broken links to non-existent #auth section
- Lists security schemes but no input fields
CONCLUSION:
RapiDoc's built-in auth UI is incompatible with match-paths filtering.
When filtering to single operations, the auth section is either hidden
or removed entirely.
RECOMMENDATION:
Implement custom auth input component (Task 5) using:
- Custom TypeScript component above RapiDoc
- sessionStorage for credential persistence
- Integration with RapiDoc's Try it feature
Code includes detailed inline documentation of findings for future
reference when implementing Task 5.
- Add api/section-children.html partial for API section index pages
- Update api/list.html to detect section index vs tag pages
- Add "All endpoints" nav item listing all operations sorted by method+path
- Remove {{< children >}} shortcode from API index pages (use data-driven list)
- Remove api_nav_groups.yml config file (no longer needed)
- Update api-menu-items.html to derive order from article data
- Sort: conceptual tags (traitTags) first, then other tags alphabetically
- Reduces template from 255 to 152 lines
- Update api_nav_groups.yml to use "Auth token" instead of "Token"
- Remove x-tagGroups from Core and Enterprise specs (Redoc-specific, not needed for RapiDoc)
- Add migration notes to plan document for future product migrations
- Restore original RapiDoc match-paths format (method /path) for proper filtering
- Restrict operation tags to primary tag in tag-specific specs to prevent duplicates
- Rename Token tag to Auth token for clarity in Core and Enterprise specs
- Remove Table tag from cache operations (distinct_cache, last_cache)
- Add build script combining API docs, Hugo, and Markdown generation
- Skip summary rendering for conceptual pages
- Add isConceptual check to hide operations in nav for conceptual pages
The feature is shippable, but needs a few small fixes and we'll need to update or alias all API docs links for Core and Ent3.
- Add rapidoc-mini.ts TypeScript component with CDN loading and theme sync
- Add api-operation layout for standalone operation pages
- Add rapidoc-mini.html partial for reusable RapiDoc rendering
- Add rapidoc-custom.css for RapiDoc style overrides
- Register rapidoc-mini component in main.js
- Add article data for cloud-dedicated and clustered products
- Update API reference Cypress tests
Add visual badges to distinguish v1-compatible and v2-compatible API
endpoints in the sidebar navigation. This helps users migrating from
InfluxDB v1 or v2 quickly identify which compatibility layer each
endpoint belongs to.
Changes:
- Add x-compatibility-version extension to compatibility operations
- Add externalDocs links to reduce verbose descriptions in specs
- Update generator to extract compatVersion and externalDocs fields
- Display colored badges (purple for v1, cyan for v2) in sidebar nav
- Strip redundant "(v1-compatible)" text when badge is shown
- Add hover tooltips explaining compatibility context
Remove multi-tag groups (Administration, Concepts) and flatten to
single-tag groups for direct linking. Each API tag now renders as
a direct nav item instead of being nested under a parent group.
- Update api_nav_groups.yml to use single-tag groups only
- Delete Administration landing pages (not needed without nesting)
- Improve SCSS styling for API nav visibility and active states
Now that API navigation is integrated into Hugo's menu system:
- Remove api-nav.ts component (no longer needed)
- Remove api/sidebar-nav.html partial (replaced by api-menu-items.html)
- Remove api-nav component registration from main.js
- Update sidebar.html to pass siteData to nested-menu for API nav
- Fix anchor ID handling for special characters (like / in operation IDs)
Add API nav items as children of "InfluxDB HTTP API" menu item:
- New api-menu-items.html partial generates nav from data/articles.yml
- Modified nested-menu.html to inject API nav for API parent menu item
- Updated api_nav_groups.yml to add url for Administration group
- Created Administration landing pages for Core and Enterprise
- Updated .gitignore to allow hand-crafted API conceptual pages
The Administration page uses layout: list and isConceptual: true to render
content directly without RapiDoc wrapper.
- Add button reset styles to .api-nav-group-header for dark mode
compatibility (background: none, border: none, width: 100%)
- Increase operation link font-size from 0.95rem to 1rem to match
sidebar nav-item font size (18px base)
- Increase api-path code font-size from 0.85rem to 0.9rem
- Changed operation link font-size from 0.85rem to 0.95rem to match sidebar
- Changed path code font-size from 0.75rem to 0.85rem for consistency
- Adjusted method badge font-size from 0.55rem to 0.6rem for readability
- Sidebar nav now shows operations with method badges and paths instead
of duplicating tag names when groups are expanded
- Added background color to nav group items to match sidebar
- Increased max-height for expanded groups to accommodate all operations
- Added styles for operation items in sidebar nav (.api-nav-operation)
- Fixed summary paragraph width by setting flex-basis to 100%
- Header summary now shows only the first sentence from description
using regex extraction with fallback to first line for descriptions
without sentence-ending punctuation
- Added Overview section with full description after endpoints list
- Add YAML article data files for all InfluxDB products
- Add sidebar-nav.html partial for API navigation rendering
- Rename data directory from article-data to article_data for Hugo compatibility
- Remove obsolete JSON articles file
- Add api-nav.ts for sidebar navigation collapse/expand
- Add api-scalar.ts for Scalar API renderer integration
- Add api-tabs.ts for tab switching functionality
- Add api-toc.ts for table of contents generation
- Register components in main.js
- Rewrite single.html for operation pages with RapiDoc integration
- Simplify rapidoc.html partial for tag-based rendering
- Add sidebar-nav include to sidebar.html for API navigation
- Add tab-panels.html and tabs.html for content organization
- Add support for tag-based article generation with operations metadata
- Generate articles.yml data files with tag, menuName, and isConceptual fields
- Include operations array in frontmatter for tag pages
- Add CSS for operations list cards with method badges, paths, and summaries
- Remove duplicate Overview section from list.html (was duplicating summary)
- Split "Data Operations" into separate nav groups: Write data, Query data, Cache data
- yarn build:api-docs: Generate API docs for all products
- yarn build:api-docs cloud-v2: Generate for specific product
- yarn build:api-docs:compile: Recompile TypeScript if modified
- latest-patch.html: Replace deprecated .Store with local variable
assignment. The .Store method was removed from shortcode context
in newer Hugo versions.
- api-endpoint.html: Add nil check for productRef lookup to prevent
index errors when productKey is not in productAliases dictionary.
Falls back to "influxdb" as default product reference.
Replace legacy API documentation approach with modern Scalar-based rendering:
## Architecture Changes
- Add renderer abstraction (`layouts/partials/api/`) supporting Scalar and RapiDoc
- Create `api` layout type for API reference pages (single.html, list.html)
- Configure renderer via `site.Params.apiRenderer` (default: scalar)
## OpenAPI Processing Pipeline (TypeScript)
- `api-docs/scripts/generate-openapi-articles.ts` - Main generation script
- `api-docs/scripts/openapi-paths-to-hugo-data/` - OpenAPI to Hugo data converter
- Generates per-endpoint path fragments for AI agent access
- Creates Hugo content pages with `type: api` frontmatter
## AI Agent Accessibility
- Full specs at `/openapi/influxdb-{product}.yml` and `.json`
- Per-endpoint fragments at `/openapi/influxdb-{product}/paths/`
- `<link rel="alternate">` tags in HTML for machine discovery
## Scalar Features
- Dark/light theme support synchronized with site theme
- InfluxData brand colors
- Responsive layout
- Download link for OpenAPI spec
## Products Supported
- cloud-v2, oss-v2
- influxdb3-core, influxdb3-enterprise
- cloud-dedicated, cloud-serverless, clustered
Usage: node api-docs/scripts/dist/generate-openapi-articles.js [product]
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.
* 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.
* 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>
- 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(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>
* 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
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>