Commit Graph

17 Commits (api-docs-uplift)

Author SHA1 Message Date
Jason Stirnaman f5535c9d5c feat(api): Hugo-native API reference rendering
Hugo-native templates for API
reference documentation. Operations render as server-side HTML instead
of client-side Redoc, providing faster page loads, full SEO
indexability, and consistent styling.

Architecture:
- Tag-based navigation: operations grouped by OpenAPI tag, accessed
  via tag pages only (no individual operation URLs)
- Generation script auto-discovers products from .config.yml files,
  deriving Hugo paths and menu keys from directory structure
- Per-tag JSON/YAML chunks for fast Hugo template rendering
- Inline curl examples generated from OpenAPI specs at build time

Templates (layouts/api/, layouts/partials/api/):
- tag-renderer.html: renders all operations for a tag
- operation.html: individual operation with parameters, request body,
  responses, and schema rendering
- code-sample.html: curl examples with Ask AI integration
- section-children.html: tag listing on section index pages
- all-endpoints-list.html: all operations sorted by path

Generation (api-docs/scripts/generate-openapi-articles.ts):
- Auto-discovery from .config.yml replaces hardcoded productConfigs
- Each API section generates independently (no cross-spec merging)
- Frontmatter-driven template data (specDownloadPath, articleDataKey)
- Link transformation: /influxdb/version/ placeholders resolved to
  product-specific paths

Removed:
- Redoc renderer, JavaScript components, and CSS
- Shadow DOM test infrastructure (~160 lines)
- Operation page generation (dead generatePathPages function)
- mergeArticleData() and slugifyDisplayName()

Styles (assets/styles/layouts/_api-*.scss):
- 3-column layout: sidebar, content, sticky TOC
- Theme-aware code blocks for curl examples
- Method badges (GET/POST/PUT/DELETE) with color coding
- Collapsible schema sections with depth tracking

Tests (cypress/e2e/content/api-reference.cy.js):
- Tag page rendering with operation structure
- Download button verification per section
- All-endpoints page with operation cards
- Related links from x-related OpenAPI extension
- Code sample and Ask AI link validation
2026-03-15 22:17:33 -05:00
Copilot ba28e124b1
Add Documentation MCP server pages to chronograf, kapacitor, flux, and explorer (#6833)
* 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>
2026-02-18 14:20:26 -06:00
Jason Stirnaman b4a0eea0a3
feat: add InfluxDB documentation MCP server integration (#6830)
* chore(deps): update yarn dependencies

Run yarn to update lockfile with latest compatible versions.

* feat: add InfluxDB documentation MCP server integration

- Enable MCP widget in Ask AI (data-mcp-enabled, data-mcp-server-url)
- Restructure mcp-server.md with anchor TOC for database and docs MCP
- Add documentation MCP server page for products without database MCP:
  - cloud-serverless, clustered, v2, cloud (TSM), telegraf
  - Place in Reference section (or telegraf_v1_ref menu)
- Add shared content file for docs-only MCP server
- Add "Connect to documentation MCP" link in format-selector dropdown
- Add related MCP links to all get-started/setup pages

* fix: correct JSON syntax and product-aware MCP docs URL

- Fix JSON syntax errors in Cloud Dedicated config examples (= → :)
- Add missing comma in Docker args array for local server config
- Make format-selector MCP docs URL product-aware using Hugo path detection

* docs: add MCP pages for v1 products, fix menu, add screenshot

- Fix cloud-serverless identify-version menu parent to "Administer InfluxDB Cloud"
- Add MCP server pages for influxdb/v1 and enterprise_influxdb/v1 in Tools menu
- Update format-selector with v1 and enterprise_influxdb/v1 MCP docs paths
- Add MCP tool search screenshot showing search_influxdb_knowledge_sources

* Update content/influxdb3/cloud-serverless/get-started/setup.md

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

* Update content/telegraf/v1/mcp-server.md

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

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-17 20:42:56 -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
Scott Anderson c3468f667d
feat(sample-data): add new wind sample dataset (#6440)
* feat(sample-data): add new wind sample dataset

* Apply suggestions from code review

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

* fix(js): fix syntax error and lint

---------

Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
2025-10-06 12:08:35 -06:00
Jason Stirnaman ddb36d1a39 Closes DAR #535 - Adds Clustered reference/internals/durability/\
- Migrates Cloud Dedicated durability page to shared for Dedicated and Clustered.\
- Adds diagram (also used in storage-engine) to illustrate data flow.
- Fixes typo in Serverless
2025-09-09 14:03:44 -05:00
Scott Anderson 8f729f9500
chore(sql): Update SQL reference with additional functions (#6359)
* feat(sql): WIP added struct and map functions

* chore(sql): update sql reference with new functions

* chore(sql): migrate sql reference function updates to other projects

* chore(sql): readd deleted cache functions pages

* Update content/shared/sql-reference/functions/array.md

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

* fix(sql): fixed broken anchor links

* fix(sql): fixed typos

* 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>
2025-09-05 08:26:38 -06:00
Scott Anderson 5435140582 hotfix: fix nav orphans and sorting, update clustered token delete to revoke 2025-05-13 09:25:11 -06:00
Jason Stirnaman 88fc48888c hotfix(v2): broken downloaded link, replace latest-cli shortcode with latest-patch 2025-04-30 10:48:15 -05:00
Jason Stirnaman 004592a7b5 chore(influxdb3): Cloud Serverless: use shared glossary file 2025-04-15 15:16:55 -05:00
Jason Stirnaman 7c076cc38f chore(monolith): Core and Enterprise: Add client library references, revise recommendations
chore(monolith): Recommend API over CLI for writing data (Closes #5957). Fix client library references
fix(monolith): Add tool comparison table (linked from client libs), fix and cleanup write data sections, link to client libraries.
fix(monolith): Remove redundant content.

Closes #5957
2025-04-09 19:53:48 -05:00
Scott Anderson ce04b19f1e
Overhaul canonical pages (#5955)
* overhaul how canonical pages are set

* updated canonical template comment
2025-04-03 12:43:17 -06:00
Scott Anderson 1522e734b9
Update shared content usage in v2 docs and more (#5953)
* replaced all oss- and cloud-only shortcodes

* removed duplicate oss calls and replaced with shared source

* base changes for shared v2 content

* restored shared grafana content

* removed frontmatter from shared v2 content

* WIP fixing lists with show-in shortcode

* fix lists that use show-in shortcode

* updated all v2 files to remove duplicate-oss and use source sharing

* update prepend and append frontmatter to just use string input

* fixed broken menu keys
2025-04-02 15:54:32 -06:00
Scott Anderson 8cada04c55
updated all notes and warnings in influxdb3 to use gh alert syntax (#5890) 2025-03-13 17:02:04 -06:00
Scott Anderson 4941aec730
Updates SQL reference (#5886)
* sql reference updates

* updated emphasis markers to pass lint
2025-03-12 09:21:42 -06:00
Scott Anderson 0e7d23dbac add sql window functions and new shortcodes 2025-02-21 14:11:32 -07:00
Scott Anderson 72c5295eed
InfluxDB 3 Core & InfluxDB 3 Enterprise alpha release (#5760)
* WIP monolith docs

* WIP monolith

* updated alpha shortcode

* template updates for v3 and pro

* SQL & InfluxQL reference docs for Pro and OSS v3 (#5718)

* point to shared influxql source files

* add sql and influxql references to pro and oss v3 docs

* Apply suggestions from code review

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

* ported changes to distributed influxql refs

---------

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

* Influxdb3 restructure (#5744)

* WIP monolith naming restructure

* rebuild homepage

* updated broken home links

* stabs in the dark

* fixed duplicate-oss shortcode

* move clustered and cloud-dedicated

* clean-up serverless cruft

* add distributed product redirects

* standarize productPathData

* switch back to findRE for productPathData

* remove debugging code

* move cloud dedicated content

* new product dropdown

* Jstirnaman/influxdb3 restructure (#5743)

* LDAPS and LDAP Client Certificate Docs

Add documentation via LDAP sample configuration for LDAPS and LDAP client certificates. These are new features in the yet-to-be released Enterprise 1.11.7

* Update bucket-schema.md

ndjson.org goes to some sort of sports betting site.

https://jsonlines.org/ is probably a better site.

* fix(partitioning): improve clarity and consistency in partitioning, apply suggestions from @reidkaufmann

* update shared links to use ambiguous version

* WIP monolith docs

* template updates for v3 and pro

* move clustered and cloud-dedicated

* switch back to findRE for productPathData

* move cloud dedicated content

* chore(influxdb3): port cloud-dedicated URLs from recent commit

* chore(influxdb3/clustered): fix and update links

* removed merge cruft

---------

Co-authored-by: Geoffrey Wossum <gwossum@influxdata.com>
Co-authored-by: Daniel Lo <wilburlo@gmail.com>
Co-authored-by: Scott Anderson <scott@influxdata.com>

---------

Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
Co-authored-by: Geoffrey Wossum <gwossum@influxdata.com>
Co-authored-by: Daniel Lo <wilburlo@gmail.com>

* added and styled alpha banner, updated producted selector styles and js

* updated alpha link styles

* updated discord link text

* updated alpha message

* fix page title

* Initial Files

* Initial Files

* InfluxDB 3 Enterprise CLI docs (#5745)

* WIP influxdb3 cli

* fix page title

* influxdb3 enterprise cli

* Apply suggestions from code review

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

---------

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

* fix(js): initialize CodePlaceholder on content loaded, small refactor toward component pattern.

* updated URL modal for core and enterprise

* remove testing code on install page

* InfuxDB 3 Enterprise configuration options (#5749)

* fix page title

* add enterprise 3 configuration options

* revert command updates to avoid conflicts

* updated config option name

* CLI updates, reorg, and photos

* updated host-id option to writer-id

* InfluxDB 3 Core CLI (#5750)

* WIP make influxdb3 docs shared

* finish making influxdb3 enterprise cli shared

* add influxdb3 core cli docs

* update config option name

* updated host-id to writer-id

* updated a few more host-id options to writer-id

* InfluxDB 3 Core configuration options (#5752)

* added missing enterprise config options

* add influxdb3 core config options, update enterprise options

* minor fixes in core config options

* update search integration data (#5753)

* Add shared v3 line protocol doc to Core and Enterprise (#5754)

* add shared v3 line protocol doc to core and enterprise

* Update content/shared/v3-line-protocol.md

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

---------

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

* feat: update getting started guides

* Update content/influxdb3/core/_index.md

* Update content/influxdb3/core/_index.md

* update use of 3.0 and v3 to just 3

* add basic download/install instructions (#5756)

* chore(monolith): port Enterprise and Core get-started guides to shared for reuse as /index and /get-started

* fix(monolith): reapply previous description change

* Jts/update Get started for monolith (#5759)

* fix(monolith): get-started cleanup (spelling, style, APIs)
- Finished Enterprise for now, not ported to Core.

* fix(monolith): python sample columns

* fix(monolith): Ports edits to Core, misc. fixes

* update alpha message

* add state to product dropdown items

---------

Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
Co-authored-by: Geoffrey Wossum <gwossum@influxdata.com>
Co-authored-by: Daniel Lo <wilburlo@gmail.com>
Co-authored-by: Peter Barnett <peterbarnett@Peters-MacBook-Pro.local>
Co-authored-by: Jason Stirnaman <stirnamanj@gmail.com>
Co-authored-by: Paul Dix <paul@pauldix.net>
2025-01-13 07:21:11 -07:00