Commit Graph

59 Commits (telegraf-plugin-cleanup)

Author SHA1 Message Date
Jason Stirnaman 6ae06a3899
fix(security): Update tar to version 7.5.3 and related dependencies (#6754)
* fix(security): Update tar to version 7.5.3 and related dependencies

* Update package.json

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

* Update package.json

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

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-20 14:49:07 -06:00
Jason Stirnaman bd6f7481b0
Dar 588 plugins (#6718)
* fix(influxdb3): source comments

* docs(influxdb3): fix plugin path handling and improve Get Started clarity

Fixes issues with plugin filename resolution and improves progressive
disclosure in the processing engine Get Started guide.

- Update `--plugin` flag to `--path` (current CLI syntax)
- Clarify plugin filename must be provided without relative/absolute paths
- Add note explaining path resolution relative to `--plugin-dir`
- Document single-file vs multi-file plugin path requirements
- Link to detailed multi-file plugin structure documentation

- Add "Before you begin" section listing required setup steps
- Add prerequisites to table of contents
- Improve progressive disclosure by front-loading essentials

- Update trigger type from "Data write" to "WAL rows" (consistent with `influxdb3 create trigger --help`) with WAL link
- Replace `--plugin` with `--path` in trigger creation example
- Fix syntax error in enable trigger example (missing backslash)
- Clarify plugin example as "data write (WAL) plugin"
- Update code comments for clarity and remove outdated notes
- Specify "wal_rows trigger specification" terminology

- Specify testing "process_writes (WAL) plugin" for clarity
- Reference multiple test commands, not just wal_plugin
- Add link to schedule_plugin test command
- Clarify that PLUGIN_FILENAME should be filename only

- Prevents path resolution errors users encountered
- Aligns documentation with current CLI behavior
- Improves Get Started guide readability and flow
- Reduces confusion about plugin file handling

Closes #588

* docs(influxdb3): Docker Compose optional plugin directory
- Added inline comments to Docker Compose examples: `# Optional: only
  needed for processing engine plugins`
- Appears for both `--plugin-dir` flag and volume mount
- Helps users understand they can skip this if not using plugins
- Better progressive disclosure - users see it's optional without
  needing separate explanation

* docs(influxdb3): Replace --plugin-filename with --path
- Uses `--path` for plugins, replacing deprecated `--plugin-filename`
- Replaces "Data write" with "WAL rows" to be consistent with CLI help
  docs

* Update content/shared/influxdb3-get-started/processing-engine.md

* fix(deps): add missing yarn.lock updates for puppeteer

The puppeteer dependency was added to package.json in commit 784956a31
but yarn.lock was not updated, causing CI failures with --frozen-lockfile.

* chore(deps): upgrade puppeteer to 24.35.0

- Upgrade puppeteer from 23.11.1 to 24.35.0
- Fix deprecated page.waitForTimeout() - replaced with Promise/setTimeout
- Fix deprecated headless: 'new' - now just uses headless boolean

The 'new' headless mode is now the default in Puppeteer 24.
2026-01-14 18:17:14 -06:00
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
Jason Stirnaman c2093c8212
Feature: Generate documentation in LLM-friendly Markdown (#6555)
* feat(llms): LLM-friendly Markdown, ChatGPT and Claude links.

This enables LLM-friendly documentation for entire sections,
allowing users to copy complete documentation sections with a single click.

Lambda@Edge now generates .md files on-demand with:
- Evaluated Hugo shortcodes
- Proper YAML frontmatter with product metadata
- Clean markdown without UI elements
- Section aggregation (parent + children in single file)

The llms.txt files are now generated automatically during build from
content structure and product metadata in data/products.yml, eliminating
the need for hardcoded files and ensuring maintainability.

**Testing**:
- Automated markdown generation in test setup via cy.exec()
- Implement dynamic content validation that extracts HTML content and
  verifies it appears in markdown version

**Documentation**:
Documents LLM-friendly markdown generation

**Details**:
Add gzip decompression for S3 HTML files in Lambda markdown generator

HTML files stored in S3 are gzip-compressed but the Lambda was attempting
to parse compressed data as UTF-8, causing JSDOM to fail to find article
elements. This resulted in 404 errors for .md and .section.md requests.

- Add zlib gunzip decompression in s3-utils.js fetchHtmlFromS3()
- Detect gzip via ContentEncoding header or magic bytes (0x1f 0x8b)
- Add configurable DEBUG constant for verbose logging
- Add debug logging for buffer sizes and decompression in both files

The decompression adds ~1-5ms per request but is necessary to parse
HTML correctly. CloudFront caching minimizes Lambda invocations.

Await async markdown conversion functions

The convertToMarkdown and convertSectionToMarkdown functions are async
but weren't being awaited, causing the Lambda to return a Promise object
instead of a string. This resulted in CloudFront validation errors:
"The body is not a string, is not an object, or exceeds the maximum size"

**Troubleshooting**:

- Set DEBUG for troubleshooting in lambda

* feat(llms): Add build-time LLM-friendly Markdown generation

Implements static Markdown generation during Hugo build.

**Key Features:**
- Two-phase generation: HTML→MD (memory-bounded), MD→sections (fast)
- Automatic redirect detection via file size check (skips Hugo aliases)
- Product detection using compiled TypeScript product-mappings module
- Token estimation for LLM context planning (4 chars/token heuristic)
- YAML serialization with description sanitization

**Performance:**
- ~105 seconds for 5,000 pages + 500 sections
- ~300MB peak memory (safe for 2GB CircleCI environment)
- 23 files/sec conversion rate with controlled concurrency

**Configuration Parameters:**
- MIN_HTML_SIZE_BYTES (default: 1024) - Skip files below threshold
- CHARS_PER_TOKEN (default: 4) - Token estimation ratio
- Concurrency: 10 workers (CI), 20 workers (local)

**Output:**
- Single pages: public/*/index.md (with frontmatter + content)
- Section bundles: public/*/index.section.md (aggregated child pages)

**Files Changed:**
- scripts/build-llm-markdown.js (new) - Main build script
- scripts/lib/markdown-converter.cjs (renamed from .js) - Core conversion
- scripts/html-to-markdown.js - Updated import path
- package.json - Updated exports for .cjs module

Related: Replaces Lambda@Edge on-demand generation (5s response time)
with build-time static generation for production deployment.

feat(deploy): Add staging deployment workflow and update CI

Integrates LLM markdown generation into deployment workflows with
a complete staging deployment solution.

**CircleCI Updates:**
- Switch from legacy html-to-markdown.js to optimized build:md
- 2x performance improvement (105s vs 200s+ for 5000 pages)
- Better memory management (300MB vs variable)
- Enables section bundle generation (index.section.md files)

**Staging Deployment:**
- New scripts/deploy-staging.sh for local staging deploys
- Complete workflow: Hugo build → markdown gen → S3 upload
- Environment variable driven configuration
- Optional step skipping for faster iteration
- CloudFront cache invalidation support

**NPM Scripts:**
- Added deploy:staging command for convenience
- Wraps deploy-staging.sh script

**Documentation:**
- Updated DOCS-DEPLOYING.md with comprehensive guide
- Merged staging/production workflows with Lambda@Edge docs
- Build-time generation now primary, Lambda@Edge fallback
- Troubleshooting section with common issues
- Environment variable reference
- Performance metrics and optimization tips

**Benefits:**
- Manual staging validation before production
- Consistent markdown generation across environments
- Faster CI builds with optimized script
- Better error handling and progress reporting
- Section aggregation for improved LLM context

**Usage:**
```bash
export STAGING_BUCKET="test2.docs.influxdata.com"
export AWS_REGION="us-east-1"
export STAGING_CF_DISTRIBUTION_ID="E1XXXXXXXXXX"

yarn deploy:staging
```

Related: Completes build-time markdown generation implementation

refactor: Remove Lambda@Edge implementation

Build-time markdown generation has replaced Lambda@Edge on-demand
generation as the primary method. Removed Lambda code and updated
documentation to focus on build-time generation and testing.

Removed:
- deploy/llm-markdown/ directory (Lambda@Edge code)
- Lambda@Edge section from DOCS-DEPLOYING.md

Added:
- Testing and Validation section in DOCS-DEPLOYING.md
- Focus on build-time generation workflow

* feat: Add Rust HTML-to-Markdown prototype

Implements core markdown-converter.cjs functions in Rust for performance comparison.

Performance results:
- Rust: ~257 files/sec (10× faster)
- JavaScript: ~25 files/sec average

Recommendation: Keep JavaScript for now, implement incremental builds first.
Rust migration provides 10× speedup but requires 3-4 weeks integration effort.

Files:
- Cargo.toml: Rust dependencies (html2md, scraper, serde_yaml, clap)
- src/main.rs: Core conversion logic + CLI benchmark tool
- benchmark-comparison.js: Side-by-side performance testing
- README.md: Comprehensive findings and recommendations

* fix(ui): improve dropdown positioning on viewport resize

- Ensure dropdown stays within viewport bounds (min 8px padding)
- Reposition dropdown on window resize and scroll events
- Clean up event listeners when dropdown closes

* chore(deps): add remark and unified packages for markdown processing

Add remark-parse, remark-frontmatter, remark-gfm, and unified for
enhanced markdown processing capabilities.

* fix(edge): add return to prevent trailing-slash redirect for valid extensions

Without the return statement, the Lambda@Edge function would continue
executing after the callback, eventually hitting the trailing-slash
redirect logic. This caused .md files to redirect to URLs with trailing
slashes, which returned 404 from S3.

* fix(md): add built-in product mappings and full URL support

- Add URL_PATTERN_MAP and PRODUCT_NAME_MAP constants directly in the
  CommonJS module (ESM product-mappings.js cannot be require()'d)
- Update generateFrontmatter() to accept baseUrl parameter and construct
  full URLs for the frontmatter url field
- Update generateSectionFrontmatter() similarly for section pages
- Update all call sites to pass baseUrl parameter

This fixes empty product fields and relative URLs in generated markdown
frontmatter when served via Lambda@Edge.

* feat(md): add environment flag for base URL control

Add -e, --env flag to html-to-markdown.js to control the base URL
in generated markdown frontmatter. This matches Hugo's -e flag behavior
and allows generating markdown with staging or production URLs.

Also update build-llm-markdown.js with similar environment support.

* feat(md): add Rust markdown converter and improve validation

- Add Rust-based HTML-to-Markdown converter with NAPI-RS bindings
- Update Cypress markdown validation tests
- Update deploy-staging.sh with force upload flag

* deploy-staging.sh:
  - Defaults STAGING_URL to https://test2.docs.influxdata.com
  if not set
  - Exports it so yarn build:md -e staging can use it
  - Displays it in the summary

* Delete scripts/prototypes/rust-markdown/benchmark-comparison.js

* Delete scripts/prototypes directory

* fix(llms): Include full URL for section page Markdown and list of child pages

* feat(llms): clarify format selector text for AI use case

Update button and dropdown text to make the AI/LLM purpose clearer:
- Button: "Copy page for AI" / "Copy section for AI"
- Sublabel: "Clean Markdown optimized for AI assistants"
- Section sublabel: "{N} pages combined as clean Markdown for AI assistants"

Cypress tests updated and passing (13/13).

---------

Co-authored-by: Scott Anderson <scott@influxdata.com>
2025-12-01 12:32:28 -06:00
Jason Stirnaman 2330308a0f
feat(api): add missing endpoints for InfluxDB 3.7 API (#6569)
- Add DELETE /api/v3/configure/database/retention_period
- Add DELETE /api/v3/configure/token
- Add POST /api/v3/configure/token/named_admin
- Add PUT /api/v3/plugins/files (requires admin token)
- Add PUT /api/v3/plugins/directory (requires admin token)

Apply to both influxdb3/core/v3 and influxdb3/enterprise/v3 specs.

chore(api): Add RemoveInternalOperations decorator to document Redocly's built-in behavior, hiding endpoints that have `x-internal: true`

chore(api): Add yarn build:api-docs

This command:
1. Changes to the api-docs directory
2. Executes the generate-api-docs.sh script to generate API
  documentation HTML from the OpenAPI specs
2025-11-25 15:01:31 -06:00
Jason Stirnaman 8ca4f9d2bb
Chore: update dependencies and fix frontmatter (#6556)
* chore(deps): update @vvago/vale to v3.12.0

Updates Vale style linter wrapper from v3.4.2 to v3.12.0.
This eliminates all dependency warnings related to deprecated
packages (fstream, rimraf, glob, inflight) in the Vale
dependency tree.

* fix(frontmatter): resolve frontmatter violations revealed by updates

Fixes frontmatter validation errors revealed after dependency updates:
- Remove duplicate 'related' and 'aliases' fields
- Fix invalid alias formatting (missing space after dash)
- Consolidate frontmatter structure to match schema requirements

Files updated:
- content/influxdb/v1/guides/query_data.md
- content/influxdb/v2/reference/cli/influx/auth/_index.md
- content/influxdb/v2/reference/cli/influx/bucket/_index.md
- content/influxdb/v2/reference/cli/influxd/recovery/user/_index.md
- content/influxdb3/cloud-dedicated/process-data/visualize/chronograf.md
- content/influxdb3/cloud-serverless/process-data/visualize/chronograf.md
- content/influxdb3/clustered/install/set-up-cluster/configure-cluster/directly.md
- content/influxdb3/clustered/process-data/visualize/chronograf.md
- content/platform/monitoring/influxdata-platform/monitoring-dashboards.md
2025-11-20 15:27:40 -06:00
dependabot[bot] 260284d625
chore(deps): bump js-yaml from 4.1.0 to 4.1.1
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.1.0 to 4.1.1.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.1.0...4.1.1)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 4.1.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-14 18:05:18 +00:00
Jason Stirnaman e8a48e3482
chore(docs): Redesign docs CLI tools for creating and editing content, add content/create.md tutorial page for the How to creat… (#6506)
* chore(docs): Add content/create.md tutorial page for the How to create your own documentation tutorial

chore(scripts): docs:create and docs:edit scripts for content creation and editing

Major improvements to docs:create UX for both Claude Code and external tool integration:

**New `docs` CLI command:**
- Add scripts/docs-cli.js - main CLI with subcommand routing
- Add bin field to package.json for `docs` command
- Usage: `docs create` and `docs edit` (cleaner than yarn commands)

**Smart piping detection:**
- Auto-detect when stdout is piped (\!process.stdout.isTTY)
- When piping: automatically output prompt text (no flag needed)
- When interactive: output prompt file path
- --print-prompt flag now optional (auto-enabled when piping)

**Specify products:**
- simplify link following behavior - treat relative paths as local files, all HTTP/HTTPS as external
- stdin now requires --products flag with product keys
- --products now accepts keys from products.yml (influxdb3_core, telegraf, etc.)

Examples:
  --products influxdb3_core
  --products influxdb3_core,influxdb3_enterprise
  --products telegraf

**Usage examples:**
  # Inside Claude Code - automatic execution
  docs create drafts/new-feature.md

  # Pipe to external AI - prompt auto-detected
  docs create FILE --products X | claude -p
  docs create FILE --products X | copilot -p

  # Pipe from stdin
  echo 'content' | docs create --products X | claude -p

Benefits:
- Cleaner syntax (no yarn --silent needed)
- No manual --print-prompt flag when piping
- Consistent with industry tools (git, npm, etc.)
- Backward compatible with yarn commands

WIP: docs:create usage examples

- Redesign of the docs CLI tools for creating and editing content
- Cleaner interface works better for piping output to agents and downstream utilities
- Updates README.md and other authoring docs

This repository includes a `docs` CLI tool for common documentation workflows:

```sh
npx docs create drafts/new-feature.md --products influxdb3_core

npx docs edit https://docs.influxdata.com/influxdb3/core/admin/

npx docs placeholders content/influxdb3/core/admin/upgrade.md

npx docs --help
```

**Run test cases:**

```sh
npx docs test
```

* Update content/create.md

* Update content/create.md

* Update content/create.md

* Update content/create.md

* Update scripts/templates/chatgpt-prompt.md

* Update DOCS-SHORTCODES.md
2025-11-03 10:18:15 -06:00
Jason Stirnaman 56b459659d
Jts agentsmd (#6486)
* feat(docs): add content scaffolding system with AI-powered analysis

Add yarn docs:create command for intelligent content scaffolding:

- Phase 1: Script analyzes draft and repository structure
- Phase 2: Claude command generates file structure and frontmatter
- Phase 3: Script creates files from proposal

New files:
- scripts/docs-create.js: Main orchestration script
- scripts/lib/content-scaffolding.js: Core scaffolding logic
- scripts/lib/file-operations.js: File I/O utilities
- .claude/commands/scaffold-content.md: Claude analysis command

Features:
- Intelligent product detection (Core, Enterprise, Cloud, etc.)
- Generates complete frontmatter
- Dry-run and interactive confirmation modes

Usage:
  yarn docs:create --from path/to/draft.md
  /scaffold-content
  yarn docs:create --execute

* chore(scripts): docs:create and docs:edit scripts for content creation and editing
2025-10-28 07:20:13 -05:00
Jason Stirnaman 20562d5bb6
Automate plugin documentation sync workflow between influxdb3_plugins and docs-v2 (#6329)
* feat(plugins): add automated plugin documentation sync workflow

- Add GitHub Actions workflow for syncing plugin docs from influxdb3_plugins
- Create issue template for triggering sync requests
- Add Node.js transformation script (port_to_docs.js) with ES modules
- Add mapping configuration (docs_mapping.yaml) for all official plugins
- Add npm scripts for plugin sync operations
- Include comprehensive documentation in helper-scripts/influxdb3-plugins/README.md

The workflow provides:
- Issue-triggered automation with no cross-repo secrets required
- Validation of source READMEs against template requirements
- Content transformation with Hugo shortcodes and GitHub URLs
- Screenshot generation for visual validation
- Automatic PR creation with detailed change summaries

* Updated source paths in docs_mapping.yaml to use ./influxdb3_plugins/ instead of ../influxdb3_plugins/ to match what the
  GitHub Actions workflow expects when it clones the
  repository:

  1. GitHub Actions workflow clones to ./influxdb3_plugins/
  2. docs_mapping.yaml references
  ./influxdb3_plugins/influxdata/[plugin]/README.md
  3. Local development can manually clone the repo to the same
   location for testing

  Tupdated all the source paths in
  docs_mapping.yaml to use ./influxdb3_plugins/ instead of
  ../influxdb3_plugins/. This now matches exactly what the
  GitHub Actions workflow expects when it clones the
  repository.

  The paths are now consistent:

  1. GitHub Actions workflow clones to ./influxdb3_plugins/
  2. docs_mapping.yaml references
  ./influxdb3_plugins/influxdata/[plugin]/README.md
  3. Local development can manually clone the repo to the same
   location for testing

  This resolves the inconsistency and makes the automation
  more reliable. For local development, developers would
  just need to run:

  git clone
  https://github.com/influxdata/influxdb3_plugins.git

  From the docs-v2 root directory, and then they can use the
  same paths that the automation uses.

* Updated source paths in docs_mapping.yaml to use ./influxdb3_plugins/ instead of ../influxdb3_plugins/ to match what the
  GitHub Actions workflow expects when it clones the
  repository:

  1. GitHub Actions workflow clones to ./influxdb3_plugins/
  2. docs_mapping.yaml references
  ./influxdb3_plugins/influxdata/[plugin]/README.md
  3. Local development can manually clone the repo to the same
   location for testing

  Tupdated all the source paths in
  docs_mapping.yaml to use ./influxdb3_plugins/ instead of
  ../influxdb3_plugins/. This now matches exactly what the
  GitHub Actions workflow expects when it clones the
  repository.

  The paths are now consistent:

  1. GitHub Actions workflow clones to ./influxdb3_plugins/
  2. docs_mapping.yaml references
  ./influxdb3_plugins/influxdata/[plugin]/README.md
  3. Local development can manually clone the repo to the same
   location for testing

  This resolves the inconsistency and makes the automation
  more reliable. For local development, developers would
  just need to run:

  git clone
  https://github.com/influxdata/influxdb3_plugins.git

  From the docs-v2 root directory, and then they can use the
  same paths that the automation uses.

* Jmercer/plugin sync test (#6468)

* fix: update workflow branch references from master to main

* fix: update issue template branch references from master to main

- Update sync-plugin-docs.yml description (line 40)
- Update placeholder from 'master' to 'main' (line 41)
- Update default value from 'master' to 'main' (line 42)
- Add influxdb3_plugins/ to .gitignore
- Ensures template matches influxdb3_plugins default branch

* Update .gitignore

---------

Co-authored-by: Jason Stirnaman <stirnamanj@gmail.com>

* Update docs_mapping.yaml

* Apply suggestion from @Copilot

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

* Apply suggestion from @jstirnaman

* Apply suggestion from @jstirnaman

* Apply suggestion from @jstirnaman

* Apply suggestion from @jstirnaman

* Use <docs-root>/.ext/influxdb3_plugins for the source path

---------

Co-authored-by: Jameelah Mercer <36314199+MeelahMe@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-20 17:18:34 -05:00
Jason Stirnaman e93e78be0a feat(influxdb): Version detector shortcode triggers a modal
Creates an interactive InfluxDB version detector component in TypeScript and a shortcode that generates a button to trigger
the version detector modal.
The shortcode takes a parameter that displays a predefined set of links for results.
- Support URL pattern matching and ping header analysis
- Add questionnaire-based product identification logic
- Adds the shortcode in a note in /influxdb3/core/visualize-data/grafana/
- Set up TypeScript configuration for the project
  - Configure automatic TypeScript compilation in pre-commit hooks
- Add to Grafana documentation pages
- Remove last remnants of old Cypress link checker
- Add Cypress tests, but many are still broken

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

Apply suggestions from code review

Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>

Update layouts/shortcodes/influxdb-version-detector.html

Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>

Update assets/js/influxdb-version-detector.ts

Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>

Update assets/styles/components/_influxdb-version-detector.scss

Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>

Fixes:
- Fix Hugo template to include product names in detector config
- Change elimination scores from -100 to -1000 for proper filtering
- Add scoring logic for generic "InfluxDB" product (OSS v2.x)
- Exclude generic "InfluxDB" from results (too vague)
- Add comprehensive test scenario checklist to Cypress tests
- Free license now correctly excludes Enterprise, Clustered, Dedicated
- Self-hosted now correctly excludes all Cloud products
- SQL language now correctly excludes v1 and v2 products
- Results now show only specific products (OSS 1.x, OSS 2.x, etc.)
Changes:
- When users answer "I'm not sure" to all questions, show a helpful
message directing them to the reference table instead of showing
a weak ranking with low confidence.
- Detect when all questionnaire answers are "unknown"
- Display custom message explaining lack of information
- Auto-expand reference table for easy product identification
- Hide ranked results when insufficient information provided
- Make product names clickable in the quick reference table to allow
users to quickly navigate to product documentation after identifying
their InfluxDB version.
2025-09-30 19:01:21 -05:00
dependabot[bot] 2b7aa74814
chore(deps): bump axios from 1.11.0 to 1.12.0
Bumps [axios](https://github.com/axios/axios) from 1.11.0 to 1.12.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.11.0...v1.12.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.12.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-12 21:50:51 +00:00
dependabot[bot] 73bb35d4de
chore(deps): bump mermaid from 11.9.0 to 11.10.0
Bumps [mermaid](https://github.com/mermaid-js/mermaid) from 11.9.0 to 11.10.0.
- [Release notes](https://github.com/mermaid-js/mermaid/releases)
- [Commits](https://github.com/mermaid-js/mermaid/compare/mermaid@11.9.0...mermaid@11.10.0)

---
updated-dependencies:
- dependency-name: mermaid
  dependency-version: 11.10.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-20 14:42:57 +00:00
Jason Stirnaman 3f4ad5fb37 chore(scripts): redo cli audit script:
Moved to new tooling repo.
Removed package scripts for now.

Script Gets commands from source code and grep docs for commands- replaces the CLI audit script- searches tagged repo branch source code for CLI commands- searches docs content the commands- allows including and excluding "categories" of docs paths to search
2025-08-19 09:59:31 -05:00
Jason Stirnaman a8578bb0af chore(ci): Removes old Cypress link checker test code 2025-08-18 10:51:57 -05:00
dependabot[bot] 57f52ed863
chore(deps): bump axios from 1.10.0 to 1.11.0
Bumps [axios](https://github.com/axios/axios) from 1.10.0 to 1.11.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.10.0...v1.11.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.11.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-25 16:55:42 +00:00
Jason Stirnaman fb743d70e3 chore(qol): Restructure CONTRIBUTING.md and improve agent instructions:
- control what content gets processed by adding the
  appropriate tags in CONTRIBUTING.md--for example:\

  - <!-- agent:instruct: essential --> - Keep all content
  - <!-- agent:instruct: condense --> - Summarize to key points
  - <!-- agent:instruct: remove --> - Skip entirely

- rename and move script to helper-scripts
2025-07-09 15:39:51 -05:00
Jason Stirnaman c74060210b chore(ci): Audit documentation for changes to influxdb3 CLI. Configures a GitHub release workflow to generate release notes and run the audit documentation script. 2025-07-07 12:13:36 -05:00
Jason Stirnaman 4973026adf Merge pull request #6079 from influxdata/chore-js-refactor-footer-scripts-modules
Chore: JavaScript: refactor footer scripts modules
2025-06-09 14:40:37 -05:00
Jason Stirnaman f819f48de9
Revert "Chore: JavaScript: refactor footer scripts modules" 2025-06-05 09:46:37 -05:00
Jason Stirnaman 95ab1a1430 chore(js): Remove unnecessary JS module config, remove redundant index.js 2025-06-02 15:14:45 -05:00
Jason Stirnaman 5da0442727 chore(qol): Build custom CoPilot instructions from CONTRIBUTING.md:
- Add a script and pre-commit command to generate a CoPilot instructions file  from CONTRIBUTING.md guidelines.
- Add custom instructions for CoPilot to help with influxdb3 placeholders
2025-05-27 10:33:12 -05:00
Jason Stirnaman 1dce052e56 fix(JS): Rename CommonJS scripts to .cjs extension, keep type: module as the project default. Update and fix ESLint configuration.
- Renames JavaScript files in flux-build-scripts and api-docs/openapi/plugins to .cjs file extension to declare them as CommonJS module syntax.
2025-05-19 11:34:42 -05:00
Jason Stirnaman da767f5228 chore(test): e2e test improvements:
- Link checker should report the first broken link
- Link checker should only test external links if the domains are in the allowed list
- If test subjects don't start with 'content/', treat them as URL paths and don't send them to map-files-to-urls.js.
2025-05-19 09:55:06 -05:00
Jason Stirnaman 4cfff239f3 End-to-end testing, CI script, and JavaScript QoL improvements:
- **Environment variable formatting** - Updated environment variable configuration from array format to object format to comply with Lefthook schema validation requirements.
- **Unified link testing** - Consolidated multiple product-specific link testing commands into a single `e2e-links` command that processes all staged Markdown and HTML files across content directories.
- **Package script integration** - Modified commands to use centralized yarn scripts instead of direct execution, improving maintainability and consistency.
- **Source information extraction** - Enhanced to correctly extract and report source information from frontmatter.
- **URL and source mapping** - Improved handling of URL to source path mapping for better reporting.
- **Ignored anchor links configuration** - Added proper exclusion of behavior-triggering anchor links (like tab navigation) to prevent false positives.
- **Request options correction** - Fixed Cypress request options to ensure `failOnStatusCode` is properly set when `retryOnStatusCodeFailure` is enabled.
- **Improved error reporting** - Enhanced error reporting with more context about broken links.
- **New test scripts added** - Added centralized testing scripts for link checking and codeblock validation.
- **Product-specific test commands** - Added commands for each product version (InfluxDB v2, v3 Core, Enterprise, Cloud, etc.).
- **API docs testing** - Added specialized commands for testing API documentation links.
- **Comprehensive test runners** - Added commands to run all tests of a specific type (`test:links:all`, `test:codeblocks:all`).
- Fix Docker build command and update CONTRIBUTING.

chore(js): JavaScript QoL improvements:

- Refactor main.js with a componentRegistry object and clear initialization of components and globals
- Add a standard index.js with all necessary exports.
- Update javascript.html to use the index.js
- Remove jQuery script tag from header javascript.html (remains in footer)
- Update package file to improve module discovery.
- Improve Hugo and ESLint config for module discovery and ES6 syntax
2025-05-19 09:50:33 -05:00
Jason Stirnaman 9755033970 chore(ci): closes #5887 Improve and automate pre-commit link-checking 2025-03-13 14:24:36 -05:00
Jason Stirnaman 38c9b6d5ef fix(clustered): set up clustered for air-gapped environments, add instructions for copying and installing the kubit CLI image to the environment, and for Helm, copy the kubit operator images. Closes https://github.com/influxdata/DAR/issues/484 2025-03-11 12:38:33 -05:00
Jason Stirnaman 0b7b73b8f7 fix(ci): Remove Nightwatch dependency 2025-02-25 17:09:32 -06:00
Jason Stirnaman 4314589c07 feat(v3): WIP: Revise API specs for Core and Enterprise
- Adds basic support for core and enterprise in getswagger.sh
- Adds custom OpenAPI info for Core and Enterprise
- Validates as OpenAPI 3.0 (using Spectral)
    - operationId
    - tags
- Revises use of Legacy, v2
- TODO: need to check and validate in UI, adjust tags if nec.
- Add and remove components
- Update parameters
- Add examples
- Add tests for Core
2025-02-25 17:08:05 -06:00
meelahme 9084233a0c enforced serialize-javascript@^6.0.2 via resolutions 2025-02-19 14:32:00 -08:00
Jason Stirnaman b5cda5ce15 hotfix(api): update header back link for new product structure 2025-02-19 16:06:25 -06:00
Jason Stirnaman 3abf1c506d chore: resolve conflicts 2025-02-14 09:39:44 -06:00
Jason Stirnaman cd3ad9e0a1 chore: Update and resolve yarn.lock 2025-02-12 13:52:06 -06:00
Jason Stirnaman 9947c72495 chore(e2e): Add Cypress for link checking and end-to-end tests. Fix broken links revealed by tests.
- Adds Cypress and a few basic tests for the global topnav, the home page, and link-checking.
- For link-checking, pass a comma-delimited list of URLs in an exported cypress_test_subjects environment variable. For examples, see the convenience commands in package.json
2025-02-12 13:48:30 -06:00
Jason Stirnaman c173edce68 Initial Kapa.ai chat integration.
Continue refactoring JavaScript into a component pattern and ESM.
Replaces some jQuery with native DOM API.

chore(ai): reference documentation and instructions for training AI

chore(ai): implement Kapa AI chat widget
- Move script tag to HTML template to make it obvious.
- Cleanup javascript to make it more component-like
- Set Kapa attributes, support setting userid

chore(js): add JS dependencies, previously referenced in script tags, to package.json for JS builds.

fix(api): indents

chore(js): package Mermaid diagram library

chore(js): refactor JS for AIChat and Theme as examples of using the component pattern for HTML/CSS/JS

chore(js): Use the new local-storage API in refactored module code and in code not yet ported. Cleanup syntax in local-storage and make functions available from window.LocalStorageAPI.

fix(js): theme.js name-change

chore(js): fix ai-chat.js file name

fix(js): refactor:
- componentNames are snakecase in HTML
- replace DOM selection method and jQuery eventhandler assignment
- remove old theme.js references

chore(ai): configure chat window overlay, size, and position:
- removes overlay and scroll lock
- positions chat to the right and bottom
- expands sample question width to 12 cols

chore(ai): edit disclaimer

fix(ai): size and position

chore(js): make ai-chat specific to configuration and and setting userid (for testing and future use).

fix(js): copy referrerHost variable to v3-wayfinding instead of relying on influxdb-url to assign it.

chore(ai): add a footer div at page bottom to contain modal triggers for custom-time and ask-ai. Still needs some CSS help. Moves tooltip text from CSS to HTML data attribute.

chore(ai): dynamically load AI script tag after DOMContentLoaded to avoid race conditions. Call initialization from the modal trigger module and pass the show trigger function to the onload handler.

fix(ai): fix modal triggers to viewport

fix(modal-triggers): stack the triggers into a single column.

restyle footer widgets

updated time selector modal to use correct storage term

minor style update

WIP(ai-chat): get product data

chore(js): Factor out pageContext module from influxdb-url.js

chore(js): Refactor helpers.js out of inflluxdb-url.js

WIP: refactor influxdburl - minimal changes for module conversions

feat(ai): Custom AI chat example questions product and version.
Ask AI example questions:
- Adds support for customizing example Ask AI questions per product or version.
- Configure questions in site `data/products.yml`; otherwise, it uses default questions from `ask-ai.js`

Context, page, and product data:
- Adds sample URLs for remaining versions in influxdb_urls
- `page-context.js` consolidates and exports constants for page context (protocol, host, path, referrer) and path-to-data mappings for product and influxdb_url site data

Module refactor:
- Refactors some JavaScript into ES6 modules, and refactors some of those further into a Component pattern--just vanilla JS and no shadow DOM stuff. The Component pattern that uses data attributes to "bind" JavaScript modules with CSS and HTML is a popular approach in modern web development. This pattern enhances modularity, reusability, and maintainability by associating behavior (JavaScript), structure (HTML), and style (CSS) through the use of data attributes.
- `assets/main.js` is the entrypoint
- Passes pageParams from the Hugo page to modules that import `@params`.
- Moves most external dependencies out of `script` tags and into package.json to be managed with `yarn`.
- Adds `eslint`.
- For modules that aren't yet components, wraps execution statements inside an `initialize()` function and calls the function from `main.js` on `DOMContentLoaded`.
- For components, if the page contains the `data-component="<component-name>"`, the matching element is passed to the component function on `DOMContentLoaded`.
- I tried to avoid changing logic where it wasn't necessary.

Update DOC_GPT_PROFILE.md

customize ai chat modal styles

fix(influxdb-url): Rename to cloud_dedicated in influxdb_urls.yml, remove newly added placeholder URL and use the extant default, refactor
- Rename  to  in influxdb_urls.yml
- Fix influxdb-url.js and data provision in local-storage.js to use the new name, mapping it to  to retain the existing local storage key

chore(api-lib): Use local-storage import instead of window global

chore(js): cleanup

fix(js): Ensure feature-callout initializes on page load

fix(theme): Load preferred theme before making the page visible. Execute a predefined function by specifying the function name in data-theme-callback

fix(search-toggle): Restores toggling the search field when sidebar is collapsed. Moves the event handler to a new search-button component

fix(ai): Fix custom attribute assignment. Rename property to ai_example_questions

Include the word `Bearer` or `Token`, a space, and your **token** value (all case-sensitive). Fix TOC links.
Fixes #5781

fix(api-docs): Update API reference directories and generation script for influxdb3 URL paths, update links and names in reference content

fix(api-ref): Update getswagger.sh destination paths to use the new directory structure when fetching spec files. Update the redocly  plugin module path.

hotfix: fix hlevel bug in children shortcode

Remove underline from custom time widget

add color to custom time widget styling
2025-02-12 13:48:29 -06:00
Jason Stirnaman ef106dd3a1 chore(e2e): Add Cypress for link checking and end-to-end tests. Fix broken links revealed by tests.
- Adds Cypress and a few basic tests for the global topnav, the home page, and link-checking.
- For link-checking, pass a comma-delimited list of URLs in an exported cypress_test_subjects environment variable. For examples, see the convenience commands in package.json
2025-02-03 17:52:04 -06:00
Jason Stirnaman f9f81ae8f9 Initial Kapa.ai chat integration.
Continue refactoring JavaScript into a component pattern and ESM.
Replaces some jQuery with native DOM API.

chore(ai): reference documentation and instructions for training AI

chore(ai): implement Kapa AI chat widget
- Move script tag to HTML template to make it obvious.
- Cleanup javascript to make it more component-like
- Set Kapa attributes, support setting userid

chore(js): add JS dependencies, previously referenced in script tags, to package.json for JS builds.

fix(api): indents

chore(js): package Mermaid diagram library

chore(js): refactor JS for AIChat and Theme as examples of using the component pattern for HTML/CSS/JS

chore(js): Use the new local-storage API in refactored module code and in code not yet ported. Cleanup syntax in local-storage and make functions available from window.LocalStorageAPI.

fix(js): theme.js name-change

chore(js): fix ai-chat.js file name

fix(js): refactor:
- componentNames are snakecase in HTML
- replace DOM selection method and jQuery eventhandler assignment
- remove old theme.js references

chore(ai): configure chat window overlay, size, and position:
- removes overlay and scroll lock
- positions chat to the right and bottom
- expands sample question width to 12 cols

chore(ai): edit disclaimer

fix(ai): size and position

chore(js): make ai-chat specific to configuration and and setting userid (for testing and future use).

fix(js): copy referrerHost variable to v3-wayfinding instead of relying on influxdb-url to assign it.

chore(ai): add a footer div at page bottom to contain modal triggers for custom-time and ask-ai. Still needs some CSS help. Moves tooltip text from CSS to HTML data attribute.

chore(ai): dynamically load AI script tag after DOMContentLoaded to avoid race conditions. Call initialization from the modal trigger module and pass the show trigger function to the onload handler.

fix(ai): fix modal triggers to viewport

fix(modal-triggers): stack the triggers into a single column.

restyle footer widgets

updated time selector modal to use correct storage term

minor style update

WIP(ai-chat): get product data

chore(js): Factor out pageContext module from influxdb-url.js

chore(js): Refactor helpers.js out of inflluxdb-url.js

WIP: refactor influxdburl - minimal changes for module conversions

feat(ai): Custom AI chat example questions product and version.
Ask AI example questions:
- Adds support for customizing example Ask AI questions per product or version.
- Configure questions in site `data/products.yml`; otherwise, it uses default questions from `ask-ai.js`

Context, page, and product data:
- Adds sample URLs for remaining versions in influxdb_urls
- `page-context.js` consolidates and exports constants for page context (protocol, host, path, referrer) and path-to-data mappings for product and influxdb_url site data

Module refactor:
- Refactors some JavaScript into ES6 modules, and refactors some of those further into a Component pattern--just vanilla JS and no shadow DOM stuff. The Component pattern that uses data attributes to "bind" JavaScript modules with CSS and HTML is a popular approach in modern web development. This pattern enhances modularity, reusability, and maintainability by associating behavior (JavaScript), structure (HTML), and style (CSS) through the use of data attributes.
- `assets/main.js` is the entrypoint
- Passes pageParams from the Hugo page to modules that import `@params`.
- Moves most external dependencies out of `script` tags and into package.json to be managed with `yarn`.
- Adds `eslint`.
- For modules that aren't yet components, wraps execution statements inside an `initialize()` function and calls the function from `main.js` on `DOMContentLoaded`.
- For components, if the page contains the `data-component="<component-name>"`, the matching element is passed to the component function on `DOMContentLoaded`.
- I tried to avoid changing logic where it wasn't necessary.

Update DOC_GPT_PROFILE.md

customize ai chat modal styles

fix(influxdb-url): Rename to cloud_dedicated in influxdb_urls.yml, remove newly added placeholder URL and use the extant default, refactor
- Rename  to  in influxdb_urls.yml
- Fix influxdb-url.js and data provision in local-storage.js to use the new name, mapping it to  to retain the existing local storage key

chore(api-lib): Use local-storage import instead of window global

chore(js): cleanup

fix(js): Ensure feature-callout initializes on page load

fix(theme): Load preferred theme before making the page visible. Execute a predefined function by specifying the function name in data-theme-callback

fix(search-toggle): Restores toggling the search field when sidebar is collapsed. Moves the event handler to a new search-button component

fix(ai): Fix custom attribute assignment. Rename property to ai_example_questions

Include the word `Bearer` or `Token`, a space, and your **token** value (all case-sensitive). Fix TOC links.
Fixes #5781

fix(api-docs): Update API reference directories and generation script for influxdb3 URL paths, update links and names in reference content

fix(api-ref): Update getswagger.sh destination paths to use the new directory structure when fetching spec files. Update the redocly  plugin module path.

hotfix: fix hlevel bug in children shortcode

Remove underline from custom time widget

add color to custom time widget styling
2025-02-03 08:31:55 -06:00
Jason Stirnaman 946b7a1f83 chore(ci): Update axios for security patch. 2024-08-20 14:28:58 -05:00
Jason Stirnaman 37a7a7c6e7 chore(ci): Improve pre-commit hook, test harness, and linter
- Pre-commit hook:
       - Redo test harness so commands can run in parallel
       - Cleanup Vale command args
       - Replace lint-staged and husky with Lefthook.
    - Pre-push hook:
       - Scan for package vulnerabilities
    - Tests
      - Run tests on demand, in parallel, or debugged using docker compose up, run, exec, etc.
      - Each test container (service) runs the prepare-content script before running tests.
      - Return to using Python instead of Docker to provide environment variables so they don't get exposed in Docker inspect.
      - Bind mount influxctl config.toml and .env.test files
      - Bind mount scripts for faster builds while iterating on test scripts.
    - Vale:
      - Override Acronyms style def--ignore acronym if it's linked.
2024-07-23 15:08:28 -05:00
Jason Stirnaman 922e48182a chore(ci): Improve Vale style linting:
- Run Vale in a Docker container by running ./.ci/vale/vale.sh <args>
- Define vale lint scripts in package.json. Lint added and changed files for products.
- Define error-level vale linting in the lint-staged configuration for staged files.
- Improve product-specific nomenclature checks (e.g. database vs bucket)
- Simplify vocab terms and allowed words lists.
- Fixes content errors revealed by vale.
2024-06-26 08:52:21 -05:00
Jason Stirnaman 9d542dd8d6 fix: write-data section: consistent page titles, database and table nomenclature in dedicated and clustered 2024-06-25 11:51:26 -05:00
Jason Stirnaman 5c74f013a1 chore(ci): Improve CI lint and test runners
- Reconfigures prettier linting.
- Adds .editorconfig to help with consistent editor settings
- Refactors test runs:
  - Removes test configuration from compose.yaml (not suited for this use case).
  - Splits test runner into test content setup and pytest that can be run separately or together (and with other test runners in the future).
  - Configuration is in Dockerfiles and command line (`.lintstagedrc.mjs`)
- Updates CONTRIBUTING.md
- Updates client library write examples in cloud-dedicated and clustered.
2024-06-21 18:41:07 -05:00
Jason Stirnaman 0209891e9c fix(ci): Set vale's minAlertLevel to error for commits 2024-05-29 18:06:18 -05:00
Jason Stirnaman 078df59a38 fix(ci): Vale format and custom vocabularies
- Revert vale JSON output to line output so that husky appropriately fails the commit.
- Update custom vocab terms
- Add Vale to BasedOnStyles to enable the custom vocabs--they need access to Vale's **Avoid** action.
2024-05-29 17:42:31 -05:00
Jason Stirnaman 8f95a26d36 chore: Remove quotes from vale command flag values 2024-05-29 17:09:03 -05:00
Jason Stirnaman 2e9d94fc90 chore(ci): configure lint-staged to run vale with custom vocabs
- Configures lint-staged to run vale on staged files and use a custom config with custom vocab for specific directories.
- .md files in other directories use the project-level .vale.ini
- Adds the write-good package for style checking
2024-05-29 16:46:51 -05:00
Jason Stirnaman 12b1583b68 chore: add test data and improve test runner:
- Pulls python client lib and CLI from Github repo instead of package repo so we can test the latest release. Specifies the last release tag.
- Adds CSV and JSON home sensor data samples to /static/downloads.
- Test image build bind mounts /static/downloads into /usr/src/app/test/tmp/data. Allows code samples to reference sample data as `./data/[file]`.
- Moves run-tests.sh to setup directory.
- Dockerfile cleanup. Add jq for inspection/troubleshooting.
2024-05-29 13:31:31 -05:00
Jason Stirnaman db059f99b0
Strategies to improve query performance: operations, number and size … (#5215)
* Strategies to improve query performance: operations, number and size of parquet files
Fixes #5108

- Add query performance strategies to optimize-queries

* Apply suggestions from code review

* Apply suggestions from code review

* Update content/influxdb/cloud-dedicated/query-data/execute-queries/optimize-queries.md

Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>

* chore(v3): WIP query perf
Fixes #5108

* chore(v3): WIP: Query performance

* chore(v3): WIP: Explain the EXPLAIN report and indicators of query expense, performance problems.

* WIP: optimize queries - how to read a query plan, operators

* WIP: Read a query plan example 2

* WIP: moved how to read a query plan to its own page.

* WIP(v3): operators

* chore(v3): WIP add query plan info from DataFusion slides and @NGA-TRAN

* chore(v3): WIP read a query plan - explain tree format and reorganize

* WIP: query plan

- Adds Query Plan reference
- Completes Analyze a Query Plan, pending cleanup, continue at :471
- Added image from Nga's blog
- Updates EXPLAIN doc
- TODO: Create public docs for
https://github.com/influxdata/docs.influxdata.io/blob/main/content/operations/specifications/iox_runbooks/slow-queries.md

* chore(spelling): Vale config changes

- Add vale to package.json and use Yarn to manage the binary. You can use `npx vale` to run manually.
- Move InfluxData spelling ignore list into the style.
- Reorganize custom (product) spelling lists to comply with Vale 3.x
- Add InfluxDB v3 terms

* chore(spelling): Vale config changes

- Add vale to package.json and use Yarn to manage the binary. You can use `npx vale` to run manually.
- Move InfluxData spelling ignore list into the style.
- Reorganize custom (product) spelling lists to comply with Vale 3.x
- Add InfluxDB v3 terms

* chore(v3): Reorg of query troubleshooting and optimizing docs

- Adds query-data/troubleshoot-and-optimize
- Splits optimize docs into troubleshoot and optimize docs
- Moves Flight response doc to flight-responses.md

* chore: Fixes broken links, typos, missing content, etc.

- Fixes various errors and style violations reported by Vale.
- Fixes broken links and missing content in glossaries.
- Fixes missing and extraneous whitespace.

* Apply suggestions from code review

* Update content/influxdb/cloud-dedicated/query-data/troubleshoot-and-optimize/analyze-query-plan.md

* chore(clustered): Query plan: Apply review suggestions

Co-Authored-By: Nga Tran <20850014+NGA-TRAN@users.noreply.github.com>

* feature(v3): Analyze a query plan:

- Apply code formatting to plan implementor names
- Simplify some points
- Add links

* add query plan html diagram (#5365)

* Update content/influxdb/cloud-dedicated/query-data/troubleshoot-and-optimize/analyze-query-plan.md

Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>

* Update content/influxdb/cloud-dedicated/query-data/troubleshoot-and-optimize/optimize-queries.md

Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>

* Update content/influxdb/cloud-dedicated/query-data/troubleshoot-and-optimize/trace.md

Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>

* Update content/influxdb/cloud-dedicated/query-data/troubleshoot-and-optimize/trace.md

Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>

* Update content/influxdb/cloud-dedicated/query-data/troubleshoot-and-optimize/trace.md

Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>

* Update content/influxdb/cloud-serverless/query-data/troubleshoot-and-optimize/analyze-query-plan.md

Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>

* fix(v3): finish the EXPLAIN descriptions and examples

* chore(tests): Setup a python venv in test containers

* fix(ci): Vale vocab

* fix(v3): Punctuation typo

* chore(ci): Update README

* fix(v3): Apply review suggestions and capitalization

Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>

* fix(v3): Add note to optimize page and revise troubleshoot

* fix(v3): optimize-queries link

---------

Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
Co-authored-by: Nga Tran <20850014+NGA-TRAN@users.noreply.github.com>
Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>
2024-03-15 18:40:38 -05:00
dependabot[bot] b892ddf32b
chore(deps): bump axios from 0.27.2 to 1.6.0 (#5227)
Bumps [axios](https://github.com/axios/axios) from 0.27.2 to 1.6.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.27.2...v1.6.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>
2023-11-13 09:15:41 -07:00