Commit Graph

331 Commits (70e9f1849710dbd549295046bf6c6eee15ec6830)

Author SHA1 Message Date
Jason Stirnaman 70e9f18497 feat(api): add showDryRunPreview function 2026-02-18 19:49:24 -06:00
Jason Stirnaman 33705b85b5 feat(api): add cleanProductOutputs function 2026-02-17 17:04:22 -06:00
Jason Stirnaman ef97d21dd0 feat(api): add getCleanupPaths function 2026-02-17 17:02:59 -06:00
Jason Stirnaman 91bdc16386 feat(api): add --no-clean and --dry-run CLI flags 2026-02-17 17:00:48 -06:00
Jason Stirnaman 3a56561cfa style(api): remove RapiDoc styles and rename hugo-native to operations
Remove all RapiDoc-specific code from styles and JavaScript:
- Delete rapi-doc::part() CSS selectors from _api-layout.scss
- Delete dead auth modal styles from _api-security-schemes.scss
- Delete api-auth-input.ts component (RapiDoc "Try it" integration)
- Delete static/css/rapidoc-custom.css (unused)
- Remove setupRapiDocNavigation() from api-toc.ts
- Update comments to remove RapiDoc references

Rename _api-hugo-native.scss to _api-operations.scss since
Hugo-native is now the standard (not a POC).
2026-02-13 22:35:22 -06:00
Jason Stirnaman 2b3ed56218 refactor(api): complete Hugo-native migration, remove RapiDoc
Complete Tasks 1-5 of the Hugo-native API migration:

- Promote Hugo-native templates from POC to production location
- Remove RapiDoc templates (rapidoc.html, rapidoc-tag.html, rapidoc-mini.html)
- Remove RapiDoc JS components (api-rapidoc.ts, rapidoc-mini.ts)
- Clean up generation scripts (~200 lines of dead code removed)
- Rewrite Cypress tests for standard HTML (no shadow DOM)

Templates moved from layouts/partials/api/hugo-native/ to parent.
All verifications pass (Hugo build, TypeScript compilation).
2026-02-13 15:07:02 -06:00
Jason Stirnaman 22cf3a7daf refactor(api): split Cache data tag into Cache distinct values and Cache last value 2026-02-13 11:03:38 -06:00
Jason Stirnaman 17301e0833 fix: openapi-paths-to-hugo-data 2026-02-12 13:25:07 -06:00
Jason Stirnaman 045744f639 fix(api): replace Rapidoc links with page URLs, fix nav ordering
- Replace #operation/OperationId links with page-based URLs
  (e.g., #operation/GetLegacyQuery → /influxdb3/clustered/api/query-data/)
- Fix Quick start menu ordering by sorting nav items by weight
- Add default weight (100) to all articles for consistent sorting
- Quick start gets weight 1 to appear first in navigation
2026-02-09 10:02:09 -06:00
Jason Stirnaman da077a21b4 refactor(api): move Related guides to x-influxdatadocs-related field
- Add x-influxdatadocs-related support in TypeScript for tags and operations
- Remove inline "Related guides" sections from OpenAPI descriptions
- Move related links to structured x-influxdatadocs-related arrays
- Add weight support for Quick start pages (weight: 1) to appear first in nav
- Update clustered and cloud-dedicated v2/ref.yml specs
2026-02-06 13:48:31 -06:00
Jason Stirnaman 36ee2866e7 fix(api): remove old management API links from Authentication
- Replace /api/management/ links with appropriate alternatives
- Link to Database tokens API for token creation
- Use "Management operations" text instead of broken links
- Update Quick start to link to Databases API
2026-02-06 11:51:17 -06:00
Jason Stirnaman f1b9ea5bc4 feat(api): unified API structure for Clustered and Cloud Dedicated
- Update Authentication tag to cover both token types (management + database)
- Update Quick start to cover complete workflow (setup → write → query)
- Add dual download buttons on API landing pages
- Add context-aware download buttons on tag pages
- Remove old v2 HTML pages and duplicate auth directories
- Clean up management API specs (remove duplicate auth tags)

Part of API reference migration from Redoc to RapiDoc.
2026-02-06 11:17:53 -06:00
Jason Stirnaman 9ef314440c docs(api): update Quick start tag in Data API specs with complete workflow
Update the Quick start section in Clustered and Cloud Dedicated Data API
specs to cover the full getting started flow including:
- Creating a management token via influxctl
- Creating a database via Management API
- Creating a database token via Management API
- Writing data via Data API
- Querying data via Flight or HTTP API
2026-02-06 10:56:24 -06:00
Jason Stirnaman 7a20f7d3e5 docs(api): update Authentication tags to cover both token types in Data API specs
Add comprehensive authentication documentation that explains:
- Token types table (Management token vs Database token)
- Authentication schemes table with token type, endpoints, and header format
- Links to Management API authentication for management token usage

Updated in both Clustered and Cloud Dedicated Data API specs.
2026-02-06 10:53:47 -06:00
Jason Stirnaman be802b1941 feat(api): add v1 API overlay support and remove tag-groups
Add Redocly overlay pattern for InfluxDB v1 OSS and Enterprise APIs,
making them consistent with other products in the repository.

Changes:
- Create .config.yml and content overlays (info.yml, servers.yml) for
  both influxdb/v1 and enterprise_influxdb/v1
- Add updateOSSV1() and updateEnterpriseV1() functions to getswagger.sh
- Remove set-tag-groups decorator and all tag-groups.yml files

The tag-groups feature was a Redoc-specific workaround for navigation
grouping that is no longer needed with the Hugo/RapiDoc architecture.
2026-02-04 15:52:59 -06:00
Jason Stirnaman 96c0a342c1 fix(api): Update product references to use full product names in API
docs
2026-02-04 10:02:04 -06:00
Jason Stirnaman 8363d6b218 refactor(api): generate article_data at build time instead of tracking
- Add data/article_data/ to .gitignore
- Integrate generate-openapi-articles into generate-api-docs.sh
- Remove tracked article_data files (now generated at build time)

This avoids large data file diffs in PRs and ensures article data
stays in sync with OpenAPI specs.
2026-02-04 09:22:55 -06:00
Jason Stirnaman 25e81e5adb feat(api): add InfluxDB v1 API reference specs
Add OpenAPI specs for InfluxDB v1 APIs:
- api-docs/enterprise_influxdb/v1/v1/ref.yml
- api-docs/influxdb/v1/v1/ref.yml
2026-02-03 23:08:02 -06:00
Jason Stirnaman f8220d9499 style(api): apply prettier formatting to TypeScript source 2026-02-03 20:12:31 -06:00
Jason Stirnaman 91f17c2f05 style(api): apply prettier formatting to compiled JS 2026-02-03 20:12:19 -06:00
Jason Stirnaman 6d87f34ee2 chore(api): update v2 products specs and article data
- Update cloud-v2 and oss-v2 OpenAPI ref.yml specs
- Regenerate article data for both v2 products
2026-02-03 20:12:01 -06:00
Jason Stirnaman 1bc9960a48 fix(api): normalize Quick start tag name across products
- Standardize tag name to "Quick start" (two words) in tag-groups.yml
- Update .config.yml for cloud-dedicated and clustered products
2026-02-03 20:11:56 -06:00
Jason Stirnaman 244f0f3f11 feat(api): enhance OpenAPI article generation scripts
- Add tag-based article generation with operation grouping
- Support x-influxdata-related field for related content links
- Improve spec transformation with documentation link handling
- Add JSON output alongside YAML for article data
- Enhance path and tag spec generation for per-operation pages
2026-02-03 20:11:02 -06:00
Jason Stirnaman b0b3c6f115 feat(api): add migration pages, remove Redoc links, standardize x-influxdata-related
- Add get-started/migrate-from-influxdb-v1-v2.md pages for Core and Enterprise
- Move migration link from info description to x-influxdata-related field
- Remove all Redoc-style links (#operation/, #section/) from spec descriptions
- Rename x-influxdata-guides to x-influxdata-related throughout
- Update Core info description to match Enterprise format
- Regenerate article data for both products
2026-02-03 20:09:14 -06:00
Jason Stirnaman 8f68682069 fix(api): improve tag descriptions and separate auth contexts
- Add brief summary sentences to OpenAPI tag descriptions for better
  display in children lists (API compatibility, Authentication,
  Common parameters, Quick start)
- Rename Management API "Authentication" to "Admin authentication
  (management operations)" to distinguish from data API authentication
- Standardize "Quick start" tag naming (was "Quickstart" in some specs)
- Regenerate article data for cloud-dedicated, clustered, cloud-serverless
2026-02-03 16:52:01 -06:00
Jason Stirnaman 6138ebf7f1 fix(api): fix sidebar HTML, rebuild compiled JS, update all-endpoints links
Fixes:
- Remove stray </li> tag in api-menu-items.html causing invalid HTML
- Reformat minified sidebar template for maintainability
- Rebuild compiled JS to sync generatePathPages disabled state
- Update all-endpoints links to use tag page URLs with hash anchors
  (e.g., /api/cache-data/#post-/api/v3/configure/distinct_cache)
  instead of now-removed path pages
2026-01-29 23:47:58 -06:00
Jason Stirnaman 727a9befb7 feat(api): consolidate API docs to tag pages with inline operations
Migrate API documentation from individual operation pages to tag pages
where all operations for a tag are rendered inline using RapiDoc.

Key changes:
- Remove operation links from left sidebar (tags only, no children)
- Generate server-side TOC from frontmatter operations array
- Show method badge + human-readable summary in TOC (not paths)
- Support hash-based navigation (#post-/api/v3/configure/distinct_cache)
- RapiDoc scrollToPath() handles TOC clicks to shadow DOM elements
- goto-path attribute initializes to operation from URL hash
- update-route attribute updates URL hash as user navigates

Files created:
- layouts/partials/api/rapidoc-tag.html

Files removed:
- layouts/api-path/path.html (path page layout)
- layouts/partials/api/rapidoc-path.html (path page partial)
- Old design documents superseded by 2026-01-21 version

Files modified:
- layouts/api/list.html (embed RapiDoc, server-side TOC)
- layouts/api/section.html (simplified section layout)
- layouts/_default/api.html (fallback layout cleanup)
- layouts/partials/sidebar/api-menu-items.html (remove op children)
- assets/js/components/rapidoc-mini.ts (tag page support)
- assets/js/components/api-toc.ts (RapiDoc navigation)
- api-docs/scripts/generate-openapi-articles.ts (disable path pages)
2026-01-29 23:46:09 -06:00
Jason Stirnaman e0be4133f6 Merge origin/master into docs-v2-pr6622 2026-01-21 10:31:56 -06:00
Jason Stirnaman 6352e99559 chore(api): update compiled generation script 2026-01-20 15:39:14 -06:00
Jason Stirnaman a57aa265e7 feat(api): replace operation pages with path pages
Groups operations by API path instead of creating one page per method.
Each path page shows all HTTP methods using RapiDoc with match-type='includes'.

- Renamed generateOperationPages to generatePathPages
- Changed type from 'api-operation' to 'api-path'
- Changed layout from 'operation' to 'path'
- Groups multiple HTTP methods under same path into single page
- Sorts operations by method order: GET, POST, PUT, PATCH, DELETE
- Collects related links from all operations on the path
2026-01-20 15:12:46 -06:00
Jason Stirnaman e4f9d440e3
docs(influxdb3): Use a GET request to check ping response headers. (#6749)
- Updates identify-version guide and Core/Ent3 API specs
- Use GET. HEAD `/ping` responds with `404`
- Specify default auth requirement for Enterprise
- Tested with Core and Ent v3.8.0
2026-01-16 20:51:49 -06:00
Jason Stirnaman a5f846b544
Dar 589 cli api params (#6719)
* docs(influxdb3): fix format in GET /api/v3/configure/database

* docs(influxdb3): `fields` is required for `influxdb3 tables create` and
API
2026-01-15 15:51:16 -06:00
Jason Stirnaman 2fb5168b2b style: apply prettier formatting to scripts and tests 2026-01-14 17:31:55 -06:00
Jason Stirnaman 138e9e4f6e feat(api): add All endpoints page and fix v2 menu warnings
- Add "All endpoints" page showing all operations grouped by API version
- Generate all-endpoints page automatically via TypeScript generation script
- Make "All endpoints" nav item a clickable link instead of just a toggle
- Fix duplicate menu entry warnings for cloud-v2 and oss-v2 products
  by adding skipParentMenu: true to their configs
- Fix 404 errors for paths with curly braces (e.g., {request_path})
  by removing braces in normalize-path.html partial
- Add Cypress tests for API section structure and all-endpoints page
- Update v2 product article data with tag-based generation
2026-01-14 17:27:39 -06:00
Jason Stirnaman eb6feb75d2 fix(api): remove curly braces from URL paths and clean up section pages
- Fix apiPathToSlug() to strip curly braces from path parameters
  (e.g., {db} → db) to avoid URL encoding issues in Hugo
- Update Quick start tag description to include intro sentence:
  "Authenticate, write, and query with the API:"
- Remove {{< children >}} shortcode from API section _index.md files
  (layout's section-children.html partial already handles tag listing)
- Delete old cloud-serverless API pages with curly braces in paths
- Regenerate article data for all products
2026-01-08 10:56:05 -06:00
Jason Stirnaman befbc9f868 feat(api): enable tag-based generation for clustered
Add useTagBasedGeneration: true to clustered config to properly
generate tag-based API documentation pages for the management API,
consistent with cloud-dedicated and cloud-serverless configurations.
2026-01-07 16:47:04 -06:00
Jason Stirnaman 186721b6f9 feat(api): configure cloud-serverless for tag-based API generation
- Fix specFile path from non-existent management/openapi.yml to v2/ref.yml
- Enable useTagBasedGeneration for consistency with other InfluxDB 3 products
- Update comments to clarify that Cloud Serverless uses standard v2 API
  (not management API like Cloud Dedicated and Clustered)

Cloud Serverless API docs now generate 29 tag-based pages and 125 operation
pages from the v2 API spec.
2026-01-07 15:59:01 -06:00
Jason Stirnaman 58e01fd2cc feat(api): enable tag-based generation for cloud-dedicated
Cloud Dedicated's management API uses paths like /accounts/{accountId}/...
which can't be used directly as Hugo URLs (curly braces get stripped).

Enable useTagBasedGeneration to group operations by OpenAPI tags instead
(Authentication, Databases, Database tokens, etc.) matching the pattern
used by influxdb3-core and influxdb3-enterprise.
2026-01-07 15:50:35 -06:00
Jason Stirnaman 216795f0d4 feat(api): normalize API paths with version prefixes
- Add normalize-path.html partial for consistent path normalization
- Strip /api prefix and add v1/ for paths without version
- Update generate-openapi-articles.ts with same normalization logic
- Update list.html and sidebar menu to use normalized paths
- Document AWS credentials in deploy-staging.sh
2026-01-02 16:42:30 -06:00
Jason Stirnaman 9693417fd8 feat(api): Fix API reference tag-based section template (#6686)
* fix(api): refine .IsSection check to prevent breaking endpoint pages

The previous commit added an .IsSection check that correctly fixed
section index pages but inadvertently broke endpoint pages that Hugo
classifies as sections.

This commit refines the conditional to check for the absence of the
staticFilePath parameter, which distinguishes true section index pages
from endpoint pages that need the RapiDoc renderer:

- Section pages (no staticFilePath): Show children listing
- Endpoint pages (with staticFilePath): Use RapiDoc renderer

Fixes the regression introduced in commit 59daf17.

* chore: update Scalar references to RapiDoc in comments

Update code comments and documentation to accurately reflect that
the API documentation uses RapiDoc, not Scalar:

- api-docs/scripts/generate-openapi-articles.ts: Update JSDoc comments
- api-docs/scripts/dist/generate-openapi-articles.js: Update compiled version
- assets/js/components/api-toc.ts: Update implementation comment
- .claude/agents/ts-component-dev.md: Update component reference
- .claude/skills/hugo-template-dev/SKILL.md: Update component reference

The implementation uses RapiDoc throughout, so these comments needed
to be corrected for accuracy.

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-01-02 16:42:30 -06:00
Jason Stirnaman e841ae15ca feat(api): improve parent index pages with intro and children listing 2026-01-02 16:42:30 -06:00
Jason Stirnaman f3c841167b fix(api-docs): resolve duplicate api/api paths and menu warnings
Fixed two issues causing Hugo warnings about duplicate menu entries:

1. Path generation bug: apiPathToSlug returns 'api/v3/...' for paths
   starting with '/api/', but the generator always prepended 'api/',
   creating 'api/api/v3/...' paths.

   Fix: Only add 'api/' prefix if path doesn't already start with it.

2. Config inconsistency: cloud-dedicated, cloud-serverless, and clustered
   had '/api' in pagesDir while core/enterprise didn't. The function
   always adds '/api', causing double prefixes for some products.

   Fix: Removed '/api' from pagesDir for affected products to match
   core/enterprise pattern.
2026-01-02 16:42:30 -06:00
Jason Stirnaman c57011df0e feat(api): improve auth UX with sessionStorage and fix styling issues
Auth credentials:
- Switch from in-memory to sessionStorage for credentials
- Credentials persist across page navigations within browser tab
- Auto-clear when tab closes (no long-term storage)
- Pre-fill form fields with saved credentials on page load
- Update status text and button based on credential state

Styling fixes:
- Add right padding to code blocks so Copy button doesn't overlap content
- Make long URLs wrap instead of requiring horizontal scroll
- Hide TOC sidebar when no headings exist (e.g., quick-start page)
- Remove "Use RapiDoc's navigation..." message from TOC

API docs:
- Remove x-codeSamples from write_lp endpoints (Core and Enterprise)
- Add schema descriptions for line protocol request body
2026-01-02 16:42:30 -06:00
Jason Stirnaman 64c3d7b028 fix(api): propagate showSecuritySchemes to content generation
Add showSecuritySchemes field handling to generate-openapi-articles.ts
to ensure the flag is written to content frontmatter. Regenerate API
docs for cloud-dedicated and clustered products.
2026-01-02 16:42:29 -06:00
Jason Stirnaman a392b95f28 fix(api): add showSecuritySchemes to Authentication pages
Add showSecuritySchemes field to Article interface and automatically
set it to true for Authentication tag pages. This ensures the Security
Schemes section renders on authentication pages after API docs are
regenerated.
2026-01-02 16:42:29 -06:00
Jason Stirnaman 6a4e63be65 feat(api-docs): add link placeholder transformation for OpenAPI specs
Transform /influxdb/version/ placeholders in OpenAPI spec description
and summary fields to product-specific paths at build time.

- Add deriveProductPath() to extract product path from spec location
- Add transformDocLinks() to recursively transform markdown links
- Add validateDocLinks() with --validate-links CLI flag for checking
- Integrate transformation into processProduct() workflow
- Add placeholder links to Authorization header descriptions

The product path is derived from the spec file location, so
api-docs/influxdb3/core/v3/ref.yml produces /influxdb3/core paths.
2026-01-02 16:42:29 -06:00
Jason Stirnaman 6c25072ed3 feat(api): Convert auth input to popover with filtered schemes
- Convert collapsible auth panel to popover UI triggered by
  "Set credentials" button positioned above RapiDoc
- Filter auth schemes based on API path:
  - /api/v3/* endpoints: Bearer only
  - /api/v2/* endpoints: Bearer + Token
  - /write, /query (v1): All 4 schemes
- Fix "Authentication Not Required" bug by adding global security
  field to path-specific OpenAPI specs
- Change RapiDoc --blue CSS variable to green so status text and
  type links don't look like clickable links
- Add explicit button styling for Apply/Clear in popover
- Hide RapiDoc's built-in auth section (use custom popover instead)
2026-01-02 16:42:29 -06:00
Jason Stirnaman 9df709851b feat(api): Add per-operation security definitions to OpenAPI specs
- Set global security to BearerAuthentication only (best practice)
- Add per-operation security to v1 endpoints (all 4 auth schemes)
- Add per-operation security to v2 endpoint (Bearer + Token)
- Add no-auth option for initial token creation endpoint
- Fix TOC sidebar to include security scheme headings (move id to h3)
- Update Authentication tag table to accurately describe endpoint support
2026-01-02 16:42:29 -06:00
Jason Stirnaman 5610b7bdf3 fix(api): Complete Auth token rename and remove Redoc x-tagGroups
- 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
2026-01-02 16:42:27 -06:00
Jason Stirnaman 2fa00a36d2 fix(api): Fix RapiDoc operation filtering and improve API reference quality
- 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
2026-01-02 16:42:27 -06:00