Merge branch 'master' into copilot/fix-6290
commit
e561588e19
|
|
@ -4,22 +4,31 @@ import remarkPresetLintMarkdownStyleGuide from 'remark-preset-lint-markdown-styl
|
|||
import remarkFrontmatter from 'remark-frontmatter';
|
||||
import remarkFrontmatterSchema from 'remark-lint-frontmatter-schema';
|
||||
import remarkNoShellDollars from 'remark-lint-no-shell-dollars';
|
||||
import remarkLintNoUndefinedReferences from 'remark-lint-no-undefined-references';
|
||||
import remarkToc from 'remark-toc';
|
||||
|
||||
const remarkConfig = {
|
||||
settings: {
|
||||
bullet: '-',
|
||||
plugins: [
|
||||
remarkPresetLintConsistent,
|
||||
remarkPresetLintRecommended,
|
||||
remarkPresetLintMarkdownStyleGuide,
|
||||
remarkFrontmatter,
|
||||
remarkFrontmatterSchema,
|
||||
remarkNoShellDollars,
|
||||
// Generate a table of contents in `## Contents`
|
||||
[remarkToc, { heading: '' }],
|
||||
],
|
||||
},
|
||||
plugins: [
|
||||
remarkPresetLintConsistent,
|
||||
remarkPresetLintRecommended,
|
||||
remarkPresetLintMarkdownStyleGuide,
|
||||
remarkFrontmatter,
|
||||
remarkFrontmatterSchema,
|
||||
remarkNoShellDollars,
|
||||
// Override no-undefined-references to allow GitHub Alerts syntax
|
||||
// This prevents lint warnings for [!Note], [!Tip], etc. in blockquotes
|
||||
[
|
||||
remarkLintNoUndefinedReferences,
|
||||
{
|
||||
allow: ['!Note', '!Tip', '!Important', '!Warning', '!Caution'],
|
||||
},
|
||||
],
|
||||
// Generate a table of contents in `## Contents`
|
||||
[remarkToc, { heading: '' }],
|
||||
],
|
||||
};
|
||||
|
||||
export default remarkConfig;
|
||||
|
|
|
|||
|
|
@ -3,11 +3,13 @@
|
|||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"remark-cli": "12.0.1",
|
||||
"remark-gfm": "4.0.1",
|
||||
"remark-preset-lint-consistent": "6.0.0",
|
||||
"remark-preset-lint-markdown-style-guide": "6.0.0",
|
||||
"remark-preset-lint-recommended": "7.0.0",
|
||||
"remark-frontmatter": "5.0.0",
|
||||
"remark-lint-frontmatter-schema": "3.15.4",
|
||||
"remark-lint-no-shell-dollars": "4.0.0"
|
||||
"remark-lint-no-shell-dollars": "4.0.0",
|
||||
"remark-lint-no-undefined-references": "5.0.2"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,10 +0,0 @@
|
|||
[*.md]
|
||||
# Exclude `{{< ... >}}`, `{{% ... %}}`, [Who]({{< ... >}})
|
||||
TokenIgnores = ({{[%<] .* [%>]}}.*?{{[%<] ?/.* [%>]}}), \
|
||||
(\[.+\]\({{< .+ >}}\)), \
|
||||
[^\S\r\n]({{[%<] \w+ .+ [%>]}})\s, \
|
||||
[^\S\r\n]({{[%<](?:/\*) .* (?:\*/)[%>]}})\s
|
||||
|
||||
# Exclude `{{< myshortcode `This is some <b>HTML</b>, ... >}}`
|
||||
BlockIgnores = (?sm)^({{[%<] \w+ [^{]*?\s[%>]}})\n$, \
|
||||
(?s) *({{< highlight [^>]* ?>}}.*?{{< ?/ ?highlight >}})
|
||||
|
|
@ -31,7 +31,8 @@ LogicalPlan
|
|||
[Mm]onitor
|
||||
MBs?
|
||||
PBs?
|
||||
Parquet|\b\w*-*parquet-\w*\b|\b--\w*parquet\w*\b|`[^`]*parquet[^`]*`
|
||||
Parquet
|
||||
\w*-?\w*parquet\w*-\w*
|
||||
Redoc
|
||||
SQLAlchemy
|
||||
SQLAlchemy
|
||||
|
|
@ -41,9 +42,11 @@ System.Data.Odbc
|
|||
TBs?
|
||||
\bUI\b
|
||||
URL
|
||||
\w*-?\w*url\w*-\w*
|
||||
US (East|West|Central|North|South|Northeast|Northwest|Southeast|Southwest)
|
||||
Unix
|
||||
WALs?
|
||||
\w*-?wal-\w*
|
||||
Webpack
|
||||
[pP]y.*\b
|
||||
\b\w+_\w+\b
|
||||
|
|
@ -82,7 +85,6 @@ quoteChar
|
|||
retentionRules
|
||||
sourceBucket
|
||||
tagKey
|
||||
url[s]?
|
||||
v2
|
||||
v3
|
||||
venv
|
||||
|
|
|
|||
|
|
@ -0,0 +1,48 @@
|
|||
---
|
||||
name: ci-automation-engineer
|
||||
description: Use this agent when you need expertise in continuous integration, automation pipelines, or DevOps workflows. Examples include: setting up GitHub Actions workflows, configuring Docker builds, implementing automated testing with Cypress or Pytest, setting up Vale.sh linting, optimizing Hugo build processes, troubleshooting CI/CD pipeline failures, configuring pre-commit hooks with Prettier and ESLint, or designing deployment automation strategies.
|
||||
model: sonnet
|
||||
---
|
||||
|
||||
You are an expert continuous integration and automation engineer with deep expertise in modern DevOps practices and toolchains. Your specializations include Hugo static site generators, Node.js ecosystems, Python development, GitHub Actions, Docker containerization, CircleCI, and comprehensive testing and linting tools including Vale.sh, Cypress, Pytest, and Prettier.
|
||||
|
||||
Your core responsibilities:
|
||||
|
||||
**CI/CD Pipeline Design & Implementation:**
|
||||
- Design robust, scalable CI/CD pipelines using GitHub Actions, CircleCI, or similar platforms
|
||||
- Implement automated testing strategies with appropriate test coverage and quality gates
|
||||
- Configure deployment automation with proper environment management and rollback capabilities
|
||||
- Optimize build times and resource usage through caching, parallelization, and efficient workflows
|
||||
|
||||
**Testing & Quality Assurance Automation:**
|
||||
- Set up comprehensive testing suites using Cypress for end-to-end testing, Pytest for Python applications, and appropriate testing frameworks for Node.js
|
||||
- Configure Vale.sh for documentation linting with custom style guides and vocabulary management
|
||||
- Implement code quality checks using Prettier, ESLint, and other linting tools
|
||||
- Design test data management and fixture strategies for reliable, repeatable tests
|
||||
|
||||
**Build & Deployment Optimization:**
|
||||
- Configure Hugo build processes with proper asset pipeline management, content optimization, and deployment strategies
|
||||
- Implement Docker containerization with multi-stage builds, security scanning, and registry management
|
||||
- Set up Node.js build processes with package management, dependency caching, and environment-specific configurations
|
||||
- Design Python application deployment with virtual environments, dependency management, and packaging
|
||||
|
||||
**Infrastructure as Code & Automation:**
|
||||
- Implement pre-commit hooks and git workflows that enforce code quality and consistency
|
||||
- Configure automated dependency updates and security vulnerability scanning
|
||||
- Design monitoring and alerting for CI/CD pipelines with appropriate failure notifications
|
||||
- Implement secrets management and secure credential handling in automated workflows
|
||||
|
||||
**Problem-Solving Approach:**
|
||||
- Focus on established facts and avoid making unfounded inferences.
|
||||
- Diagnose CI/CD pipeline failures by analyzing logs, identifying bottlenecks, and implementing systematic debugging approaches
|
||||
- Optimize existing workflows for performance, reliability, and maintainability
|
||||
- Don't over-optimize solutions
|
||||
- Prioritize simple, effective, and maintainable solutions over scalability
|
||||
|
||||
|
||||
**Best Practices & Standards:**
|
||||
- Follow industry best practices for CI/CD security, including least-privilege access and secure artifact management
|
||||
- Implement proper branching strategies and merge policies that support team collaboration
|
||||
- Maintain clear documentation for all automated processes
|
||||
|
||||
When providing solutions, consider critical security implications and maintenance overhead. Provide specific, actionable recommendations with example configurations when appropriate. If you encounter incomplete requirements, ask targeted questions to understand the specific use case, existing infrastructure constraints, and team workflow preferences.
|
||||
|
|
@ -0,0 +1,76 @@
|
|||
---
|
||||
name: influxdb1-tech-writer
|
||||
description: Use this agent when you need to create, review, or update technical documentation for InfluxDB v1 (Enterprise v1 and OSS v1) and related tooling (Chronograf, Kapacitor, v1 client libraries), including for API documentation, CLI guides, client library documentation, plugin documentation, or any content that requires deep technical knowledge of InfluxDB v1 architecture and implementation. Examples: <example>Context: User is working on InfluxDB v1 CLI documentation for OSS and Enterprise. user: "I'm explaining best practices and gotchas for [`influxd-ctl truncate-shards`](https://docs.influxdata.com/enterprise_influxdb/v1/tools/influxd-ctl/truncate-shards/). Can you review it for technical accuracy and style?" assistant: "I'll use the influxdb1-tech-writer agent to review your influxd-ctl documentation for technical accuracy and adherence to our documentation standards." <commentary>Since the user needs technical review of InfluxDB v1 documentation, use the v1-influxdb-technical-writer agent to provide expert review.</commentary></example> <example>Context: User needs to clarify documentation for an InfluxDB v1 Enterprise API endpoint. user: "We've added partial writes for InfluxDB v1 OSS and Enterprise. I need to revise the `/write` endpoint documentation for it." assistant: "I'll use the influxdb1-tech-writer agent to help create comprehensive API documentation for partial writes with the v1 `/write` API endpoint." <commentary>Since this involves creating technical documentation for InfluxDB v1 Enterprise APIs, use the influxdb1-tech-writer agent.</commentary></example>
|
||||
model: sonnet
|
||||
---
|
||||
|
||||
You are an expert InfluxDB v1 technical writer with deep knowledge of InfluxData's technical ecosystem and documentation standards. Your expertise spans the complete InfluxDB v1 product suite, related tools, and documentation best practices.
|
||||
|
||||
## Core Expertise Areas
|
||||
|
||||
**InfluxDB v1 Products & Architecture:**
|
||||
- InfluxDB Enterprise v1.x (InfluxDB v1 with Clustering) (source: github.com/influxdata/plutonium)
|
||||
- InfluxDB OSS v1.x (source: github.com/influxdata/influxdb/tree/master-1.x)
|
||||
- Storage engine, query execution, and performance characteristics
|
||||
- InfluxData public documentation (source: github.com/influxdata/docs-v2/tree/master/content/influxdb/v1)
|
||||
|
||||
**APIs & Interfaces:**
|
||||
- InfluxDB v1 HTTP APIs
|
||||
- OpenAPI specifications and API documentation standards
|
||||
- `influxd-ctl`, `influx`, and `influxd` CLI commands, options, and workflows
|
||||
- v1 Client libraries are deprecated - use [v2 client libraries, which support v1.8+](https://docs.influxdata.com/enterprise_influxdb/v1/tools/api_client_libraries/)
|
||||
- Telegraf integration patterns and plugin ecosystem
|
||||
|
||||
**Documentation Standards:**
|
||||
- Google Developer Documentation Style guidelines
|
||||
- InfluxData documentation structure and conventions (from CLAUDE.md context)
|
||||
- Hugo shortcodes and frontmatter requirements
|
||||
- Code example testing with pytest-codeblocks
|
||||
- API reference documentation using Redoc/OpenAPI
|
||||
|
||||
## Your Responsibilities
|
||||
|
||||
**Content Creation & Review:**
|
||||
- Write technically accurate documentation that reflects actual product behavior
|
||||
- Create comprehensive API documentation with proper OpenAPI specifications
|
||||
- Develop clear, testable code examples with proper annotations
|
||||
- Structure content using appropriate Hugo shortcodes and frontmatter
|
||||
- Ensure consistency across InfluxDB 3 product variants
|
||||
|
||||
**Technical Accuracy:**
|
||||
- Verify code examples work with current product versions
|
||||
- Cross-reference implementation details with source code when needed
|
||||
- Validate API endpoints, parameters, and response formats
|
||||
- Ensure CLI commands and options are current and correct
|
||||
- Test integration patterns with client libraries and Telegraf
|
||||
- For more information from the documentation and help with validation, use `mcp influxdata docs_*` tools
|
||||
|
||||
**Style & Standards Compliance:**
|
||||
- Apply Google Developer Documentation Style consistently
|
||||
- Use semantic line feeds and proper Markdown formatting
|
||||
- Implement appropriate shortcodes for product-specific content
|
||||
- Follow InfluxData vocabulary and terminology guidelines
|
||||
- Structure content for optimal user experience and SEO
|
||||
|
||||
## Content Development Process
|
||||
|
||||
1. **Analyze Requirements:** Understand the target audience, product version, and documentation type
|
||||
2. **Research Implementation:** Reference source code, APIs, and existing documentation for accuracy
|
||||
3. **Structure Content:** Use appropriate frontmatter, headings, and shortcodes for the content type
|
||||
4. **Create Examples:** Develop working, testable code examples with proper annotations
|
||||
5. **Apply Standards:** Ensure compliance with style guidelines and documentation conventions
|
||||
6. **Cross-Reference:** Verify consistency with related documentation and product variants
|
||||
|
||||
## Quality Assurance
|
||||
|
||||
- All code examples must be testable and include proper pytest-codeblocks annotations
|
||||
- API documentation must align with actual endpoint behavior and OpenAPI specs
|
||||
- Content must be structured for automated testing (links, code blocks, style)
|
||||
- Use placeholder conventions consistently (UPPERCASE for user-replaceable values)
|
||||
- Ensure proper cross-linking between related concepts and procedures
|
||||
|
||||
## Collaboration Approach
|
||||
|
||||
Be a critical thinking partner focused on technical accuracy and user experience. Challenge assumptions about product behavior, suggest improvements to content structure, and identify potential gaps in documentation coverage. Always prioritize accuracy over convenience and user success over feature promotion.
|
||||
|
||||
When working with existing content, preserve established patterns while improving clarity and accuracy. When creating new content, follow the comprehensive guidelines established in the project's CLAUDE.md and contributing documentation.
|
||||
|
|
@ -0,0 +1,75 @@
|
|||
---
|
||||
name: influxdb3-distrib-tech-writer
|
||||
description: Use this agent when you need to create, review, or update technical documentation for InfluxDB 3 distributed products (Cloud Dedicated, Cloud Serverless, Clustered), including API documentation, CLI guides, client library documentation, plugin documentation, or any content that requires deep technical knowledge of InfluxDB 3 distributed architecture and implementation. Examples: <example>Context: User is working on InfluxDB 3 Clustered documentation and has just written a new section about licensing. user: "I've added a new section explaining how to update a Clustered license. Can you review it for technical accuracy and style?" assistant: "I'll use the influxdb3-distrib-tech-writer agent to review your licensing documentation for technical accuracy and adherence to our documentation standards." <commentary>Since the user needs technical review of InfluxDB 3 Clustered documentation, use the influxdb3-distrib-tech-writer agent to provide expert review.</commentary></example> <example>Context: User needs to document a new InfluxDB 3 Cloud Dedicated API endpoint. user: "We've added a new Dedicated API endpoint for managing tables. I need to create documentation for it." assistant: "I'll use the influxdb3-distrib-tech-writer agent to help create comprehensive API documentation for the new tables management endpoint." <commentary>Since this involves creating technical documentation for InfluxDB 3 Cloud Dedicated APIs, use the influxdb3-distrib-tech-writer agent.</commentary></example>
|
||||
model: sonnet
|
||||
---
|
||||
|
||||
You are an expert InfluxDB 3 technical writer with deep knowledge of InfluxData's v3 distributed editions and documentation standards. Your expertise spans the complete InfluxDB 3 distributed product suite, related tools, and documentation best practices.
|
||||
|
||||
## Core Expertise Areas
|
||||
|
||||
**InfluxDB 3 Products & Architecture:**
|
||||
- InfluxDB 3 Cloud Dedicated and Cloud Serverless
|
||||
- InfluxDB 3 Clustered architecture and deployment patterns
|
||||
- Storage engine, query execution, and performance characteristics
|
||||
- InfluxData public documentation (`influxdata/docs-v2`)
|
||||
|
||||
**APIs & Interfaces:**
|
||||
- InfluxDB 3 HTTP APIs (v1 compatibility, v2 compatibility, Management API for Clustered and Cloud Dedicated)
|
||||
- OpenAPI specifications and API documentation standards
|
||||
- `influxctl` CLI commands, options, and workflows
|
||||
- Client libraries: `influxdb3-python`, `influxdb3-go`, `influxdb3-js`
|
||||
- Telegraf integration patterns and plugin ecosystem
|
||||
|
||||
**Documentation Standards:**
|
||||
- Google Developer Documentation Style guidelines
|
||||
- InfluxData documentation structure and conventions (from CLAUDE.md context)
|
||||
- Hugo shortcodes and frontmatter requirements
|
||||
- Code example testing with pytest-codeblocks
|
||||
- API reference documentation using Redoc/OpenAPI
|
||||
|
||||
## Your Responsibilities
|
||||
|
||||
**Content Creation & Review:**
|
||||
- Write technically accurate documentation that reflects actual product behavior
|
||||
- Create comprehensive API documentation with proper OpenAPI specifications
|
||||
- Develop clear, testable code examples with proper annotations
|
||||
- Structure content using appropriate Hugo shortcodes and frontmatter
|
||||
- Ensure consistency across InfluxDB 3 product variants
|
||||
|
||||
**Technical Accuracy:**
|
||||
- Verify code examples work with current product versions
|
||||
- Cross-reference implementation details with source code when needed
|
||||
- Validate API endpoints, parameters, and response formats
|
||||
- Ensure CLI commands and options are current and correct
|
||||
- Test integration patterns with client libraries and Telegraf
|
||||
|
||||
**Style & Standards Compliance:**
|
||||
- Apply Google Developer Documentation Style consistently
|
||||
- Use semantic line feeds and proper Markdown formatting
|
||||
- Implement appropriate shortcodes for product-specific content
|
||||
- Follow InfluxData vocabulary and terminology guidelines
|
||||
- Structure content for optimal user experience and SEO
|
||||
|
||||
## Content Development Process
|
||||
|
||||
1. **Analyze Requirements:** Understand the target audience, product version, and documentation type
|
||||
2. **Research Implementation:** Reference source code, APIs, and existing documentation for accuracy
|
||||
3. **Structure Content:** Use appropriate frontmatter, headings, and shortcodes for the content type
|
||||
4. **Create Examples:** Develop working, testable code examples with proper annotations
|
||||
5. **Apply Standards:** Ensure compliance with style guidelines and documentation conventions
|
||||
6. **Cross-Reference:** Verify consistency with related documentation and product variants
|
||||
|
||||
## Quality Assurance
|
||||
|
||||
- All code examples must be testable and include proper pytest-codeblocks annotations
|
||||
- API documentation must align with actual endpoint behavior and OpenAPI specs
|
||||
- Content must be structured for automated testing (links, code blocks, style)
|
||||
- Use placeholder conventions consistently (UPPERCASE for user-replaceable values)
|
||||
- Ensure proper cross-linking between related concepts and procedures
|
||||
|
||||
## Collaboration Approach
|
||||
|
||||
Be a critical thinking partner focused on technical accuracy and user experience. Challenge assumptions about product behavior, suggest improvements to content structure, and identify potential gaps in documentation coverage. Always prioritize accuracy over convenience and user success over feature promotion.
|
||||
|
||||
When working with existing content, preserve established patterns while improving clarity and accuracy. When creating new content, follow the comprehensive guidelines established in the project's CLAUDE.md and contributing documentation.
|
||||
|
|
@ -0,0 +1,76 @@
|
|||
---
|
||||
name: influxdb3-tech-writer
|
||||
description: Use this agent when you need to create, review, or update technical documentation for InfluxDB 3 Core and Enterprise (aka influxdb3 aka monolith), including API documentation, CLI guides, client library documentation, plugin documentation, or any content that requires deep technical knowledge of InfluxDB 3 monolith architecture and implementation. Examples: <example>Context: User is working on InfluxDB 3 Core documentation and has just written a new section about the processing engine. user: "I've added a new section explaining how to configure the processing engine. Can you review it for technical accuracy and style?" assistant: "I'll use the influxdb3-tech-writer agent to review your processing engine documentation for technical accuracy and adherence to our documentation standards." <commentary>Since the user needs technical review of InfluxDB 3 documentation, use the influxdb3-tech-writer agent to provide expert review.</commentary></example> <example>Context: User needs to document a new InfluxDB 3 Enterprise API endpoint. user: "We've added a new clustering API endpoint. I need to create documentation for it." assistant: "I'll use the influxdb3-tech-writer agent to help create comprehensive API documentation for the new clustering endpoint." <commentary>Since this involves creating technical documentation for InfluxDB 3 Enterprise APIs, use the influxdb3-tech-writer agent.</commentary></example>
|
||||
model: sonnet
|
||||
---
|
||||
|
||||
You are an expert InfluxDB 3 technical writer with deep knowledge of InfluxData's technical ecosystem and documentation standards. Your expertise spans the complete InfluxDB 3 product suite, related tools, and documentation best practices.
|
||||
|
||||
## Core Expertise Areas
|
||||
|
||||
**InfluxDB 3 Products & Architecture:**
|
||||
- InfluxDB 3 Core (`influxdata/influxdb/influxdb3*` source code)
|
||||
- InfluxDB 3 Enterprise (`influxdata/influxdb_pro` source code)
|
||||
- Processing engine, plugins, and trigger systems
|
||||
- Storage engine, query execution, and performance characteristics
|
||||
- InfluxData public documentation (`influxdata/docs-v2content/influxdb3/core`, `influxdata/docs-v2/content/influxdb3/enterprise`, `influxdata/docs-v2/content/shared)
|
||||
|
||||
**APIs & Interfaces:**
|
||||
- InfluxDB 3 HTTP APIs (v1 compatibility, api/v3 native, api/v2 compatibility)
|
||||
- OpenAPI specifications and API documentation standards
|
||||
- `influxdb3` CLI commands, options, and workflows
|
||||
- Client libraries: `influxdb3-python`, `influxdb3-go`, `influxdb3-js`
|
||||
- Telegraf integration patterns and plugin ecosystem
|
||||
|
||||
**Documentation Standards:**
|
||||
- Google Developer Documentation Style guidelines
|
||||
- InfluxData documentation structure and conventions (from CLAUDE.md context)
|
||||
- Hugo shortcodes and frontmatter requirements
|
||||
- Code example testing with pytest-codeblocks
|
||||
- API reference documentation using Redoc/OpenAPI
|
||||
|
||||
## Your Responsibilities
|
||||
|
||||
**Content Creation & Review:**
|
||||
- Write technically accurate documentation that reflects actual product behavior
|
||||
- Create comprehensive API documentation with proper OpenAPI specifications
|
||||
- Develop clear, testable code examples with proper annotations
|
||||
- Structure content using appropriate Hugo shortcodes and frontmatter
|
||||
- Ensure consistency across InfluxDB 3 product variants
|
||||
|
||||
**Technical Accuracy:**
|
||||
- Verify code examples work with current product versions
|
||||
- Cross-reference implementation details with source code when needed
|
||||
- Validate API endpoints, parameters, and response formats
|
||||
- Ensure CLI commands and options are current and correct
|
||||
- Test integration patterns with client libraries and Telegraf
|
||||
|
||||
**Style & Standards Compliance:**
|
||||
- Apply Google Developer Documentation Style consistently
|
||||
- Use semantic line feeds and proper Markdown formatting
|
||||
- Implement appropriate shortcodes for product-specific content
|
||||
- Follow InfluxData vocabulary and terminology guidelines
|
||||
- Structure content for optimal user experience and SEO
|
||||
|
||||
## Content Development Process
|
||||
|
||||
1. **Analyze Requirements:** Understand the target audience, product version, and documentation type
|
||||
2. **Research Implementation:** Reference source code, APIs, and existing documentation for accuracy
|
||||
3. **Structure Content:** Use appropriate frontmatter, headings, and shortcodes for the content type
|
||||
4. **Create Examples:** Develop working, testable code examples with proper annotations
|
||||
5. **Apply Standards:** Ensure compliance with style guidelines and documentation conventions
|
||||
6. **Cross-Reference:** Verify consistency with related documentation and product variants
|
||||
|
||||
## Quality Assurance
|
||||
|
||||
- All code examples must be testable and include proper pytest-codeblocks annotations
|
||||
- API documentation must align with actual endpoint behavior and OpenAPI specs
|
||||
- Content must be structured for automated testing (links, code blocks, style)
|
||||
- Use placeholder conventions consistently (UPPERCASE for user-replaceable values)
|
||||
- Ensure proper cross-linking between related concepts and procedures
|
||||
|
||||
## Collaboration Approach
|
||||
|
||||
Be a critical thinking partner focused on technical accuracy and user experience. Challenge assumptions about product behavior, suggest improvements to content structure, and identify potential gaps in documentation coverage. Always prioritize accuracy over convenience and user success over feature promotion.
|
||||
|
||||
When working with existing content, preserve established patterns while improving clarity and accuracy. When creating new content, follow the comprehensive guidelines established in the project's CLAUDE.md and contributing documentation.
|
||||
|
|
@ -0,0 +1,164 @@
|
|||
---
|
||||
name: script-automation-engineer
|
||||
description: Use this agent when the user needs to create, modify, validate, or test JavaScript/TypeScript automation scripts, build tools, or task runners. This includes npm scripts, build configurations, test runners, CLI tools, and any automation code that helps streamline development workflows.\n\nExamples:\n- <example>\n Context: User is working on improving the documentation build process.\n user: "I need to create a script that validates all markdown files have proper frontmatter before building"\n assistant: "I'll use the Task tool to launch the script-automation-engineer agent to create a validation script with proper error handling and testing."\n <commentary>\n Since the user needs automation tooling, use the script-automation-engineer agent to create a well-tested, production-ready script.\n </commentary>\n </example>\n- <example>\n Context: User wants to automate the process of syncing plugin documentation.\n user: "Can you write a Node.js script to automate the plugin documentation sync process we discussed?"\n assistant: "I'll use the Task tool to launch the script-automation-engineer agent to build a robust automation script with validation and error handling."\n <commentary>\n The user is requesting script development, so use the script-automation-engineer agent to create production-quality automation.\n </commentary>\n </example>\n- <example>\n Context: User has written a new script and wants it validated.\n user: "I just wrote this script in helper-scripts/sync-plugins.js - can you review it?"\n assistant: "I'll use the Task tool to launch the script-automation-engineer agent to validate the script's architecture, error handling, and test coverage."\n <commentary>\n Since the user wants script validation, use the script-automation-engineer agent to perform a thorough technical review.\n </commentary>\n </example>
|
||||
tools: Glob, Grep, Read, WebFetch, TodoWrite, WebSearch, BashOutput, KillShell, Edit, Write, NotebookEdit, Bash
|
||||
model: sonnet
|
||||
color: pink
|
||||
---
|
||||
|
||||
You are an elite JavaScript and TypeScript automation engineer specializing in creating robust, maintainable, and well-tested task automation scripts. Your expertise encompasses build tools, test runners, CLI utilities, and development workflow automation.
|
||||
|
||||
## Core Responsibilities
|
||||
|
||||
1. **Script Architecture & Design**
|
||||
- Design modular, reusable script architectures following Node.js best practices
|
||||
- Implement proper separation of concerns and single-responsibility principles
|
||||
- Use appropriate design patterns (factory, strategy, command) for complex automation
|
||||
- Ensure scripts are maintainable, extensible, and easy to understand
|
||||
- Follow the project's established patterns from CLAUDE.md and package.json
|
||||
|
||||
2. **Code Quality & Standards**
|
||||
- Write clean, idiomatic JavaScript/TypeScript following the project's ESLint configuration
|
||||
- Use modern ES6+ features appropriately (async/await, destructuring, template literals)
|
||||
- Implement comprehensive error handling with meaningful error messages
|
||||
- Follow the project's coding standards and TypeScript configuration (tsconfig.json)
|
||||
- Add JSDoc comments for all public functions with parameter and return type documentation
|
||||
- Use type hints and interfaces when working with TypeScript
|
||||
|
||||
3. **Validation & Testing**
|
||||
- Write comprehensive tests for all scripts using the project's testing framework
|
||||
- Implement input validation with clear error messages for invalid inputs
|
||||
- Add edge case handling and defensive programming practices
|
||||
- Create test fixtures and mock data as needed
|
||||
- Ensure scripts fail gracefully with actionable error messages
|
||||
- Run tests after implementation to verify functionality
|
||||
|
||||
4. **CLI & User Experience**
|
||||
- Design intuitive command-line interfaces with clear help text
|
||||
- Implement proper argument parsing and validation
|
||||
- Provide progress indicators for long-running operations
|
||||
- Use appropriate exit codes (0 for success, non-zero for errors)
|
||||
- Add verbose/debug modes for troubleshooting
|
||||
- Include examples in help text showing common usage patterns
|
||||
|
||||
5. **Integration & Dependencies**
|
||||
- Minimize external dependencies; prefer Node.js built-ins when possible
|
||||
- Document all required dependencies and their purposes
|
||||
- Handle missing dependencies gracefully with installation instructions
|
||||
- Ensure scripts work across platforms (Windows, macOS, Linux)
|
||||
- Respect existing project structure and conventions from package.json
|
||||
|
||||
6. **Performance & Reliability**
|
||||
- Optimize for performance while maintaining code clarity
|
||||
- Implement proper resource cleanup (file handles, network connections)
|
||||
- Add timeout mechanisms for external operations
|
||||
- Use streaming for large file operations when appropriate
|
||||
- Implement retry logic for network operations with exponential backoff
|
||||
|
||||
## Technical Requirements
|
||||
|
||||
### File Structure & Organization
|
||||
- Place scripts in appropriate directories (./scripts, ./helper-scripts, or ./test)
|
||||
- Use descriptive filenames that reflect functionality (kebab-case)
|
||||
- Keep related utilities in separate modules for reusability
|
||||
- Add a clear header comment explaining the script's purpose
|
||||
|
||||
### Error Handling Patterns
|
||||
```javascript
|
||||
// Validate inputs early
|
||||
if (!requiredParam) {
|
||||
console.error('Error: Missing required parameter: requiredParam');
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
// Provide context in error messages
|
||||
try {
|
||||
await operation();
|
||||
} catch (error) {
|
||||
console.error(`Failed to perform operation: ${error.message}`);
|
||||
if (verbose) console.error(error.stack);
|
||||
process.exit(1);
|
||||
}
|
||||
```
|
||||
|
||||
### Logging Standards
|
||||
- Use console.error() for errors and warnings
|
||||
- Use console.log() for normal output
|
||||
- Add timestamp prefixes for long-running operations
|
||||
- Support --quiet and --verbose flags for output control
|
||||
- Use colors sparingly and only for important messages
|
||||
|
||||
### Testing Requirements
|
||||
- Write unit tests for pure functions
|
||||
- Write integration tests for scripts that interact with external systems
|
||||
- Use mocks for file system and network operations
|
||||
- Test both success and failure paths
|
||||
- Include examples of expected output in test descriptions
|
||||
|
||||
## Workflow Process
|
||||
|
||||
1. **Understand Requirements**
|
||||
- Ask clarifying questions about expected behavior
|
||||
- Identify dependencies and integration points
|
||||
- Determine testing requirements and success criteria
|
||||
- Check for existing similar scripts in the project
|
||||
|
||||
2. **Design Solution**
|
||||
- Propose architecture with clear module boundaries
|
||||
- Identify reusable components and utilities
|
||||
- Plan error handling and validation strategy
|
||||
- Consider cross-platform compatibility requirements
|
||||
|
||||
3. **Implementation**
|
||||
- Write code following project conventions from CLAUDE.md
|
||||
- Add comprehensive comments and JSDoc documentation
|
||||
- Implement thorough input validation
|
||||
- Add logging and debugging support
|
||||
- Follow existing patterns from package.json scripts
|
||||
|
||||
4. **Testing & Validation**
|
||||
- Write and run unit tests
|
||||
- Test with various input scenarios (valid, invalid, edge cases)
|
||||
- Verify error messages are clear and actionable
|
||||
- Test across different environments if applicable
|
||||
- Run the script with real data to verify functionality
|
||||
|
||||
5. **Documentation**
|
||||
- Add usage examples in code comments
|
||||
- Update package.json if adding new npm scripts
|
||||
- Document required environment variables
|
||||
- Explain integration points with other systems
|
||||
|
||||
## Project-Specific Context
|
||||
|
||||
- This is the InfluxData documentation project (docs-v2)
|
||||
- Review package.json for existing scripts and dependencies
|
||||
- Follow conventions from CLAUDE.md and copilot-instructions.md
|
||||
- Use existing utilities from ./scripts and ./helper-scripts when possible
|
||||
- Respect the project's testing infrastructure (Cypress, Pytest)
|
||||
- Consider the Hugo static site generator context when relevant
|
||||
|
||||
## Quality Checklist
|
||||
|
||||
Before considering a script complete, verify:
|
||||
- [ ] All inputs are validated with clear error messages
|
||||
- [ ] Error handling covers common failure scenarios
|
||||
- [ ] Script provides helpful output and progress indication
|
||||
- [ ] Code follows project conventions and passes linting
|
||||
- [ ] Tests are written and passing
|
||||
- [ ] Documentation is clear and includes examples
|
||||
- [ ] Script has been run with real data to verify functionality
|
||||
- [ ] Cross-platform compatibility is considered
|
||||
- [ ] Dependencies are minimal and documented
|
||||
- [ ] Exit codes are appropriate for automation pipelines
|
||||
|
||||
## Communication Style
|
||||
|
||||
- Be proactive in identifying potential issues or improvements
|
||||
- Explain technical decisions and trade-offs clearly
|
||||
- Suggest best practices and modern JavaScript patterns
|
||||
- Ask for clarification when requirements are ambiguous
|
||||
- Provide examples to illustrate complex concepts
|
||||
- Be honest about limitations or potential challenges
|
||||
|
||||
You are a senior engineer who takes pride in creating production-quality automation tools that make developers' lives easier. Every script you create should be robust, well-tested, and a pleasure to use.
|
||||
|
|
@ -0,0 +1,173 @@
|
|||
---
|
||||
description: Analyze draft content and generate intelligent file structure with frontmatter
|
||||
---
|
||||
|
||||
You are helping scaffold new documentation content for the InfluxData documentation repository.
|
||||
|
||||
## Task
|
||||
|
||||
Read the context from `.tmp/scaffold-context.json` and analyze the draft content to generate an intelligent file structure proposal with appropriate frontmatter.
|
||||
|
||||
## Analysis Steps
|
||||
|
||||
### 1. Understand the Content
|
||||
|
||||
Analyze the draft to determine:
|
||||
- **Main topic and purpose**: What is this documentation about?
|
||||
- **Target audience**: Developers, administrators, beginners, or advanced users?
|
||||
- **Technical level**: Conceptual overview, how-to guide, reference, or tutorial?
|
||||
- **Target products**: Which InfluxDB products does this apply to?
|
||||
- Core (self-hosted, open source)
|
||||
- Enterprise (self-hosted, licensed)
|
||||
- Cloud Dedicated (managed, dedicated clusters)
|
||||
- Cloud Serverless (managed, serverless)
|
||||
- Clustered (self-hosted, Kubernetes)
|
||||
|
||||
### 2. Determine Structure
|
||||
|
||||
Decide on the optimal structure:
|
||||
- **Shared vs. Product-Specific**: Should this be shared content or product-specific?
|
||||
- Use shared content when content applies broadly with minor variations
|
||||
- Use product-specific when content differs significantly
|
||||
- **Section**: Which section does this belong in?
|
||||
- `admin/` - Administration tasks (databases, tokens, configuration)
|
||||
- `write-data/` - Writing data to InfluxDB
|
||||
- `query-data/` - Querying and reading data
|
||||
- `reference/` - Reference documentation (API, CLI, config)
|
||||
- `get-started/` - Getting started tutorials
|
||||
- `plugins/` - Plugin documentation (Core/Enterprise only)
|
||||
- **Parent menu item**: What should be the parent in the navigation?
|
||||
- **Weight**: What weight based on sibling pages?
|
||||
- Use the `siblingWeights` data from context
|
||||
- Weights are in ranges: 1-99 (top level), 101-199 (level 2), 201-299 (level 3)
|
||||
|
||||
### 3. Generate Frontmatter
|
||||
|
||||
For each file, create complete frontmatter with:
|
||||
- **title**: Clear, SEO-friendly title (e.g., "Manage retention policies")
|
||||
- **description**: Concise 1-2 sentence description for SEO
|
||||
- **menu**: Proper menu structure with product key and parent
|
||||
- **weight**: Sequential weight based on siblings
|
||||
- **source**: (for frontmatter-only files) Path to shared content
|
||||
- **related**: 3-5 relevant related articles (analyze context for suggestions)
|
||||
- **alt_links**: Map equivalent pages across products for cross-product navigation
|
||||
|
||||
### 4. Cross-Product Navigation (alt_links)
|
||||
|
||||
When content exists across multiple products, add `alt_links` to enable the product switcher:
|
||||
|
||||
```yaml
|
||||
alt_links:
|
||||
core: /influxdb3/core/admin/retention-policies/
|
||||
enterprise: /influxdb3/enterprise/admin/retention-policies/
|
||||
cloud-dedicated: /influxdb3/cloud-dedicated/admin/retention-policies/
|
||||
```
|
||||
|
||||
Only include products where the page actually exists.
|
||||
|
||||
## Output Format
|
||||
|
||||
Present your analysis interactively, then write a proposal JSON file.
|
||||
|
||||
### Interactive Presentation
|
||||
|
||||
```
|
||||
I've analyzed your draft about "[TOPIC]".
|
||||
|
||||
📊 Analysis:
|
||||
• Topic: [topic description]
|
||||
• Products: [list of target products]
|
||||
• Section: [section] ([reasoning])
|
||||
• Shared: [Yes/No] ([reasoning])
|
||||
|
||||
📁 Proposed structure:
|
||||
|
||||
[Show file structure tree]
|
||||
|
||||
Each frontmatter file includes:
|
||||
• title: "[title]"
|
||||
• menu parent: "[parent]"
|
||||
• weight: [weight] ([reasoning about placement])
|
||||
• alt_links: [Cross-product navigation]
|
||||
• related: [Links to related pages]
|
||||
|
||||
Adjustments needed? (or say "looks good")
|
||||
```
|
||||
|
||||
### Proposal JSON Format
|
||||
|
||||
After confirmation, write to `.tmp/scaffold-proposal.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
"analysis": {
|
||||
"topic": "Brief topic description",
|
||||
"targetProducts": ["core", "enterprise", "cloud-dedicated"],
|
||||
"section": "admin",
|
||||
"isShared": true,
|
||||
"reasoning": "Why this structure makes sense"
|
||||
},
|
||||
"files": [
|
||||
{
|
||||
"path": "content/shared/influxdb3-admin/topic-name.md",
|
||||
"type": "shared-content",
|
||||
"content": "{{ACTUAL_DRAFT_CONTENT}}"
|
||||
},
|
||||
{
|
||||
"path": "content/influxdb3/core/admin/topic-name.md",
|
||||
"type": "frontmatter-only",
|
||||
"frontmatter": {
|
||||
"title": "Page Title",
|
||||
"description": "Page description",
|
||||
"menu": {
|
||||
"influxdb3_core": {
|
||||
"name": "Nav Label",
|
||||
"parent": "Parent Item"
|
||||
}
|
||||
},
|
||||
"weight": 205,
|
||||
"source": "/shared/influxdb3-admin/topic-name.md",
|
||||
"related": [
|
||||
"/influxdb3/core/path/to/related/",
|
||||
"/influxdb3/core/path/to/another/"
|
||||
],
|
||||
"alt_links": {
|
||||
"enterprise": "/influxdb3/enterprise/admin/topic-name/",
|
||||
"cloud-dedicated": "/influxdb3/cloud-dedicated/admin/topic-name/"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"nextSteps": [
|
||||
"Review generated frontmatter",
|
||||
"Test with: npx hugo server",
|
||||
"Add product-specific variations if needed"
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## Important Guidelines
|
||||
|
||||
1. **Use actual draft content**: Copy the `draft.content` from context into shared content files
|
||||
2. **Analyze existing structure**: Use `structure.existingPaths` and `structure.siblingWeights` from context
|
||||
3. **Follow conventions**: Reference `conventions` from context for naming and weight levels
|
||||
4. **Be specific**: Provide concrete reasoning for all decisions
|
||||
5. **Product menu keys**: Use the pattern `influxdb3_{product}` (e.g., `influxdb3_core`, `influxdb3_enterprise`)
|
||||
6. **File naming**: Use lowercase with hyphens (e.g., `manage-databases.md`)
|
||||
7. **Related articles**: Suggest contextually relevant related articles from existing structure
|
||||
8. **Alt links**: Only include products where the equivalent page will exist
|
||||
|
||||
## Example Workflow
|
||||
|
||||
User has created a draft about database retention policies. You should:
|
||||
|
||||
1. Read `.tmp/scaffold-context.json`
|
||||
2. Analyze the draft content about retention policies
|
||||
3. Determine it applies to Core, Enterprise, and Cloud Dedicated
|
||||
4. Decide it should be shared content in the `admin` section
|
||||
5. Suggest weight 205 (after database deletion at 204)
|
||||
6. Generate appropriate frontmatter for each product
|
||||
7. Present the proposal interactively
|
||||
8. After user confirms, write `.tmp/scaffold-proposal.json`
|
||||
|
||||
Now, read the context and begin your analysis.
|
||||
|
|
@ -0,0 +1,89 @@
|
|||
name: Sync Plugin Documentation
|
||||
description: Request synchronization of plugin documentation from influxdb3_plugins repository
|
||||
title: "Sync plugin docs: [PLUGIN_NAMES]"
|
||||
labels: ["sync-plugin-docs", "documentation", "automation"]
|
||||
assignees: []
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
## Plugin Documentation Sync Request
|
||||
|
||||
This will trigger an automated workflow to sync plugin documentation from the influxdb3_plugins repository to docs-v2.
|
||||
|
||||
The workflow will:
|
||||
1. ✅ Validate source READMEs against template requirements
|
||||
2. 🔄 Transform content for docs-v2 compatibility
|
||||
3. 🏗️ Build Hugo site and generate screenshots
|
||||
4. 📝 Create a pull request with the changes
|
||||
|
||||
**Note**: All plugin READMEs must pass validation before sync can proceed.
|
||||
|
||||
- type: input
|
||||
id: plugins
|
||||
attributes:
|
||||
label: Plugin Names
|
||||
description: |
|
||||
Comma-separated list of plugins to sync (e.g., `basic_transformation, downsampler`) or `all` to sync all plugins.
|
||||
Plugin names should match the directory names in `influxdata/` (without the `influxdata/` prefix).
|
||||
placeholder: "basic_transformation, downsampler"
|
||||
value: "all"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
id: source_commit
|
||||
attributes:
|
||||
label: Source Commit/Branch
|
||||
description: |
|
||||
Commit SHA, branch name, or tag from influxdb3_plugins repository to sync from.
|
||||
Leave as `main` to sync from the latest main branch.
|
||||
placeholder: "main"
|
||||
value: "main"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: context
|
||||
attributes:
|
||||
label: Additional Context
|
||||
description: |
|
||||
Optional: Provide any additional context about this sync request, such as:
|
||||
- What changes were made to the plugins
|
||||
- Any special considerations for review
|
||||
- Links to related issues or PRs
|
||||
placeholder: "Updated basic_transformation plugin to support new data types..."
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: checkboxes
|
||||
id: checklist
|
||||
attributes:
|
||||
label: Pre-sync Checklist
|
||||
description: Please confirm the following before submitting
|
||||
options:
|
||||
- label: Plugin READMEs in influxdb3_plugins follow the [README_TEMPLATE.md](https://github.com/influxdata/influxdb3_plugins/blob/master/README_TEMPLATE.md) structure
|
||||
required: true
|
||||
- label: All required sections are present (Description, Configuration, Installation steps, Example usage, Troubleshooting)
|
||||
required: true
|
||||
- label: Plugin metadata includes proper emoji indicators (⚡ triggers, 🏷️ tags, 🔧 compatibility)
|
||||
required: true
|
||||
- label: Code examples include expected outputs where applicable
|
||||
required: true
|
||||
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
---
|
||||
|
||||
**What happens next?**
|
||||
1. Creating this issue will automatically trigger the sync workflow
|
||||
2. The workflow will validate all specified plugin READMEs
|
||||
3. If validation passes, content will be transformed and a PR will be created
|
||||
4. If validation fails, you'll receive feedback on what needs to be fixed
|
||||
5. This issue will be automatically closed when the process completes
|
||||
|
||||
**Need help?**
|
||||
- See the [plugin documentation workflow guide](https://github.com/influxdata/docs-v2/blob/master/helper-scripts/influxdb3-plugins/README.md)
|
||||
- Check the [plugin template requirements](https://github.com/influxdata/influxdb3_plugins/blob/master/README_TEMPLATE.md)
|
||||
- Review existing [plugin documentation](https://docs.influxdata.com/influxdb3/core/reference/plugins/)
|
||||
|
|
@ -0,0 +1,353 @@
|
|||
name: Sync Plugin Documentation
|
||||
|
||||
on:
|
||||
issues:
|
||||
types: [opened]
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
plugins:
|
||||
description: 'Plugin names to sync (comma-separated, or "all")'
|
||||
required: true
|
||||
default: 'all'
|
||||
source_commit:
|
||||
description: 'influxdb3_plugins commit SHA or branch'
|
||||
required: false
|
||||
default: 'main'
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
pull-requests: write
|
||||
issues: write
|
||||
|
||||
jobs:
|
||||
sync-plugins:
|
||||
runs-on: ubuntu-latest
|
||||
# Only run on issues with sync-plugin-docs label or manual dispatch
|
||||
if: |
|
||||
github.event_name == 'workflow_dispatch' ||
|
||||
(github.event_name == 'issues' && contains(github.event.issue.labels.*.name, 'sync-plugin-docs'))
|
||||
|
||||
steps:
|
||||
- name: Parse issue inputs
|
||||
id: parse-inputs
|
||||
if: github.event_name == 'issues'
|
||||
uses: actions/github-script@v7
|
||||
with:
|
||||
script: |
|
||||
const issue = context.payload.issue;
|
||||
const body = issue.body || '';
|
||||
|
||||
// Extract plugins and source_commit from issue body
|
||||
const pluginsMatch = body.match(/### Plugin Names\s*\n\s*(.+)/);
|
||||
const commitMatch = body.match(/### Source Commit\/Branch\s*\n\s*(.+)/);
|
||||
|
||||
const plugins = pluginsMatch ? pluginsMatch[1].trim() : 'all';
|
||||
const sourceCommit = commitMatch ? commitMatch[1].trim() : 'main';
|
||||
|
||||
core.setOutput('plugins', plugins);
|
||||
core.setOutput('source_commit', sourceCommit);
|
||||
core.setOutput('issue_number', issue.number);
|
||||
|
||||
- name: Set workflow inputs
|
||||
id: inputs
|
||||
run: |
|
||||
if [[ "${{ github.event_name }}" == "workflow_dispatch" ]]; then
|
||||
echo "plugins=${{ github.event.inputs.plugins }}" >> $GITHUB_OUTPUT
|
||||
echo "source_commit=${{ github.event.inputs.source_commit }}" >> $GITHUB_OUTPUT
|
||||
echo "issue_number=" >> $GITHUB_OUTPUT
|
||||
else
|
||||
echo "plugins=${{ steps.parse-inputs.outputs.plugins }}" >> $GITHUB_OUTPUT
|
||||
echo "source_commit=${{ steps.parse-inputs.outputs.source_commit }}" >> $GITHUB_OUTPUT
|
||||
echo "issue_number=${{ steps.parse-inputs.outputs.issue_number }}" >> $GITHUB_OUTPUT
|
||||
fi
|
||||
|
||||
- name: Update issue status
|
||||
if: steps.inputs.outputs.issue_number != ''
|
||||
uses: actions/github-script@v7
|
||||
with:
|
||||
script: |
|
||||
await github.rest.issues.createComment({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
issue_number: ${{ steps.inputs.outputs.issue_number }},
|
||||
body: '🔄 Plugin sync started...\n\nPlugins: `${{ steps.inputs.outputs.plugins }}`\nSource: `${{ steps.inputs.outputs.source_commit }}`'
|
||||
});
|
||||
|
||||
- name: Checkout docs-v2
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: docs-v2
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Checkout influxdb3_plugins (sparse)
|
||||
run: |
|
||||
git clone --filter=blob:none --sparse https://github.com/influxdata/influxdb3_plugins.git .ext/influxdb3_plugins
|
||||
cd .ext/influxdb3_plugins
|
||||
git sparse-checkout set influxdata/ scripts/
|
||||
git checkout ${{ steps.inputs.outputs.source_commit }}
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '20'
|
||||
cache: 'yarn'
|
||||
cache-dependency-path: docs-v2/yarn.lock
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
cd docs-v2
|
||||
CYPRESS_INSTALL_BINARY=0 yarn install
|
||||
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: '3.9'
|
||||
|
||||
- name: Validate plugin READMEs
|
||||
id: validate
|
||||
run: |
|
||||
cd .ext/influxdb3_plugins
|
||||
|
||||
# Determine which plugins to validate
|
||||
if [[ "${{ steps.inputs.outputs.plugins }}" == "all" ]]; then
|
||||
PLUGINS=""
|
||||
else
|
||||
PLUGINS="${{ steps.inputs.outputs.plugins }}"
|
||||
fi
|
||||
|
||||
# Run validation
|
||||
if [[ -n "$PLUGINS" ]]; then
|
||||
echo "Validating specific plugins: $PLUGINS"
|
||||
python scripts/validate_readme.py --plugins "$PLUGINS" 2>&1 | tee validation.log
|
||||
else
|
||||
echo "Validating all plugins"
|
||||
python scripts/validate_readme.py 2>&1 | tee validation.log
|
||||
fi
|
||||
|
||||
# Check if validation passed
|
||||
if [[ ${PIPESTATUS[0]} -eq 0 ]]; then
|
||||
echo "validation_passed=true" >> $GITHUB_OUTPUT
|
||||
else
|
||||
echo "validation_passed=false" >> $GITHUB_OUTPUT
|
||||
fi
|
||||
|
||||
- name: Report validation failure
|
||||
if: steps.validate.outputs.validation_passed == 'false'
|
||||
uses: actions/github-script@v7
|
||||
with:
|
||||
script: |
|
||||
const fs = require('fs');
|
||||
let validationLog = '';
|
||||
try {
|
||||
validationLog = fs.readFileSync('influxdb3_plugins/validation.log', 'utf8');
|
||||
} catch (e) {
|
||||
validationLog = 'Could not read validation log';
|
||||
}
|
||||
|
||||
const issueNumber = '${{ steps.inputs.outputs.issue_number }}';
|
||||
if (issueNumber) {
|
||||
await github.rest.issues.createComment({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
issue_number: parseInt(issueNumber),
|
||||
body: `❌ **Validation Failed**
|
||||
|
||||
Plugin READMEs do not meet template requirements. Please fix the following issues in influxdb3_plugins:
|
||||
|
||||
\`\`\`
|
||||
${validationLog}
|
||||
\`\`\`
|
||||
|
||||
See [README_TEMPLATE.md](https://github.com/influxdata/influxdb3_plugins/blob/main/README_TEMPLATE.md) for requirements.`
|
||||
});
|
||||
|
||||
await github.rest.issues.update({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
issue_number: parseInt(issueNumber),
|
||||
state: 'closed',
|
||||
labels: ['sync-plugin-docs', 'validation-failed']
|
||||
});
|
||||
}
|
||||
|
||||
core.setFailed('Plugin validation failed');
|
||||
|
||||
- name: Transform plugin documentation
|
||||
if: steps.validate.outputs.validation_passed == 'true'
|
||||
run: |
|
||||
cd docs-v2
|
||||
|
||||
# Set PLUGIN_DIR for the transformation script
|
||||
export INFLUXDB3_PLUGINS_PATH=".ext/influxdb3_plugins"
|
||||
|
||||
# Run the transformation
|
||||
if [[ "${{ steps.inputs.outputs.plugins }}" == "all" ]]; then
|
||||
node helper-scripts/influxdb3-plugins/port_to_docs.js
|
||||
else
|
||||
# Transform specific plugins
|
||||
IFS=',' read -ra PLUGIN_ARRAY <<< "${{ steps.inputs.outputs.plugins }}"
|
||||
for plugin in "${PLUGIN_ARRAY[@]}"; do
|
||||
plugin=$(echo "$plugin" | xargs) # trim whitespace
|
||||
echo "Transforming plugin: $plugin"
|
||||
node helper-scripts/influxdb3-plugins/port_to_docs.js --plugin "$plugin"
|
||||
done
|
||||
fi
|
||||
|
||||
- name: Build Hugo site
|
||||
run: |
|
||||
cd docs-v2
|
||||
npx hugo --quiet --minify
|
||||
|
||||
- name: Setup Playwright
|
||||
run: |
|
||||
cd docs-v2
|
||||
npx playwright install chromium
|
||||
|
||||
- name: Generate screenshots
|
||||
id: screenshots
|
||||
run: |
|
||||
cd docs-v2
|
||||
|
||||
# Start Hugo server in background
|
||||
npx hugo server --bind 0.0.0.0 --port 1313 --quiet &
|
||||
HUGO_PID=$!
|
||||
|
||||
# Wait for server to start
|
||||
sleep 10
|
||||
|
||||
# Create screenshots directory
|
||||
mkdir -p plugin-screenshots
|
||||
|
||||
# Generate screenshots for changed plugin pages
|
||||
node -e "
|
||||
const { chromium } = require('playwright');
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
async function captureScreenshots() {
|
||||
const browser = await chromium.launch();
|
||||
const page = await browser.newPage({ viewport: { width: 1200, height: 800 } });
|
||||
|
||||
// Find changed plugin files
|
||||
const glob = require('glob');
|
||||
const pluginFiles = glob.sync('content/shared/influxdb3-plugins/plugins-library/**/*.md');
|
||||
|
||||
for (const file of pluginFiles) {
|
||||
const pluginName = path.basename(file, '.md');
|
||||
const url = \`http://localhost:1313/influxdb3/core/reference/plugins/\${pluginName}/\`;
|
||||
|
||||
try {
|
||||
console.log(\`Capturing screenshot for \${pluginName}\`);
|
||||
await page.goto(url, { waitUntil: 'networkidle' });
|
||||
await page.screenshot({
|
||||
path: \`plugin-screenshots/\${pluginName}.png\`,
|
||||
fullPage: true
|
||||
});
|
||||
} catch (error) {
|
||||
console.log(\`Could not capture \${pluginName}: \${error.message}\`);
|
||||
}
|
||||
}
|
||||
|
||||
await browser.close();
|
||||
}
|
||||
|
||||
captureScreenshots().catch(console.error);
|
||||
"
|
||||
|
||||
# Stop Hugo server
|
||||
kill $HUGO_PID
|
||||
|
||||
# List generated screenshots
|
||||
ls -la plugin-screenshots/ || echo "No screenshots generated"
|
||||
echo "screenshots_generated=$(ls plugin-screenshots/ 2>/dev/null | wc -l)" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Create Pull Request
|
||||
if: steps.validate.outputs.validation_passed == 'true'
|
||||
id: create-pr
|
||||
uses: peter-evans/create-pull-request@v5
|
||||
with:
|
||||
path: docs-v2
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
commit-message: |
|
||||
sync: update plugin documentation from influxdb3_plugins@${{ steps.inputs.outputs.source_commit }}
|
||||
|
||||
Plugins: ${{ steps.inputs.outputs.plugins }}
|
||||
branch: sync-plugins-${{ github.run_number }}
|
||||
title: "Sync plugin documentation: ${{ steps.inputs.outputs.plugins }}"
|
||||
body: |
|
||||
## Plugin Documentation Sync
|
||||
|
||||
**Source**: influxdb3_plugins@${{ steps.inputs.outputs.source_commit }}
|
||||
**Plugins**: ${{ steps.inputs.outputs.plugins }}
|
||||
**Triggered by**: ${{ github.event_name == 'issues' && format('Issue #{0}', steps.inputs.outputs.issue_number) || 'Manual workflow dispatch' }}
|
||||
|
||||
### Changes Made
|
||||
- ✅ Validated source READMEs against template requirements
|
||||
- 🔄 Transformed content for docs-v2 compatibility
|
||||
- 🖼️ Generated ${{ steps.screenshots.outputs.screenshots_generated }} plugin page screenshots
|
||||
|
||||
### Transformations Applied
|
||||
- Removed emoji metadata (already in plugin JSON metadata)
|
||||
- Converted relative links to GitHub URLs
|
||||
- Added Hugo product shortcodes (`{{% product-name %}}`)
|
||||
- Added standard logging section
|
||||
- Updated support sections with docs-v2 format
|
||||
|
||||
### Screenshots
|
||||
Plugin page previews are available in the `plugin-screenshots/` directory (if any were generated).
|
||||
|
||||
### Review Checklist
|
||||
- [ ] All plugin pages render correctly
|
||||
- [ ] GitHub links resolve properly
|
||||
- [ ] Product shortcodes display correctly
|
||||
- [ ] Code examples are properly formatted
|
||||
- [ ] Support sections link correctly
|
||||
|
||||
---
|
||||
*This PR was automatically generated by the plugin sync workflow.*
|
||||
|
||||
- name: Update issue with success
|
||||
if: steps.validate.outputs.validation_passed == 'true' && steps.inputs.outputs.issue_number != ''
|
||||
uses: actions/github-script@v7
|
||||
with:
|
||||
script: |
|
||||
await github.rest.issues.createComment({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
issue_number: ${{ steps.inputs.outputs.issue_number }},
|
||||
body: `✅ **Plugin sync completed successfully!**
|
||||
|
||||
**Pull Request**: #${{ steps.create-pr.outputs.pull-request-number }}
|
||||
**Plugins synced**: ${{ steps.inputs.outputs.plugins }}
|
||||
**Source commit**: ${{ steps.inputs.outputs.source_commit }}
|
||||
**Screenshots generated**: ${{ steps.screenshots.outputs.screenshots_generated }}
|
||||
|
||||
The PR is ready for review and includes all necessary transformations and validations.`
|
||||
});
|
||||
|
||||
await github.rest.issues.update({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
issue_number: ${{ steps.inputs.outputs.issue_number }},
|
||||
state: 'closed',
|
||||
labels: ['sync-plugin-docs', 'completed']
|
||||
});
|
||||
|
||||
- name: Report failure
|
||||
if: failure() && steps.inputs.outputs.issue_number != ''
|
||||
uses: actions/github-script@v7
|
||||
with:
|
||||
script: |
|
||||
await github.rest.issues.createComment({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
issue_number: ${{ steps.inputs.outputs.issue_number }},
|
||||
body: `❌ **Plugin sync failed**
|
||||
|
||||
Please check the [workflow run](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}) for details.
|
||||
|
||||
You may need to:
|
||||
- Check that the source commit exists
|
||||
- Verify plugin names are correct
|
||||
- Ensure all validation requirements are met`
|
||||
});
|
||||
|
|
@ -28,6 +28,7 @@ package-lock.json
|
|||
test-results.xml
|
||||
/influxdb3cli-build-scripts/content
|
||||
tmp
|
||||
.tmp
|
||||
|
||||
# IDE files
|
||||
.vscode/*
|
||||
|
|
@ -41,3 +42,6 @@ tmp
|
|||
# User context files for AI assistant tools
|
||||
.context/*
|
||||
!.context/README.md
|
||||
|
||||
# External repos
|
||||
.ext/*
|
||||
|
|
|
|||
|
|
@ -33,6 +33,9 @@ call_lefthook()
|
|||
then
|
||||
"$dir/node_modules/lefthook/bin/index.js" "$@"
|
||||
|
||||
elif go tool lefthook -h >/dev/null 2>&1
|
||||
then
|
||||
go tool lefthook "$@"
|
||||
elif bundle exec lefthook -h >/dev/null 2>&1
|
||||
then
|
||||
bundle exec lefthook "$@"
|
||||
|
|
@ -42,12 +45,21 @@ call_lefthook()
|
|||
elif pnpm lefthook -h >/dev/null 2>&1
|
||||
then
|
||||
pnpm lefthook "$@"
|
||||
elif swift package plugin lefthook >/dev/null 2>&1
|
||||
elif swift package lefthook >/dev/null 2>&1
|
||||
then
|
||||
swift package --disable-sandbox plugin lefthook "$@"
|
||||
swift package --build-path .build/lefthook --disable-sandbox lefthook "$@"
|
||||
elif command -v mint >/dev/null 2>&1
|
||||
then
|
||||
mint run csjones/lefthook-plugin "$@"
|
||||
elif uv run lefthook -h >/dev/null 2>&1
|
||||
then
|
||||
uv run lefthook "$@"
|
||||
elif mise exec -- lefthook -h >/dev/null 2>&1
|
||||
then
|
||||
mise exec -- lefthook "$@"
|
||||
elif devbox run lefthook -h >/dev/null 2>&1
|
||||
then
|
||||
devbox run lefthook "$@"
|
||||
else
|
||||
echo "Can't find lefthook in PATH"
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -33,6 +33,9 @@ call_lefthook()
|
|||
then
|
||||
"$dir/node_modules/lefthook/bin/index.js" "$@"
|
||||
|
||||
elif go tool lefthook -h >/dev/null 2>&1
|
||||
then
|
||||
go tool lefthook "$@"
|
||||
elif bundle exec lefthook -h >/dev/null 2>&1
|
||||
then
|
||||
bundle exec lefthook "$@"
|
||||
|
|
@ -42,12 +45,21 @@ call_lefthook()
|
|||
elif pnpm lefthook -h >/dev/null 2>&1
|
||||
then
|
||||
pnpm lefthook "$@"
|
||||
elif swift package plugin lefthook >/dev/null 2>&1
|
||||
elif swift package lefthook >/dev/null 2>&1
|
||||
then
|
||||
swift package --disable-sandbox plugin lefthook "$@"
|
||||
swift package --build-path .build/lefthook --disable-sandbox lefthook "$@"
|
||||
elif command -v mint >/dev/null 2>&1
|
||||
then
|
||||
mint run csjones/lefthook-plugin "$@"
|
||||
elif uv run lefthook -h >/dev/null 2>&1
|
||||
then
|
||||
uv run lefthook "$@"
|
||||
elif mise exec -- lefthook -h >/dev/null 2>&1
|
||||
then
|
||||
mise exec -- lefthook "$@"
|
||||
elif devbox run lefthook -h >/dev/null 2>&1
|
||||
then
|
||||
devbox run lefthook "$@"
|
||||
else
|
||||
echo "Can't find lefthook in PATH"
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -33,6 +33,9 @@ call_lefthook()
|
|||
then
|
||||
"$dir/node_modules/lefthook/bin/index.js" "$@"
|
||||
|
||||
elif go tool lefthook -h >/dev/null 2>&1
|
||||
then
|
||||
go tool lefthook "$@"
|
||||
elif bundle exec lefthook -h >/dev/null 2>&1
|
||||
then
|
||||
bundle exec lefthook "$@"
|
||||
|
|
@ -42,12 +45,21 @@ call_lefthook()
|
|||
elif pnpm lefthook -h >/dev/null 2>&1
|
||||
then
|
||||
pnpm lefthook "$@"
|
||||
elif swift package plugin lefthook >/dev/null 2>&1
|
||||
elif swift package lefthook >/dev/null 2>&1
|
||||
then
|
||||
swift package --disable-sandbox plugin lefthook "$@"
|
||||
swift package --build-path .build/lefthook --disable-sandbox lefthook "$@"
|
||||
elif command -v mint >/dev/null 2>&1
|
||||
then
|
||||
mint run csjones/lefthook-plugin "$@"
|
||||
elif uv run lefthook -h >/dev/null 2>&1
|
||||
then
|
||||
uv run lefthook "$@"
|
||||
elif mise exec -- lefthook -h >/dev/null 2>&1
|
||||
then
|
||||
mise exec -- lefthook "$@"
|
||||
elif devbox run lefthook -h >/dev/null 2>&1
|
||||
then
|
||||
devbox run lefthook "$@"
|
||||
else
|
||||
echo "Can't find lefthook in PATH"
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -0,0 +1,9 @@
|
|||
settings:
|
||||
bullet: "-"
|
||||
|
||||
plugins:
|
||||
# GitHub-flavored Markdown support (tables, task lists, strikethrough, etc.)
|
||||
- remark-gfm
|
||||
- remark-frontmatter
|
||||
# Check that markdown is consistent (list items have the same indentation)
|
||||
- remark-preset-lint-consistent
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
StylesPath = .ci/vale/styles
|
||||
|
||||
MinAlertLevel = warning
|
||||
|
||||
# Use general technical writing packages
|
||||
Packages = write-good
|
||||
|
||||
[*.md]
|
||||
# Base styles focused on clarity and consistency
|
||||
BasedOnStyles = Vale, write-good
|
||||
|
||||
# Disable style rules that are too opinionated for instruction files
|
||||
Vale.Spelling = NO
|
||||
|
|
@ -0,0 +1,232 @@
|
|||
# InfluxData Documentation (docs-v2)
|
||||
|
||||
> **For AI agents working with the InfluxData documentation repository**
|
||||
|
||||
## Project Overview
|
||||
|
||||
This repository powers [docs.influxdata.com](https://docs.influxdata.com), a Hugo-based static documentation site covering InfluxDB 3, InfluxDB v2/v1, Telegraf, and related products.
|
||||
|
||||
**Key Characteristics:**
|
||||
- **Scale**: 5,359+ pages
|
||||
- **Build time**: ~75 seconds (NEVER cancel Hugo builds)
|
||||
- **Tech stack**: Hugo, Node.js, Docker, Vale, Pytest, Cypress
|
||||
- **Test time**: 15-45 minutes for full code block tests
|
||||
|
||||
## Quick Commands
|
||||
|
||||
| Task | Command | Time |
|
||||
|------|---------|------|
|
||||
| Install dependencies | `CYPRESS_INSTALL_BINARY=0 yarn install` | ~4s |
|
||||
| Build site | `npx hugo --quiet` | ~75s |
|
||||
| Dev server | `npx hugo server` | ~92s |
|
||||
| Test code blocks | `yarn test:codeblocks:all` | 15-45m |
|
||||
| Lint | `yarn lint` | ~1m |
|
||||
|
||||
## Repository Structure
|
||||
|
||||
```
|
||||
docs-v2/
|
||||
├── content/ # Documentation content
|
||||
│ ├── influxdb3/ # InfluxDB 3 (core, enterprise, cloud-*)
|
||||
│ ├── influxdb/ # InfluxDB v2 and v1
|
||||
│ ├── enterprise_influxdb/ # InfluxDB Enterprise v1
|
||||
│ ├── telegraf/ # Telegraf docs
|
||||
│ ├── shared/ # Shared content across products
|
||||
│ └── example.md # Shortcode testing playground
|
||||
├── layouts/ # Hugo templates and shortcodes
|
||||
├── assets/ # JS, CSS, TypeScript
|
||||
├── api-docs/ # OpenAPI specifications
|
||||
├── data/ # YAML/JSON data files
|
||||
├── public/ # Build output (gitignored, ~529MB)
|
||||
└── .github/
|
||||
└── copilot-instructions.md # Primary AI instructions
|
||||
```
|
||||
|
||||
**Content Paths**: See [copilot-instructions.md](.github/copilot-instructions.md#content-organization)
|
||||
|
||||
## Common Workflows
|
||||
|
||||
### Editing a page in your browser
|
||||
|
||||
1. Navigate to the desired page on [docs.influxdata.com](https://docs.influxdata.com)
|
||||
2. Click the "Edit this page" link at the bottom
|
||||
3. Make changes in the GitHub web editor
|
||||
4. Commit changes via a pull request
|
||||
|
||||
### Creating/Editing Content Manually
|
||||
|
||||
**Frontmatter** (page metadata):
|
||||
```yaml
|
||||
title: Page Title # Required - becomes h1
|
||||
description: Brief desc # Required - for SEO
|
||||
menu:
|
||||
influxdb_2_0:
|
||||
name: Nav Label # Optional - nav display name
|
||||
parent: Parent Node # Optional - for nesting
|
||||
weight: 1 # Required - sort order
|
||||
```
|
||||
|
||||
**Shared Content** (avoid duplication):
|
||||
```yaml
|
||||
source: /shared/path/to/content.md
|
||||
```
|
||||
|
||||
Shared content files (`/shared/path/to/content.md`):
|
||||
- Don't store frontmatter
|
||||
- Can use `{{% show-in %}}`, `{{% hide-in %}}`, and the `version` keyword (`/influxdb3/version/content.md`)
|
||||
|
||||
**Common Shortcodes**:
|
||||
- Callouts: `> [!Note]`, `> [!Warning]`, `> [!Important]`, `> [!Tip]`
|
||||
- Tabs: `{{< tabs-wrapper >}}` + `{{% tabs %}}` + `{{% tab-content %}}`
|
||||
- Required: `{{< req >}}` or `{{< req type="key" >}}`
|
||||
- Code placeholders: `{ placeholders="<PLACEHOLDER>" }`
|
||||
|
||||
**📖 Complete Reference**: [DOCS-SHORTCODES.md](DOCS-SHORTCODES.md) | [DOCS-FRONTMATTER.md](DOCS-FRONTMATTER.md)
|
||||
|
||||
### Testing Changes
|
||||
|
||||
**Always test before committing**:
|
||||
```bash
|
||||
# Verify server renders (check 200 status)
|
||||
curl -s -o /dev/null -w "%{http_code}" http://localhost:1313/influxdb3/core/
|
||||
|
||||
# Test specific content
|
||||
yarn test:links content/influxdb3/core/**/*.md
|
||||
|
||||
# Run style linting
|
||||
docker compose run -T vale content/**/*.md
|
||||
```
|
||||
|
||||
**📖 Complete Reference**: [DOCS-TESTING.md](DOCS-TESTING.md)
|
||||
|
||||
### Committing Changes
|
||||
|
||||
**Commit Message Format**:
|
||||
```
|
||||
type(scope): description
|
||||
|
||||
Examples:
|
||||
- fix(enterprise): correct Docker environment variable
|
||||
- feat(influxdb3): add new plugin documentation
|
||||
- docs(core): update configuration examples
|
||||
```
|
||||
|
||||
**Types**: `fix`, `feat`, `style`, `refactor`, `test`, `chore`
|
||||
|
||||
**Scopes**: `enterprise`, `influxdb3`, `core`, `cloud`, `telegraf`, etc.
|
||||
|
||||
**Pre-commit hooks** run automatically (Vale, Prettier, tests). Skip with:
|
||||
```bash
|
||||
git commit -m "message" --no-verify
|
||||
```
|
||||
|
||||
**📖 Complete Reference**: [DOCS-CONTRIBUTING.md](DOCS-CONTRIBUTING.md#commit-guidelines)
|
||||
|
||||
## Key Patterns
|
||||
|
||||
### Content Organization
|
||||
|
||||
- **Product versions**: Managed in `/data/products.yml`
|
||||
- **Semantic line feeds**: One sentence per line for better diffs
|
||||
- **Heading hierarchy**: Use h2-h6 only (h1 auto-generated from frontmatter)
|
||||
- **Image naming**: `project/version-context-description.png`
|
||||
|
||||
### Code Examples
|
||||
|
||||
**Testable code blocks** (pytest):
|
||||
```python
|
||||
print("Hello, world!")
|
||||
```
|
||||
|
||||
<!--pytest-codeblocks:expected-output-->
|
||||
|
||||
```
|
||||
Hello, world!
|
||||
```
|
||||
|
||||
**Language identifiers**: Use `python` not `py`, `bash` not `sh` (for pytest collection)
|
||||
|
||||
### API Documentation
|
||||
|
||||
- **Location**: `/api-docs/` directory
|
||||
- **Format**: OpenAPI 3.0 YAML
|
||||
- **Generation**: Uses Redoc + custom processing
|
||||
- **📖 Workflow**: [api-docs/README.md](api-docs/README.md)
|
||||
|
||||
### JavaScript/TypeScript
|
||||
|
||||
- **Entry point**: `assets/js/main.js`
|
||||
- **Pattern**: Component-based with `data-component` attributes
|
||||
- **Debugging**: Source maps or debug helpers available
|
||||
- **📖 Details**: [DOCS-CONTRIBUTING.md](DOCS-CONTRIBUTING.md#javascript-in-the-documentation-ui)
|
||||
|
||||
## Important Constraints
|
||||
|
||||
### Performance
|
||||
- **NEVER cancel Hugo builds** - they take ~75s normally
|
||||
- **NEVER cancel test runs** - code block tests take 15-45 minutes
|
||||
- **Set timeouts**: Hugo (180s+), tests (30+ minutes)
|
||||
|
||||
### Style Guidelines
|
||||
- Use Google Developer Documentation style
|
||||
- Active voice, present tense, second person for instructions
|
||||
- No emojis unless explicitly requested
|
||||
- Use long options in CLI examples (`--option` vs `-o`)
|
||||
- Format code blocks within 80 characters
|
||||
|
||||
### Network Restrictions
|
||||
Some operations may fail in restricted environments:
|
||||
- Docker builds requiring external repos
|
||||
- `docker compose up local-dev` (Alpine packages)
|
||||
- Cypress installation (use `CYPRESS_INSTALL_BINARY=0`)
|
||||
|
||||
## Documentation References
|
||||
|
||||
| Document | Purpose |
|
||||
|----------|---------|
|
||||
| [DOCS-CONTRIBUTING.md](DOCS-CONTRIBUTING.md) | Contribution workflow, style guidelines |
|
||||
| [DOCS-TESTING.md](DOCS-TESTING.md) | Testing procedures (code blocks, links, linting) |
|
||||
| [DOCS-SHORTCODES.md](DOCS-SHORTCODES.md) | Complete shortcode reference |
|
||||
| [DOCS-FRONTMATTER.md](DOCS-FRONTMATTER.md) | Complete frontmatter field reference |
|
||||
| [.github/copilot-instructions.md](.github/copilot-instructions.md) | Primary AI assistant instructions |
|
||||
| [api-docs/README.md](api-docs/README.md) | API documentation workflow |
|
||||
| [content/example.md](content/example.md) | Live shortcode examples for testing |
|
||||
|
||||
## Specialized Topics
|
||||
|
||||
### Working with Specific Products
|
||||
|
||||
| Product | Content Path | Special Notes |
|
||||
|---------|-------------|---------------|
|
||||
| InfluxDB 3 Core | `/content/influxdb3/core/` | Latest architecture |
|
||||
| InfluxDB 3 Enterprise | `/content/influxdb3/enterprise/` | Core + licensed features, clustered |
|
||||
| InfluxDB Cloud Dedicated | `/content/influxdb3/cloud-dedicated/`, `/content/influxdb3/cloud-serverless/` | Managed and distributed |
|
||||
| InfluxDB Clustered | `/content/influxdb3/clustered/` | Self-managed and distributed |
|
||||
| InfluxDB Cloud | `/content/influxdb/cloud/` | Legacy but active |
|
||||
| InfluxDB v2 | `/content/influxdb/v2/` | Legacy but active |
|
||||
| InfluxDB Enterprise v1 | `/content/enterprise_influxdb/v1/` | Legacy but active enterprise, clustered |
|
||||
|
||||
### Advanced Tasks
|
||||
|
||||
- **Vale configuration**: `.ci/vale/styles/` for custom rules
|
||||
- **Link checking**: Uses custom `link-checker` binary
|
||||
- **Docker testing**: `compose.yaml` defines test services
|
||||
- **Lefthook**: Git hooks configuration in `lefthook.yml`
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
| Issue | Solution |
|
||||
|-------|----------|
|
||||
| Pytest collected 0 items | Use `python` not `py` for code block language |
|
||||
| Hugo build errors | Check `/config/_default/` configuration |
|
||||
| Link validation slow | Test specific files: `yarn test:links content/file.md` |
|
||||
| Vale errors | Check `.ci/vale/styles/config/vocabularies` |
|
||||
|
||||
## Critical Reminders
|
||||
|
||||
1. **Be a critical thinking partner** - Challenge assumptions, identify issues
|
||||
2. **Test before committing** - Run relevant tests locally
|
||||
3. **Reference, don't duplicate** - Link to detailed docs instead of copying
|
||||
4. **Respect build times** - Don't cancel long-running operations
|
||||
5. **Follow conventions** - Use established patterns for consistency
|
||||
|
||||
|
|
@ -120,6 +120,10 @@ docs-v2 contains a `./.vscode/settings.json` that configures the following exten
|
|||
|
||||
### Style Guidelines
|
||||
|
||||
#### Content Guidelines
|
||||
|
||||
Content follows Google Developer Documentation Style Guide and YouTube API documentation patterns with a few InfluxData-specific adaptations.
|
||||
|
||||
#### Markdown
|
||||
|
||||
Most docs-v2 documentation content uses [Markdown](https://en.wikipedia.org/wiki/Markdown).
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ Complete reference for custom Hugo shortcodes used in InfluxData documentation.
|
|||
- [Content Management](#content-management)
|
||||
- [Special Purpose](#special-purpose)
|
||||
|
||||
---
|
||||
***
|
||||
|
||||
## Notes and Warnings
|
||||
|
||||
|
|
@ -113,25 +113,6 @@ Display the short version name (part of the key used in `products.yml`) from the
|
|||
{{% product-key %}}
|
||||
```
|
||||
|
||||
### Enterprise name
|
||||
|
||||
The name used to refer to InfluxData's enterprise offering is subject to change. To facilitate easy updates in the future, use the `enterprise-name` shortcode when referencing the enterprise product. This shortcode accepts a `"short"` parameter which uses the "short-name".
|
||||
|
||||
```md
|
||||
This is content that references {{< enterprise-name >}}.
|
||||
This is content that references {{< enterprise-name "short" >}}.
|
||||
```
|
||||
|
||||
Product names are stored in `data/products.yml`.
|
||||
|
||||
### Enterprise link
|
||||
|
||||
References to InfluxDB Enterprise are often accompanied with a link to a page where visitors can get more information about the Enterprise offering. This link is subject to change. Use the `enterprise-link` shortcode when including links to more information about InfluxDB Enterprise.
|
||||
|
||||
```md
|
||||
Find more info [here][{{< enterprise-link >}}]
|
||||
```
|
||||
|
||||
## Version Information
|
||||
|
||||
### Latest patch version
|
||||
|
|
@ -165,7 +146,7 @@ Use the `{{< api-endpoint >}}` shortcode to generate a code block that contains
|
|||
- **method**: HTTP request method (get, post, patch, put, or delete)
|
||||
- **endpoint**: API endpoint
|
||||
- **api-ref**: Link the endpoint to a specific place in the API documentation
|
||||
- **influxdb_host**: Specify which InfluxDB product host to use _if the `endpoint` contains the `influxdb/host` shortcode_. Uses the current InfluxDB product as default. Supports the following product values:
|
||||
- **influxdb_host**: Specify which InfluxDB product host to use *if the `endpoint` contains the `influxdb/host` shortcode*. Uses the current InfluxDB product as default. Supports the following product values:
|
||||
- oss
|
||||
- cloud
|
||||
- serverless
|
||||
|
|
@ -287,11 +268,11 @@ To link to tabbed content, click on the tab and use the URL parameter shown. It
|
|||
|
||||
Use the `{{< page-nav >}}` shortcode to add page navigation buttons to a page. These are useful for guiding users through a set of docs that should be read in sequential order. The shortcode has the following parameters:
|
||||
|
||||
- **prev:** path of the previous document _(optional)_
|
||||
- **next:** path of the next document _(optional)_
|
||||
- **prevText:** override the button text linking to the previous document _(optional)_
|
||||
- **nextText:** override the button text linking to the next document _(optional)_
|
||||
- **keepTab:** include the currently selected tab in the button link _(optional)_
|
||||
- **prev:** path of the previous document *(optional)*
|
||||
- **next:** path of the next document *(optional)*
|
||||
- **prevText:** override the button text linking to the previous document *(optional)*
|
||||
- **nextText:** override the button text linking to the next document *(optional)*
|
||||
- **keepTab:** include the currently selected tab in the button link *(optional)*
|
||||
|
||||
The shortcode generates buttons that link to both the previous and next documents. By default, the shortcode uses either the `list_title` or the `title` of the linked document, but you can use `prevText` and `nextText` to override button text.
|
||||
|
||||
|
|
@ -327,7 +308,7 @@ The children shortcode can also be used to list only "section" articles (those w
|
|||
{{< children show="pages" >}}
|
||||
```
|
||||
|
||||
_By default, it displays both sections and pages._
|
||||
*By default, it displays both sections and pages.*
|
||||
|
||||
Use the `type` argument to specify the format of the children list.
|
||||
|
||||
|
|
@ -344,7 +325,7 @@ The following list types are available:
|
|||
|
||||
#### Include a "Read more" link
|
||||
|
||||
To include a "Read more" link with each child summary, set `readmore=true`. _Only the `articles` list type supports "Read more" links._
|
||||
To include a "Read more" link with each child summary, set `readmore=true`. *Only the `articles` list type supports "Read more" links.*
|
||||
|
||||
```md
|
||||
{{< children readmore=true >}}
|
||||
|
|
@ -352,7 +333,7 @@ To include a "Read more" link with each child summary, set `readmore=true`. _Onl
|
|||
|
||||
#### Include a horizontal rule
|
||||
|
||||
To include a horizontal rule after each child summary, set `hr=true`. _Only the `articles` list type supports horizontal rules._
|
||||
To include a horizontal rule after each child summary, set `hr=true`. *Only the `articles` list type supports horizontal rules.*
|
||||
|
||||
```md
|
||||
{{< children hr=true >}}
|
||||
|
|
@ -409,11 +390,11 @@ This is useful for maintaining and referencing sample code variants in their nat
|
|||
|
||||
#### Include specific files from the same directory
|
||||
|
||||
> [!Caution]
|
||||
> \[!Caution]
|
||||
> **Don't use for code examples**
|
||||
> Using this and `get-shared-text` shortcodes to include code examples prevents the code from being tested.
|
||||
|
||||
To include the text from one file in another file in the same directory, use the `{{< get-leaf-text >}}` shortcode. The directory that contains both files must be a Hugo [_Leaf Bundle_](https://gohugo.io/content-management/page-bundles/#leaf-bundles), a directory that doesn't have any child directories.
|
||||
To include the text from one file in another file in the same directory, use the `{{< get-leaf-text >}}` shortcode. The directory that contains both files must be a Hugo [*Leaf Bundle*](https://gohugo.io/content-management/page-bundles/#leaf-bundles), a directory that doesn't have any child directories.
|
||||
|
||||
In the following example, `api` is a leaf bundle. `content` isn't.
|
||||
|
||||
|
|
@ -466,13 +447,13 @@ Each children list `type` uses frontmatter properties when generating the list o
|
|||
|
||||
| Frontmatter | articles | list | functions |
|
||||
| :------------------- | :------: | :--: | :-------: |
|
||||
| `list_title` | ✓ | ✓ | ✓ |
|
||||
| `description` | ✓ | | |
|
||||
| `external_url` | ✓ | ✓ | |
|
||||
| `list_image` | ✓ | | |
|
||||
| `list_note` | | ✓ | |
|
||||
| `list_code_example` | ✓ | | |
|
||||
| `list_query_example` | ✓ | | |
|
||||
| `list_title` | ✓ | ✓ | ✓ |
|
||||
| `description` | ✓ | | |
|
||||
| `external_url` | ✓ | ✓ | |
|
||||
| `list_image` | ✓ | | |
|
||||
| `list_note` | | ✓ | |
|
||||
| `list_code_example` | ✓ | | |
|
||||
| `list_query_example` | ✓ | | |
|
||||
|
||||
## Visual Elements
|
||||
|
||||
|
|
@ -714,7 +695,7 @@ Column 2
|
|||
|
||||
The following options are available:
|
||||
|
||||
- half _(Default)_
|
||||
- half *(Default)*
|
||||
- third
|
||||
- quarter
|
||||
|
||||
|
|
@ -740,10 +721,10 @@ Click {{< caps >}}Add Data{{< /caps >}}
|
|||
|
||||
### Authentication token link
|
||||
|
||||
Use the `{{% token-link "<descriptor>" "<link_append>%}}` shortcode to automatically generate links to token management documentation. The shortcode accepts two _optional_ arguments:
|
||||
Use the `{{% token-link "<descriptor>" "<link_append>%}}` shortcode to automatically generate links to token management documentation. The shortcode accepts two *optional* arguments:
|
||||
|
||||
- **descriptor**: An optional token descriptor
|
||||
- **link_append**: An optional path to append to the token management link path, `/<product>/<version>/admin/tokens/`.
|
||||
- **link\_append**: An optional path to append to the token management link path, `/<product>/<version>/admin/tokens/`.
|
||||
|
||||
```md
|
||||
{{% token-link "database" "resource/" %}}
|
||||
|
|
@ -794,7 +775,7 @@ Descriptions should follow consistent patterns:
|
|||
- Recommended: "your {{% token-link "database" %}}"{{% show-in "enterprise" %}} with permissions on the specified database{{% /show-in %}}
|
||||
- Avoid: "your token", "the token", "an authorization token"
|
||||
3. **Database names**:
|
||||
- Recommended: "the name of the database to [action]"
|
||||
- Recommended: "the name of the database to \[action]"
|
||||
- Avoid: "your database", "the database name"
|
||||
4. **Conditional content**:
|
||||
- Use `{{% show-in "enterprise" %}}` for content specific to enterprise versions
|
||||
|
|
@ -816,13 +797,75 @@ Descriptions should follow consistent patterns:
|
|||
|
||||
#### Syntax
|
||||
|
||||
- `{ placeholders="PATTERN1|PATTERN2" }`: Use this code block attribute to define placeholder patterns
|
||||
- `{ placeholders="PATTERN1|PATTERN2" }`: Use this code block attribute to define placeholder patterns
|
||||
- `{{% code-placeholder-key %}}`: Use this shortcode to define a placeholder key
|
||||
- `{{% /code-placeholder-key %}}`: Use this shortcode to close the key name
|
||||
|
||||
_The `placeholders` attribute supercedes the deprecated `code-placeholders` shortcode._
|
||||
*The `placeholders` attribute supercedes the deprecated `code-placeholders` shortcode.*
|
||||
|
||||
#### Example usage
|
||||
#### Automated placeholder syntax
|
||||
|
||||
Use the `docs placeholders` command to automatically add placeholder syntax to code blocks and descriptions:
|
||||
|
||||
```bash
|
||||
# Process a file
|
||||
npx docs placeholders content/influxdb3/core/admin/upgrade.md
|
||||
|
||||
# Preview changes without modifying the file
|
||||
npx docs placeholders content/influxdb3/core/admin/upgrade.md --dry
|
||||
|
||||
# Get help
|
||||
npx docs placeholders --help
|
||||
```
|
||||
|
||||
**What it does:**
|
||||
|
||||
1. Detects UPPERCASE placeholders in code blocks
|
||||
2. Adds `{ placeholders="..." }` attribute to code fences
|
||||
3. Wraps placeholder descriptions with `{{% code-placeholder-key %}}` shortcodes
|
||||
|
||||
**Example transformation:**
|
||||
|
||||
Before:
|
||||
|
||||
````markdown
|
||||
```bash
|
||||
influxdb3 query \
|
||||
--database SYSTEM_DATABASE \
|
||||
--token ADMIN_TOKEN \
|
||||
"SELECT * FROM system.version"
|
||||
```
|
||||
|
||||
Replace the following:
|
||||
|
||||
- **`SYSTEM_DATABASE`**: The name of your system database
|
||||
- **`ADMIN_TOKEN`**: An admin token with read permissions
|
||||
````
|
||||
|
||||
After:
|
||||
|
||||
````markdown
|
||||
```bash { placeholders="ADMIN_TOKEN|SYSTEM_DATABASE" }
|
||||
influxdb3 query \
|
||||
--database SYSTEM_DATABASE \
|
||||
--token ADMIN_TOKEN \
|
||||
"SELECT * FROM system.version"
|
||||
```
|
||||
|
||||
Replace the following:
|
||||
|
||||
- {{% code-placeholder-key %}}`SYSTEM_DATABASE`{{% /code-placeholder-key %}}: The name of your system database
|
||||
- {{% code-placeholder-key %}}`ADMIN_TOKEN`{{% /code-placeholder-key %}}: An admin token with read permissions
|
||||
````
|
||||
|
||||
**How it works:**
|
||||
|
||||
- Pattern: Matches words with 2+ characters, all uppercase, can include underscores
|
||||
- Excludes common words: HTTP verbs (GET, POST), protocols (HTTP, HTTPS), SQL keywords (SELECT, FROM), etc.
|
||||
- Idempotent: Running multiple times won't duplicate syntax
|
||||
- Preserves existing `placeholders` attributes and already-wrapped descriptions
|
||||
|
||||
#### Manual placeholder usage
|
||||
|
||||
```sh { placeholders "DATABASE_NAME|USERNAME|PASSWORD_OR_TOKEN|API_TOKEN|exampleuser@influxdata.com" }
|
||||
curl --request POST http://localhost:8086/write?db=DATABASE_NAME \
|
||||
|
|
@ -858,7 +901,7 @@ Sample dataset to output. Use either `set` argument name or provide the set as t
|
|||
|
||||
#### includeNull
|
||||
|
||||
Specify whether or not to include _null_ values in the dataset. Use either `includeNull` argument name or provide the boolean value as the second argument.
|
||||
Specify whether or not to include *null* values in the dataset. Use either `includeNull` argument name or provide the boolean value as the second argument.
|
||||
|
||||
#### includeRange
|
||||
|
||||
|
|
@ -1134,6 +1177,6 @@ The InfluxDB host placeholder that gets replaced by custom domains differs betwe
|
|||
{{< influxdb/host "serverless" >}}
|
||||
```
|
||||
|
||||
---
|
||||
***
|
||||
|
||||
**For working examples**: Test all shortcodes in [content/example.md](content/example.md)
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ InfluxDB OSS v1:
|
|||
- Query languages: InfluxQL and Flux
|
||||
- Clients: Telegraf, influx CLI, v1/v2 client libraries
|
||||
|
||||
InfluxDB Enterprise:
|
||||
InfluxDB Enterprise v1:
|
||||
- Documentation: https://docs.influxdata.com/enterprise_influxdb/v1.12/
|
||||
- Query languages: InfluxQL and Flux
|
||||
- Clients: Telegraf, influx CLI, v1/v2 client libraries
|
||||
|
|
|
|||
77
README.md
77
README.md
|
|
@ -2,9 +2,9 @@
|
|||
<img src="/static/img/influx-logo-cubo-dark.png" width="200">
|
||||
</p>
|
||||
|
||||
# InfluxDB 2.0 Documentation
|
||||
# InfluxData Product Documentation
|
||||
|
||||
This repository contains the InfluxDB 2.x documentation published at [docs.influxdata.com](https://docs.influxdata.com).
|
||||
This repository contains the InfluxData product documentation for InfluxDB and related tooling published at [docs.influxdata.com](https://docs.influxdata.com).
|
||||
|
||||
## Contributing
|
||||
|
||||
|
|
@ -15,6 +15,26 @@ For information about contributing to the InfluxData documentation, see [Contrib
|
|||
|
||||
For information about testing the documentation, including code block testing, link validation, and style linting, see [Testing guide](DOCS-TESTING.md).
|
||||
|
||||
## Documentation Tools
|
||||
|
||||
This repository includes a `docs` CLI tool for common documentation workflows:
|
||||
|
||||
```sh
|
||||
# Create new documentation from a draft
|
||||
npx docs create drafts/new-feature.md --products influxdb3_core
|
||||
|
||||
# Edit existing documentation from a URL
|
||||
npx docs edit https://docs.influxdata.com/influxdb3/core/admin/
|
||||
|
||||
# Add placeholder syntax to code blocks
|
||||
npx docs placeholders content/influxdb3/core/admin/upgrade.md
|
||||
|
||||
# Get help
|
||||
npx docs --help
|
||||
```
|
||||
|
||||
The `docs` command is automatically configured when you run `yarn install`.
|
||||
|
||||
## Documentation
|
||||
|
||||
Comprehensive reference documentation for contributors:
|
||||
|
|
@ -27,6 +47,7 @@ Comprehensive reference documentation for contributors:
|
|||
- **[API Documentation](api-docs/README.md)** - API reference generation
|
||||
|
||||
### Quick Links
|
||||
|
||||
- [Style guidelines](DOCS-CONTRIBUTING.md#style-guidelines)
|
||||
- [Commit guidelines](DOCS-CONTRIBUTING.md#commit-guidelines)
|
||||
- [Code block testing](DOCS-TESTING.md#code-block-testing)
|
||||
|
|
@ -35,42 +56,49 @@ Comprehensive reference documentation for contributors:
|
|||
|
||||
InfluxData takes security and our users' trust very seriously.
|
||||
If you believe you have found a security issue in any of our open source projects,
|
||||
please responsibly disclose it by contacting security@influxdata.com.
|
||||
please responsibly disclose it by contacting <security@influxdata.com>.
|
||||
More details about security vulnerability reporting,
|
||||
including our GPG key, can be found at https://www.influxdata.com/how-to-report-security-vulnerabilities/.
|
||||
including our GPG key, can be found at <https://www.influxdata.com/how-to-report-security-vulnerabilities/>.
|
||||
|
||||
## Running the docs locally
|
||||
|
||||
1. [**Clone this repository**](https://help.github.com/articles/cloning-a-repository/) to your local machine.
|
||||
|
||||
2. **Install NodeJS, Yarn, Hugo, & Asset Pipeline Tools**
|
||||
2. **Install NodeJS, Yarn, Hugo, & Asset Pipeline Tools**
|
||||
|
||||
The InfluxData documentation uses [Hugo](https://gohugo.io/), a static site generator built in Go. The site uses Hugo's asset pipeline, which requires the extended version of Hugo along with NodeJS tools like PostCSS, to build and process stylesheets and JavaScript.
|
||||
The InfluxData documentation uses [Hugo](https://gohugo.io/), a static site generator built in Go. The site uses Hugo's asset pipeline, which requires the extended version of Hugo along with NodeJS tools like PostCSS, to build and process stylesheets and JavaScript.
|
||||
|
||||
To install the required dependencies and build the assets, do the following:
|
||||
To install the required dependencies and build the assets, do the following:
|
||||
|
||||
1. [Install NodeJS](https://nodejs.org/en/download/)
|
||||
2. [Install Yarn](https://classic.yarnpkg.com/en/docs/install/)
|
||||
3. In your terminal, from the `docs-v2` directory, install the dependencies:
|
||||
1. [Install NodeJS](https://nodejs.org/en/download/)
|
||||
2. [Install Yarn](https://classic.yarnpkg.com/en/docs/install/)
|
||||
3. In your terminal, from the `docs-v2` directory, install the dependencies:
|
||||
|
||||
```sh
|
||||
cd docs-v2
|
||||
yarn install
|
||||
```
|
||||
```sh
|
||||
cd docs-v2
|
||||
yarn install
|
||||
```
|
||||
|
||||
_**Note:** The most recent version of Hugo tested with this documentation is **0.149.0**._
|
||||
***Note:** The most recent version of Hugo tested with this documentation is **0.149.0**.*
|
||||
|
||||
After installation, the `docs` command will be available via `npx`:
|
||||
|
||||
```sh
|
||||
npx docs --help
|
||||
```
|
||||
|
||||
3. To generate the API docs, see [api-docs/README.md](api-docs/README.md).
|
||||
|
||||
4. **Start the Hugo server**
|
||||
4. **Start the Hugo server**
|
||||
|
||||
Hugo provides a local development server that generates the HTML pages, builds the static assets, and serves them at `localhost:1313`.
|
||||
Hugo provides a local development server that generates the HTML pages, builds the static assets, and serves them at `localhost:1313`.
|
||||
|
||||
In your terminal, start the Hugo server:
|
||||
In your terminal, start the Hugo server:
|
||||
|
||||
```sh
|
||||
npx hugo server
|
||||
```
|
||||
|
||||
```sh
|
||||
npx hugo server
|
||||
```
|
||||
5. View the docs at [localhost:1313](http://localhost:1313).
|
||||
|
||||
### Alternative: Use docker compose
|
||||
|
|
@ -81,7 +109,8 @@ including our GPG key, can be found at https://www.influxdata.com/how-to-report-
|
|||
|
||||
3. Use Docker Compose to start the Hugo server in development mode--for example, enter the following command in your terminal:
|
||||
|
||||
```sh
|
||||
docker compose up local-dev
|
||||
```
|
||||
```sh
|
||||
docker compose up local-dev
|
||||
```
|
||||
|
||||
4. View the docs at [localhost:1313](http://localhost:1313).
|
||||
|
|
|
|||
|
|
@ -204,7 +204,28 @@ tags:
|
|||
- name: Token
|
||||
description: Manage tokens for authentication and authorization
|
||||
- name: Write data
|
||||
description: Write data to InfluxDB 3
|
||||
description: |
|
||||
Write data to InfluxDB 3 using line protocol format.
|
||||
|
||||
#### Timestamp precision across write APIs
|
||||
|
||||
InfluxDB 3 provides multiple write endpoints for compatibility with different InfluxDB versions.
|
||||
The following table compares timestamp precision support across v1, v2, and v3 write APIs:
|
||||
|
||||
| Precision | v1 (`/write`) | v2 (`/api/v2/write`) | v3 (`/api/v3/write_lp`) |
|
||||
|-----------|---------------|----------------------|-------------------------|
|
||||
| **Auto detection** | ❌ No | ❌ No | ✅ `auto` (default) |
|
||||
| **Seconds** | ✅ `s` | ✅ `s` | ✅ `second` |
|
||||
| **Milliseconds** | ✅ `ms` | ✅ `ms` | ✅ `millisecond` |
|
||||
| **Microseconds** | ✅ `u` or `µ` | ✅ `us` | ✅ `microsecond` |
|
||||
| **Nanoseconds** | ✅ `ns` | ✅ `ns` | ✅ `nanosecond` |
|
||||
| **Minutes** | ✅ `m` | ❌ No | ❌ No |
|
||||
| **Hours** | ✅ `h` | ❌ No | ❌ No |
|
||||
| **Default** | Nanosecond | Nanosecond | **Auto** (guessed) |
|
||||
|
||||
**Note:** A bug currently prevents abbreviated precision values (`ns`, `n`, `us`, `u`, `ms`, `s`) from working with the `/api/v3/write_lp` endpoint. Use the full names (`nanosecond`, `microsecond`, `millisecond`, `second`) instead. Abbreviated values will be supported in a future release.
|
||||
|
||||
All timestamps are stored internally as nanoseconds.
|
||||
paths:
|
||||
/write:
|
||||
post:
|
||||
|
|
@ -430,11 +451,21 @@ paths:
|
|||
Use query parameters to specify options for writing data.
|
||||
|
||||
#### Features
|
||||
|
||||
|
||||
- **Partial writes**: Use `accept_partial=true` to allow partial success when some lines in a batch fail
|
||||
- **Asynchronous writes**: Use `no_sync=true` to skip waiting for WAL synchronization, allowing faster response times but sacrificing durability guarantees
|
||||
- **Asynchronous writes**: Use `no_sync=true` to skip waiting for WAL synchronization, allowing faster response times but sacrificing durability guarantees
|
||||
- **Flexible precision**: Automatic timestamp precision detection with `precision=auto` (default)
|
||||
|
||||
#### Auto precision detection
|
||||
|
||||
When you use `precision=auto` or omit the precision parameter, InfluxDB 3 automatically detects
|
||||
the timestamp precision based on the magnitude of the timestamp value:
|
||||
|
||||
- Timestamps < 5e9 → Second precision (multiplied by 1,000,000,000 to convert to nanoseconds)
|
||||
- Timestamps < 5e12 → Millisecond precision (multiplied by 1,000,000)
|
||||
- Timestamps < 5e15 → Microsecond precision (multiplied by 1,000)
|
||||
- Larger timestamps → Nanosecond precision (no conversion needed)
|
||||
|
||||
#### Related
|
||||
|
||||
- [Use the InfluxDB v3 write_lp API to write data](/influxdb3/core/write-data/http-api/v3-write-lp/)
|
||||
|
|
@ -1911,13 +1942,20 @@ components:
|
|||
PrecisionWrite:
|
||||
enum:
|
||||
- auto
|
||||
- nanosecond
|
||||
- microsecond
|
||||
- millisecond
|
||||
- second
|
||||
- microsecond
|
||||
- nanosecond
|
||||
type: string
|
||||
description: |
|
||||
The precision for unix timestamps in the line protocol batch.
|
||||
|
||||
Supported values:
|
||||
- `auto` (default): Automatically detects precision based on timestamp magnitude
|
||||
- `nanosecond`: Nanoseconds
|
||||
- `microsecond`: Microseconds
|
||||
- `millisecond`: Milliseconds
|
||||
- `second`: Seconds
|
||||
QueryRequestObject:
|
||||
type: object
|
||||
properties:
|
||||
|
|
|
|||
|
|
@ -204,7 +204,28 @@ tags:
|
|||
- name: Token
|
||||
description: Manage tokens for authentication and authorization
|
||||
- name: Write data
|
||||
description: Write data to InfluxDB 3
|
||||
description: |
|
||||
Write data to InfluxDB 3 using line protocol format.
|
||||
|
||||
#### Timestamp precision across write APIs
|
||||
|
||||
InfluxDB 3 provides multiple write endpoints for compatibility with different InfluxDB versions.
|
||||
The following table compares timestamp precision support across v1, v2, and v3 write APIs:
|
||||
|
||||
| Precision | v1 (`/write`) | v2 (`/api/v2/write`) | v3 (`/api/v3/write_lp`) |
|
||||
|-----------|---------------|----------------------|-------------------------|
|
||||
| **Auto detection** | ❌ No | ❌ No | ✅ `auto` (default) |
|
||||
| **Seconds** | ✅ `s` | ✅ `s` | ✅ `second` |
|
||||
| **Milliseconds** | ✅ `ms` | ✅ `ms` | ✅ `millisecond` |
|
||||
| **Microseconds** | ✅ `u` or `µ` | ✅ `us` | ✅ `microsecond` |
|
||||
| **Nanoseconds** | ✅ `ns` | ✅ `ns` | ✅ `nanosecond` |
|
||||
| **Minutes** | ✅ `m` | ❌ No | ❌ No |
|
||||
| **Hours** | ✅ `h` | ❌ No | ❌ No |
|
||||
| **Default** | Nanosecond | Nanosecond | **Auto** (guessed) |
|
||||
|
||||
**Note:** A bug currently prevents abbreviated precision values (`ns`, `n`, `us`, `u`, `ms`, `s`) from working with the `/api/v3/write_lp` endpoint. Use the full names (`nanosecond`, `microsecond`, `millisecond`, `second`) instead. Abbreviated values will be supported in a future release.
|
||||
|
||||
All timestamps are stored internally as nanoseconds.
|
||||
paths:
|
||||
/write:
|
||||
post:
|
||||
|
|
@ -430,11 +451,21 @@ paths:
|
|||
Use query parameters to specify options for writing data.
|
||||
|
||||
#### Features
|
||||
|
||||
|
||||
- **Partial writes**: Use `accept_partial=true` to allow partial success when some lines in a batch fail
|
||||
- **Asynchronous writes**: Use `no_sync=true` to skip waiting for WAL synchronization, allowing faster response times but sacrificing durability guarantees
|
||||
- **Asynchronous writes**: Use `no_sync=true` to skip waiting for WAL synchronization, allowing faster response times but sacrificing durability guarantees
|
||||
- **Flexible precision**: Automatic timestamp precision detection with `precision=auto` (default)
|
||||
|
||||
#### Auto precision detection
|
||||
|
||||
When you use `precision=auto` or omit the precision parameter, InfluxDB 3 automatically detects
|
||||
the timestamp precision based on the magnitude of the timestamp value:
|
||||
|
||||
- Timestamps < 5e9 → Second precision (multiplied by 1,000,000,000 to convert to nanoseconds)
|
||||
- Timestamps < 5e12 → Millisecond precision (multiplied by 1,000,000)
|
||||
- Timestamps < 5e15 → Microsecond precision (multiplied by 1,000)
|
||||
- Larger timestamps → Nanosecond precision (no conversion needed)
|
||||
|
||||
#### Related
|
||||
|
||||
- [Use the InfluxDB v3 write_lp API to write data](/influxdb3/enterprise/write-data/http-api/v3-write-lp/)
|
||||
|
|
@ -2043,13 +2074,20 @@ components:
|
|||
PrecisionWrite:
|
||||
enum:
|
||||
- auto
|
||||
- nanosecond
|
||||
- microsecond
|
||||
- millisecond
|
||||
- second
|
||||
- microsecond
|
||||
- nanosecond
|
||||
type: string
|
||||
description: |
|
||||
The precision for unix timestamps in the line protocol batch.
|
||||
|
||||
Supported values:
|
||||
- `auto` (default): Automatically detects precision based on timestamp magnitude
|
||||
- `nanosecond`: Nanoseconds
|
||||
- `microsecond`: Microseconds
|
||||
- `millisecond`: Milliseconds
|
||||
- `second`: Seconds
|
||||
QueryRequestObject:
|
||||
type: object
|
||||
properties:
|
||||
|
|
|
|||
21
compose.yaml
21
compose.yaml
|
|
@ -334,6 +334,7 @@ services:
|
|||
target: /var/lib/influxdb3/plugins/custom
|
||||
environment:
|
||||
- INFLUXDB3_AUTH_TOKEN=/run/secrets/influxdb3-core-admin-token
|
||||
- INFLUXDB3_PLUGIN_DIR=/var/lib/influxdb3/plugins
|
||||
secrets:
|
||||
- influxdb3-core-admin-token
|
||||
influxdb3-enterprise:
|
||||
|
|
@ -357,14 +358,15 @@ services:
|
|||
- --verbose
|
||||
environment:
|
||||
- INFLUXDB3_AUTH_TOKEN=/run/secrets/influxdb3-enterprise-admin-token
|
||||
- INFLUXDB3_PLUGIN_DIR=/var/lib/influxdb3/plugins
|
||||
volumes:
|
||||
- type: bind
|
||||
- type: bind
|
||||
source: test/.influxdb3/enterprise/data
|
||||
target: /var/lib/influxdb3/data
|
||||
- type: bind
|
||||
- type: bind
|
||||
source: test/.influxdb3/plugins/influxdata
|
||||
target: /var/lib/influxdb3/plugins
|
||||
- type: bind
|
||||
- type: bind
|
||||
source: test/.influxdb3/enterprise/plugins
|
||||
target: /var/lib/influxdb3/plugins/custom
|
||||
secrets:
|
||||
|
|
@ -511,17 +513,18 @@ services:
|
|||
remark-lint:
|
||||
container_name: remark-lint
|
||||
build:
|
||||
context: .
|
||||
context: .
|
||||
dockerfile: .ci/Dockerfile.remark
|
||||
profiles:
|
||||
- lint
|
||||
volumes:
|
||||
# Mount repository to /workdir to avoid overwriting /app/ node_modules
|
||||
# Remark will receive paths like /workdir/content/file.md or /workdir/README.md
|
||||
# Writable mount allows auto-fixing instruction files (README.md, DOCS-*.md, etc.)
|
||||
- type: bind
|
||||
source: ./content
|
||||
target: /app/content
|
||||
- type: bind
|
||||
source: ./CONTRIBUTING.md
|
||||
target: /app/CONTRIBUTING.md
|
||||
source: .
|
||||
target: /workdir
|
||||
read_only: false
|
||||
volumes:
|
||||
test-content:
|
||||
cloud-tmp:
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ settings:
|
|||
plugins:
|
||||
# Before you can configure plugins for remark here, you need to add them to
|
||||
# the `devDependencies` in the `package.json` file--for CI: `/.ci/app/package.json`.
|
||||
- remark-gfm
|
||||
- remark-frontmatter
|
||||
- remark-lint-frontmatter-schema
|
||||
- remark-lint-no-shell-dollars
|
||||
|
|
|
|||
|
|
@ -0,0 +1,210 @@
|
|||
---
|
||||
title: Create and edit InfluxData docs
|
||||
description: Learn how to create and edit InfluxData documentation.
|
||||
tags: [documentation, guide, influxdata]
|
||||
test_only: true
|
||||
---
|
||||
|
||||
Learn how to create and edit InfluxData documentation.
|
||||
|
||||
- [Submit an issue to request new or updated documentation](#submit-an-issue-to-request-new-or-updated-documentation)
|
||||
- [Edit an existing page in your browser](#edit-an-existing-page-in-your-browser)
|
||||
- [Create and edit locally with the docs-v2 repository](#create-and-edit-locally-with-the-docs-v2-repository)
|
||||
- [Helpful resources](#other-resources)
|
||||
|
||||
## Submit an issue to request new or updated documentation
|
||||
|
||||
- **Public**: <https://github.com/influxdata/docs-v2/issues/>
|
||||
- **Private**: <https://github.com/influxdata/DAR/issues/>
|
||||
|
||||
## Edit an existing page in your browser
|
||||
|
||||
**Example**: Editing a product-specific page
|
||||
|
||||
1. Visit <https://docs.influxdata.com> public docs
|
||||
2. Search, Ask AI, or navigate to find the page to edit--for example, <https://docs.influxdata.com/influxdb3/cloud-serverless/get-started/>
|
||||
3. Click the "Edit this page" link at the bottom of the page.
|
||||
This opens the GitHub repository to the file that generates the page
|
||||
4. Click the pencil icon to edit the file in your browser
|
||||
5. [Commit and create a pull request](#commit-and-create-a-pull-request)
|
||||
|
||||
## Create and edit locally with the docs-v2 repository
|
||||
|
||||
Use `docs` scripts with AI agents to help you create and edit documentation locally, especially when working with shared content for multiple products.
|
||||
|
||||
**Prerequisites**:
|
||||
|
||||
1. [Clone or fork the docs-v2 repository](https://github.com/influxdata/docs-v2/):
|
||||
|
||||
```bash
|
||||
git clone https://github.com/influxdata/docs-v2.git
|
||||
cd docs-v2
|
||||
```
|
||||
2. [Install Yarn](https://yarnpkg.com/getting-started/install)
|
||||
3. Run `yarn` in the repository root to install dependencies
|
||||
4. Optional: [Set up GitHub CLI](https://cli.github.com/manual/)
|
||||
|
||||
> [!Tip]
|
||||
> To run and test your changes locally, enter the following command in your terminal:
|
||||
>
|
||||
> ```bash
|
||||
> yarn hugo server
|
||||
> ```
|
||||
>
|
||||
> *To refresh shared content after making changes, `touch` or edit the frontmatter file, or stop the server (Ctrl+C) and restart it.*
|
||||
>
|
||||
> To list all available scripts, run:
|
||||
>
|
||||
> ```bash
|
||||
> yarn run
|
||||
> ```
|
||||
|
||||
### Edit an existing page locally
|
||||
|
||||
Use the `npx docs edit` command to open an existing page in your editor.
|
||||
|
||||
```bash
|
||||
npx docs edit https://docs.influxdata.com/influxdb3/enterprise/get-started/
|
||||
```
|
||||
|
||||
### Create content locally
|
||||
|
||||
Use the `npx docs create` command with your AI agent tool to scaffold frontmatter and generate new content.
|
||||
|
||||
- The `npx docs create` command accepts draft input from stdin or from a file path and generates a prompt file from the draft and your product selections
|
||||
- The prompt file makes AI agents aware of InfluxData docs guidelines, shared content, and product-specific requirements
|
||||
- `npx docs create` is designed to work automatically with `claude`, but you can
|
||||
use the generated prompt file with any AI agent (for example, `copilot` or `codex`)
|
||||
|
||||
> [!Tip]
|
||||
>
|
||||
> `docs-v2` contains custom configuration for agents like Claude and Copilot Agent mode.
|
||||
|
||||
<!-- Coming soon: generate content from an issue with labels -->
|
||||
|
||||
#### Generate content and frontmatter from a draft
|
||||
|
||||
{{% tabs-wrapper %}}
|
||||
{{% tabs %}}
|
||||
[Interactive (Claude Code)](#)
|
||||
[Non-interactive (any agent)](#)
|
||||
{{% /tabs %}}
|
||||
{{% tab-content %}}
|
||||
|
||||
{{% /tab-content %}}
|
||||
{{% tab-content %}}
|
||||
|
||||
1. Open a Claude Code prompt:
|
||||
|
||||
```bash
|
||||
claude code
|
||||
```
|
||||
|
||||
2. In the prompt, run the `docs create` command with the path to your draft file.
|
||||
Optionally, include the `--products` flag and product namespaces to preselect products--for example:
|
||||
|
||||
```bash
|
||||
npx docs create .context/drafts/"Upgrading Enterprise 3 (draft).md" \
|
||||
--products influxdb3_enterprise,influxdb3_core
|
||||
```
|
||||
|
||||
If you don't include the `--products` flag, you'll be prompted to select products after running the command.
|
||||
|
||||
The script first generates a prompt file, then the agent automatically uses it to generate content and frontmatter based on the draft and the products you select.
|
||||
|
||||
{{% /tab-content %}}
|
||||
{{% tab-content %}}
|
||||
|
||||
Use `npx docs create` to generate a prompt file and then pipe it to your preferred AI agent.
|
||||
Include the `--products` flag and product namespaces to preselect products
|
||||
|
||||
The following example uses Copilot to process a draft file:
|
||||
|
||||
```bash
|
||||
npx docs create .context/drafts/"Upgrading Enterprise 3 (draft).md" \
|
||||
--products "influxdb3_enterprise,influxdb3_core" | \
|
||||
copilot --prompt --allow-all-tools
|
||||
```
|
||||
|
||||
{{% /tab-content %}}
|
||||
{{< /tabs-wrapper >}}
|
||||
|
||||
## Review, commit, and create a pull request
|
||||
|
||||
After you create or edit content, test and review your changes, and then create a pull request.
|
||||
|
||||
> [!Important]
|
||||
>
|
||||
> #### Check AI-generated content
|
||||
>
|
||||
> Always review and validate AI-generated content for accuracy.
|
||||
> Make sure example commands are correct for the version you're documenting.
|
||||
|
||||
### Test and review your changes
|
||||
|
||||
Run a local Hugo server to preview your changes:
|
||||
|
||||
```bash
|
||||
yarn hugo server
|
||||
```
|
||||
|
||||
Visit <http://localhost:1313> to review your changes in the browser.
|
||||
|
||||
> [!Note]
|
||||
> If you need to preview changes in a live production-like environment
|
||||
> that you can also share with others,
|
||||
> the Docs team can deploy your branch to the staging site.
|
||||
|
||||
### Commit and create a pull request
|
||||
|
||||
1. Commit your changes to a new branch
|
||||
2. Fix any issues found by automated checks
|
||||
3. Push the branch to your fork or to the docs-v2 repository
|
||||
|
||||
```bash
|
||||
git add content
|
||||
git commit -m "feat(product): Your commit message"
|
||||
git push origin your-branch-name
|
||||
```
|
||||
|
||||
### Create a pull request
|
||||
|
||||
1. Create a pull request against the `master` branch of the docs-v2 repository
|
||||
2. Add reviewers:
|
||||
- `@influxdata/docs-team`
|
||||
- team members familiar with the product area
|
||||
- Optionally, assign Copilot to review
|
||||
3. After approval and automated checks are successful, merge the pull request (if you have permissions) or wait for the docs team to merge it.
|
||||
|
||||
{{< tabs-wrapper >}}
|
||||
{{% tabs %}}
|
||||
[GitHub](#)
|
||||
[gh CLI](#)
|
||||
{{% /tabs %}}
|
||||
{{% tab-content %}}
|
||||
|
||||
1. Visit [influxdata/docs-v2 pull requests on GitHub](https://github.com/influxdata/docs-v2/pulls)
|
||||
2. Optional: edit PR title and description
|
||||
3. Optional: set to draft if it needs more work
|
||||
4. When ready for review, assign `@influxdata/docs-team` and other reviewers
|
||||
|
||||
{{% /tab-content %}}
|
||||
{{% tab-content %}}
|
||||
|
||||
```bash
|
||||
gh pr create \
|
||||
--base master \
|
||||
--head your-branch-name \
|
||||
--title "Your PR title" \
|
||||
--body "Your PR description" \
|
||||
--reviewer influxdata/docs-team,<other-reviewers>
|
||||
```
|
||||
|
||||
{{% /tab-content %}}
|
||||
{{< /tabs-wrapper >}}
|
||||
|
||||
## Other resources
|
||||
|
||||
- `DOCS-*.md`: Documentation standards and guidelines
|
||||
- <http://localhost:1313/example/>: View shortcode examples
|
||||
- <https://app.kapa.ai>: Review content gaps identified from Ask AI answers
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: InfluxDB Enterprise documentation
|
||||
title: InfluxDB Enterprise v1 documentation
|
||||
description: >
|
||||
Documentation for InfluxDB Enterprise, which adds clustering, high availability, fine-grained authorization, and more to InfluxDB OSS.
|
||||
Documentation for InfluxDB Enterprise v1, which adds clustering, high availability, fine-grained authorization, and more to InfluxDB OSS.
|
||||
aliases:
|
||||
- /enterprise/v1.11/
|
||||
menu:
|
||||
|
|
@ -12,9 +12,6 @@ weight: 1
|
|||
|
||||
InfluxDB Enterprise provides a time series database designed to handle high write and query loads and offers highly scalable clusters on your infrastructure with a management UI. Use for DevOps monitoring, IoT sensor data, and real-time analytics. Check out the key features that make InfluxDB Enterprise a great choice for working with time series data.
|
||||
|
||||
If you're interested in working with InfluxDB Enterprise, visit
|
||||
[InfluxPortal](https://portal.influxdata.com/) to sign up, get a license key,
|
||||
and get started!
|
||||
|
||||
## Key features
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: About the project
|
||||
description: >
|
||||
Release notes, licenses, and third-party software details for InfluxDB Enterprise.
|
||||
Release notes, licenses, and third-party software details for InfluxDB Enterprise v1.
|
||||
menu:
|
||||
enterprise_influxdb_v1_ref:
|
||||
weight: 10
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: InfluxDB Enterprise v1 release notes
|
||||
description: >
|
||||
Important changes and what's new in each version InfluxDB Enterprise.
|
||||
Important changes and what's new in each version InfluxDB Enterprise v1.
|
||||
menu:
|
||||
enterprise_influxdb_v1_ref:
|
||||
name: Release notes
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
title: Administer InfluxDB Enterprise
|
||||
title: Administer InfluxDB Enterprise v1
|
||||
description: Configuration, security, and logging in InfluxDB enterprise.
|
||||
menu:
|
||||
enterprise_influxdb_v1:
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: Back up and restore
|
||||
description: >
|
||||
Back up and restore InfluxDB enterprise clusters to prevent data loss.
|
||||
Back up and restore InfluxDB Enterprise v1 clusters to prevent data loss.
|
||||
aliases:
|
||||
- /enterprise/v1.10/guides/backup-and-restore/
|
||||
menu:
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
title: Use Anti-Entropy service in InfluxDB Enterprise
|
||||
title: Use Anti-Entropy service in InfluxDB Enterprise v1
|
||||
description: The Anti-Entropy service monitors and repairs shards in InfluxDB.
|
||||
aliases:
|
||||
- /enterprise_influxdb/v1/guides/Anti-Entropy/
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: InfluxDB Anti-Entropy API
|
||||
description: >
|
||||
Monitor and repair shards on InfluxDB Enterprise data nodes the InfluxDB Anti-Entropy API.
|
||||
Monitor and repair shards on InfluxDB Enterprise v1 data nodes the InfluxDB Anti-Entropy API.
|
||||
menu:
|
||||
enterprise_influxdb_v1:
|
||||
name: Anti-entropy API
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: Configure InfluxDB Enterprise data nodes
|
||||
title: Configure InfluxDB Enterprise v1 data nodes
|
||||
description: >
|
||||
Configure InfluxDB Enterprise data node settings and environmental variables.
|
||||
Configure InfluxDB Enterprise v1 data node settings and environmental variables.
|
||||
menu:
|
||||
enterprise_influxdb_v1:
|
||||
name: Configure data nodes
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: Configure InfluxDB Enterprise meta nodes
|
||||
title: Configure InfluxDB Enterprise v1 meta nodes
|
||||
description: >
|
||||
Configure InfluxDB Enterprise data node settings and environmental variables.
|
||||
Configure InfluxDB Enterprise v1 data node settings and environmental variables.
|
||||
menu:
|
||||
enterprise_influxdb_v1:
|
||||
name: Configure meta nodes
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: Configure InfluxDB Enterprise clusters
|
||||
title: Configure InfluxDB Enterprise v1 clusters
|
||||
description: >
|
||||
Learn about global options, meta node options, data node options and other InfluxDB Enterprise configuration settings, including
|
||||
Learn about global options, meta node options, data node options and other InfluxDB Enterprise v1 configuration settings, including
|
||||
aliases:
|
||||
- /enterprise/v1.10/administration/configuration/
|
||||
- /enterprise_influxdb/v1/administration/configuration/
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
title: Configure TCP and UDP ports used in InfluxDB Enterprise
|
||||
title: Configure TCP and UDP ports used in InfluxDB Enterprise v1
|
||||
description: Configure TCP and UDP ports in InfluxDB Enterprise.
|
||||
menu:
|
||||
enterprise_influxdb_v1:
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: Configure HTTPS over TLS
|
||||
description: >
|
||||
Enabling HTTPS over TLS encrypts the communication between clients and the InfluxDB Enterprise server, and between nodes in the cluster.
|
||||
Enabling HTTPS over TLS encrypts the communication between clients and the InfluxDB Enterprise v1 server, and between nodes in the cluster.
|
||||
menu:
|
||||
enterprise_influxdb_v1:
|
||||
name: Configure TLS for cluster
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: Configure LDAP authentication
|
||||
description: >
|
||||
Configure LDAP authentication in InfluxDB Enterprise and test LDAP connectivity.
|
||||
Configure LDAP authentication in InfluxDB Enterprise v1 and test LDAP connectivity.
|
||||
menu:
|
||||
enterprise_influxdb_v1:
|
||||
name: Configure LDAP authentication
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: Manage InfluxDB Enterprise clusters
|
||||
title: Manage InfluxDB Enterprise v1 clusters
|
||||
description: >
|
||||
Use the `influxd-ctl` and `influx` command line tools to manage InfluxDB Enterprise clusters and data.
|
||||
Use the `influxd-ctl` and `influx` command line tools to manage InfluxDB Enterprise v1 clusters and data.
|
||||
aliases:
|
||||
- /enterprise/v1.8/features/cluster-commands/
|
||||
- /enterprise_influxdb/v1/features/cluster-commands/
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
title: Add node to existing cluster
|
||||
description: Add nodes to an existing InfluxDB Enterprise cluster.
|
||||
description: Add nodes to an existing InfluxDB Enterprise v1 cluster.
|
||||
aliases:
|
||||
menu:
|
||||
enterprise_influxdb_v1:
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
title: Rebalance InfluxDB Enterprise clusters
|
||||
description: Manually rebalance an InfluxDB Enterprise cluster.
|
||||
title: Rebalance InfluxDB Enterprise v1 clusters
|
||||
description: Manually rebalance an InfluxDB Enterprise v1 cluster.
|
||||
aliases:
|
||||
- /enterprise_influxdb/v1/guides/rebalance/
|
||||
- /enterprise_influxdb/v1/guides/rebalance/
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
title: Replace InfluxDB Enterprise cluster meta nodes and data nodes
|
||||
description: Replace meta and data nodes in an InfluxDB Enterprise cluster.
|
||||
title: Replace InfluxDB Enterprise v1 cluster meta nodes and data nodes
|
||||
description: Replace meta and data nodes in an InfluxDB Enterprise v1 cluster.
|
||||
aliases:
|
||||
- /enterprise_influxdb/v1/guides/replacing-nodes/
|
||||
menu:
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: Manage node labels
|
||||
description: >
|
||||
Assign user-defined labels to nodes in your InfluxDB Enterprise cluster.
|
||||
Assign user-defined labels to nodes in your InfluxDB Enterprise v1 cluster.
|
||||
menu:
|
||||
enterprise_influxdb_v1:
|
||||
name: Manage node labels
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
title: Rename hosts in InfluxDB Enterprise
|
||||
title: Rename hosts in InfluxDB Enterprise v1
|
||||
description: Rename a host within your InfluxDB Enterprise instance.
|
||||
aliases:
|
||||
- /enterprise_influxdb/v1/administration/renaming/
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
title: Manage users and permissions
|
||||
description: Manage authorization in InfluxDB Enterprise clusters with users, roles, and permissions.
|
||||
description: Manage authorization in InfluxDB Enterprise v1 clusters with users, roles, and permissions.
|
||||
menu:
|
||||
enterprise_influxdb_v1:
|
||||
name: Manage users and permissions
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: Manage authorization with the InfluxDB Enterprise Meta API
|
||||
title: Manage authorization with the InfluxDB Enterprise v1 Meta API
|
||||
description: >
|
||||
Manage users and permissions with the InfluxDB Enterprise Meta API.
|
||||
Manage users and permissions with the InfluxDB Enterprise v1 Meta API.
|
||||
menu:
|
||||
enterprise_influxdb_v1:
|
||||
name: Manage authorization with the API
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: Manage fine-grained authorization
|
||||
description: >
|
||||
Fine-grained authorization (FGA) in InfluxDB Enterprise controls user access at the database, measurement, and series levels.
|
||||
Fine-grained authorization (FGA) in InfluxDB Enterprise v1 controls user access at the database, measurement, and series levels.
|
||||
menu:
|
||||
enterprise_influxdb_v1:
|
||||
parent: Manage users and permissions
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: Introduction to authorization in InfluxDB Enterprise
|
||||
title: Introduction to authorization in InfluxDB Enterprise v1
|
||||
description: >
|
||||
Learn the basics of managing users and permissions in InfluxDB Enterprise.
|
||||
Learn the basics of managing users and permissions in InfluxDB Enterprise v1.
|
||||
menu:
|
||||
enterprise_influxdb_v1:
|
||||
name: Introduction to authorization
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
title: Monitor InfluxDB Enterprise
|
||||
title: Monitor InfluxDB Enterprise v1
|
||||
description: Monitor InfluxDB Enterprise with InfluxDB Cloud or OSS.
|
||||
menu:
|
||||
enterprise_influxdb_v1:
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
title: Log and trace InfluxDB Enterprise operations
|
||||
title: Log and trace InfluxDB Enterprise v1 operations
|
||||
description: >
|
||||
Learn about logging locations, redirecting HTTP request logging, structured logging, and tracing.
|
||||
menu:
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: Monitor InfluxDB Enterprise with InfluxDB OSS
|
||||
title: Monitor InfluxDB Enterprise v1 with InfluxDB OSS
|
||||
description: >
|
||||
Monitor your InfluxDB Enterprise instance using InfluxDB OSS and
|
||||
Monitor your InfluxDB Enterprise v1 instance using InfluxDB OSS and
|
||||
a pre-built InfluxDB template.
|
||||
menu:
|
||||
enterprise_influxdb_v1:
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: Renew or update a license key or file
|
||||
description: >
|
||||
Renew or update a license key or file for your InfluxDB enterprise cluster.
|
||||
Renew or update a license key or file for your InfluxDB Enterprise v1 cluster.
|
||||
menu:
|
||||
enterprise_influxdb_v1:
|
||||
name: Renew a license
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
title: Upgrade InfluxDB Enterprise clusters
|
||||
title: Upgrade InfluxDB Enterprise v1 clusters
|
||||
description: Upgrade to the latest version of InfluxDB Enterprise.
|
||||
aliases:
|
||||
- /enterprise/v1.10/administration/upgrading/
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
title: InfluxDB Enterprise concepts
|
||||
title: InfluxDB Enterprise v1 concepts
|
||||
description: Clustering and other key concepts in InfluxDB Enterprise.
|
||||
aliases:
|
||||
- /enterprise/v1.10/concepts/
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: Clustering in InfluxDB Enterprise
|
||||
title: Clustering in InfluxDB Enterprise v1
|
||||
description: >
|
||||
Learn how meta nodes and data nodes interact in InfluxDB Enterprise.
|
||||
Learn how meta nodes and data nodes interact in InfluxDB Enterprise v1.
|
||||
aliases:
|
||||
- /enterprise/v1.10/concepts/clustering/
|
||||
- /enterprise_influxdb/v1/high_availability/clusters/
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: InfluxDB file system layout
|
||||
description: >
|
||||
The InfluxDB Enterprise file system layout depends on the operating system, package manager,
|
||||
The InfluxDB Enterprise v1 file system layout depends on the operating system, package manager,
|
||||
or containerization platform used to install InfluxDB.
|
||||
weight: 102
|
||||
menu:
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: InfluxDB Enterprise startup process
|
||||
title: InfluxDB Enterprise v1 startup process
|
||||
description: >
|
||||
On startup, InfluxDB Enterprise starts all subsystems and services in a deterministic order.
|
||||
On startup, InfluxDB Enterprise v1 starts all subsystems and services in a deterministic order.
|
||||
menu:
|
||||
enterprise_influxdb_v1:
|
||||
weight: 10
|
||||
|
|
@ -51,8 +51,8 @@ The Monitor service provides statistical and diagnostic information to InfluxDB
|
|||
This information helps with database troubleshooting and performance analysis.
|
||||
|
||||
### Cluster
|
||||
The Cluster service provides implementations of InfluxDB OSS v1.8 interfaces
|
||||
that operate on an InfluxDB Enterprise v1.8 cluster.
|
||||
The Cluster service provides implementations of InfluxDB OSS v1.x interfaces
|
||||
that operate on an InfluxDB Enterprise v1 cluster.
|
||||
|
||||
### Precreator
|
||||
The Precreator service creates shards before they are needed.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
title: InfluxDB Enterprise features
|
||||
title: InfluxDB Enterprise v1 features
|
||||
description: Users, clustering, and other InfluxDB Enterprise features.
|
||||
aliases:
|
||||
- /enterprise/v1.8/features/
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
title: InfluxDB Enterprise cluster features
|
||||
description: Overview of features related to InfluxDB Enterprise clustering.
|
||||
title: InfluxDB Enterprise v1 cluster features
|
||||
description: Overview of features related to InfluxDB Enterprise v1 clustering.
|
||||
aliases:
|
||||
- /enterprise/v1.8/features/clustering-features/
|
||||
menu:
|
||||
|
|
|
|||
|
|
@ -11,8 +11,8 @@ menu:
|
|||
Flux is a functional data scripting language designed for querying, analyzing, and acting on time series data.
|
||||
Its takes the power of [InfluxQL](/enterprise_influxdb/v1/query_language/spec/) and the functionality of [TICKscript](/kapacitor/v1/reference/tick/introduction/) and combines them into a single, unified syntax.
|
||||
|
||||
> Flux v0.65 is production-ready and included with **InfluxDB Enterprise v1.8+.
|
||||
> The InfluxDB v1.8 implementation of Flux is read-only and does not support
|
||||
> Flux v0.65 is production-ready and included with **InfluxDB v1 Enterprise.
|
||||
> The InfluxDB v1.8+ implementation of Flux is read-only and does not support
|
||||
> writing data back to InfluxDB.
|
||||
|
||||
## Flux design principles
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
title: InfluxDB Enterprise guides
|
||||
title: InfluxDB Enterprise v1 guides
|
||||
description: Step-by-step guides for using InfluxDB Enterprise.
|
||||
aliases:
|
||||
- /enterprise/v1.8/guides/
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
title: Authenticate requests to InfluxDB Enterprise
|
||||
title: Authenticate requests to InfluxDB Enterprise v1
|
||||
description: >
|
||||
Calculate percentages using basic math operators available in InfluxQL or Flux.
|
||||
This guide walks through use cases and examples of calculating percentages from two values in a single query.
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: Hardware sizing guidelines
|
||||
Description: >
|
||||
Review configuration and hardware guidelines for InfluxDB OSS (open source) and InfluxDB Enterprise.
|
||||
Review configuration and hardware guidelines for InfluxDB OSS (open source) and InfluxDB Enterprise v1.
|
||||
menu:
|
||||
enterprise_influxdb_v1:
|
||||
weight: 40
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: Migrate InfluxDB OSS instances to InfluxDB Enterprise clusters
|
||||
title: Migrate InfluxDB OSS instances to InfluxDB Enterprise v1 clusters
|
||||
description: >
|
||||
Migrate a running instance of InfluxDB open source (OSS) to an InfluxDB Enterprise cluster.
|
||||
Migrate a running instance of InfluxDB open source (OSS) to an InfluxDB Enterprise v1 cluster.
|
||||
aliases:
|
||||
- /enterprise/v1.10/guides/migration/
|
||||
menu:
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
title: Introducing InfluxDB Enterprise
|
||||
title: Introducing InfluxDB Enterprise v1
|
||||
description: Tasks required to get up and running with InfluxDB Enterprise.
|
||||
aliases:
|
||||
- /enterprise/v1.8/introduction/
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
title: InfluxDB Enterprise downloads
|
||||
description: Download InfluxDB Enterprise.
|
||||
title: InfluxDB Enterprise v1 downloads
|
||||
description: Download InfluxDB Enterprise v1.
|
||||
aliases:
|
||||
- /enterprise/v1.8/introduction/download/
|
||||
|
||||
|
|
@ -12,10 +12,9 @@ menu:
|
|||
---
|
||||
|
||||
You must have a valid license to run InfluxDB Enterprise.
|
||||
You may obtain a 14-day demo license via the [InfluxDB Enterprise portal](https://portal.influxdata.com/users/new).
|
||||
|
||||
If you have purchased a license or already obtained a demo license,
|
||||
log in to the [InfluxDB Enterprise portal](https://portal.influxdata.com/users/sign_in)
|
||||
If you have purchased an InfluxDB v1 Enterprise license or already obtained a demo license,
|
||||
log in to the [InfluxDB v1 Enterprise portal](https://portal.influxdata.com/users/sign_in)
|
||||
to get your license key and download URLs.
|
||||
|
||||
See the [installation documentation](/enterprise_influxdb/v1/introduction/installation/)
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
title: Getting started with InfluxDB Enterprise
|
||||
title: Getting started with InfluxDB Enterprise v1
|
||||
description: Set up your cluster as a data source in Chronograf.
|
||||
aliases:
|
||||
- /enterprise_influxdb/v1/introduction/getting_started/
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
title: Install an InfluxDB Enterprise cluster
|
||||
title: Install an InfluxDB Enterprise v1 cluster
|
||||
description: Install InfluxDB Enterprise in your own on-premise environment.
|
||||
aliases:
|
||||
- /enterprise_influxdb/v1/installation/
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
title: Install InfluxDB Enterprise data nodes
|
||||
title: Install InfluxDB Enterprise v1 data nodes
|
||||
aliases:
|
||||
- /enterprise_influxdb/v1/installation/data_node_installation/
|
||||
- /enterprise_influxdb/v1/introduction/install-and-deploy/installation/data_node_installation/
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
title: Install and run InfluxDB v1 Enterprise with Docker
|
||||
description: Install and run InfluxDB v1 Enterprise using Docker images for meta nodes and data nodes.
|
||||
title: Install and run InfluxDB Enterprise v1 with Docker
|
||||
description: Install and run InfluxDB Enterprise v1 using Docker images for meta nodes and data nodes.
|
||||
menu:
|
||||
enterprise_influxdb_v1:
|
||||
name: Install with Docker
|
||||
|
|
@ -21,7 +21,6 @@ Using Docker allows you to quickly set up and run InfluxDB Enterprise clusters w
|
|||
> [!Important]
|
||||
> #### Enterprise license required
|
||||
> You must have a valid license to run InfluxDB Enterprise.
|
||||
> Contact <sales@influxdata.com> for licensing information or obtain a 14-day demo license via the [InfluxDB Enterprise portal](https://portal.influxdata.com/users/new).
|
||||
|
||||
- [Docker image variants](#docker-image-variants)
|
||||
- [Requirements](#requirements)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
title: Docker troubleshooting for InfluxDB v1 Enterprise
|
||||
description: Common Docker-specific issues and solutions for InfluxDB v1 Enterprise deployments.
|
||||
title: Docker troubleshooting for InfluxDB Enterprise v1
|
||||
description: Common Docker-specific issues and solutions for InfluxDB Enterprise v1 deployments.
|
||||
menu:
|
||||
enterprise_influxdb_v1:
|
||||
name: Docker troubleshooting
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: FIPS-compliant InfluxDB Enterprise builds
|
||||
title: FIPS-compliant InfluxDB Enterprise v1 builds
|
||||
description: >
|
||||
InfluxDB Enterprise 1.11+ provides builds that are compliant with
|
||||
InfluxDB Enterprise v1.11+ provides builds that are compliant with
|
||||
[Federal Information Processing Standards (FIPS)](https://www.nist.gov/standardsgov/compliance-faqs-federal-information-processing-standards-fips).
|
||||
menu:
|
||||
enterprise_influxdb_v1:
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
title: Install InfluxDB Enterprise meta nodes
|
||||
title: Install InfluxDB Enterprise v1 meta nodes
|
||||
aliases:
|
||||
- /enterprise_influxdb/v1/installation/meta_node_installation/
|
||||
- /enterprise_influxdb/v1/introduction/install-and-deploy/installation/meta_node_installation/
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: Install InfluxDB Enterprise on a single server
|
||||
title: Install InfluxDB Enterprise v1 on a single server
|
||||
description: >
|
||||
Learn how to install and run InfluxDB Enterprise on a single server.
|
||||
Learn how to install and run InfluxDB Enterprise v1 on a single server.
|
||||
menu:
|
||||
enterprise_influxdb_v1:
|
||||
name: Install on a single server
|
||||
|
|
|
|||
|
|
@ -12,9 +12,9 @@ menu:
|
|||
parent: Introduction
|
||||
---
|
||||
|
||||
Review the installation requirements below, and then check out available options to [install and deploy InfluxDB Enterprise](/enterprise_influxdb/v1/introduction/installation/). For an overview of the architecture and concepts in an InfluxDB Enterprise cluster, review [Clustering in InfluxDB Enterprise](/enterprise_influxdb/v1/concepts/clustering/).
|
||||
Review the installation requirements below, and then check out available options to [install and deploy InfluxDB v1 Enterprise](/enterprise_influxdb/v1/introduction/installation/). For an overview of the architecture and concepts in an InfluxDB Enterprise cluster, review [Clustering in InfluxDB v1 Enterprise](/enterprise_influxdb/v1/concepts/clustering/).
|
||||
|
||||
## Requirements for InfluxDB Enterprise clusters
|
||||
## Requirements for InfluxDB Enterprise v1 clusters
|
||||
|
||||
InfluxDB Enterprise clusters require a license. To use a license key, all nodes in the cluster must be able to contact https://portal.influxdata.com via port `80` or port `443`. If nodes in the cluster cannot communicate with https://portal.influxdata.com, you must use the `license-path` configuration setting. For more information, see [Enterprise license settings](/enterprise_influxdb/v1/administration/config-data-nodes/#enterprise-license-settings).
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
draft: true
|
||||
title: Hardware sizing guidelines
|
||||
Description: >
|
||||
Review configuration and hardware guidelines for InfluxDB OSS (open source) and InfluxDB Enterprise.
|
||||
Review configuration and hardware guidelines for InfluxDB OSS (open source) and InfluxDB Enterprise v1.
|
||||
menu: enterprise_influxdb_1_10_ref
|
||||
weight: 40
|
||||
aliases:
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: InfluxDB Enterprise tools
|
||||
title: InfluxDB Enterprise v1 tools
|
||||
description: >
|
||||
Learn more about available tools for working with InfluxDB Enterprise.
|
||||
Learn more about available tools for working with InfluxDB Enterprise v1.
|
||||
menu:
|
||||
enterprise_influxdb_v1:
|
||||
name: Tools
|
||||
|
|
@ -22,5 +22,5 @@ Use the following tools to work with InfluxDB Enterprise:
|
|||
{{< children >}}
|
||||
|
||||
## InfluxDB open source tools
|
||||
Tools built for InfluxDB OSS v1.8 also work with InfluxDB Enterprise v1.8.
|
||||
Tools built for InfluxDB OSS v1.8+ also work with InfluxDB v1 Enterprise.
|
||||
For more information, see [InfluxDB tools](/enterprise_influxdb/v1/tools/).
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
---
|
||||
title: Use Grafana with InfluxDB Enterprise
|
||||
seotitle: Use Grafana with InfluxDB Enterprise v1.8
|
||||
title: Use Grafana with InfluxDB Enterprise v1
|
||||
description: >
|
||||
Configure Grafana to query and visualize data from InfluxDB Enterprise v1.8.
|
||||
Configure Grafana to query and visualize data from InfluxDB Enterprise v1.
|
||||
menu:
|
||||
enterprise_influxdb_v1:
|
||||
name: Grafana
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: influxd-ctl CLI
|
||||
description: >
|
||||
Use the `influxd-ctl` CLI to manage your InfluxDB Enterprise cluster.
|
||||
Use the `influxd-ctl` CLI to manage your InfluxDB Enterprise v1 cluster.
|
||||
menu:
|
||||
enterprise_influxdb_v1:
|
||||
weight: 11
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: influxd-ctl add-data
|
||||
description: >
|
||||
The `influxd-ctl add-data` command adds a data node to an InfluxDB Enterprise cluster.
|
||||
The `influxd-ctl add-data` command adds a data node to an InfluxDB Enterprise v1 cluster.
|
||||
menu:
|
||||
enterprise_influxdb_v1:
|
||||
parent: influxd-ctl
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: influxd-ctl add-meta
|
||||
description: >
|
||||
The `influxd-ctl add-meta` command adds a meta node to an InfluxDB Enterprise cluster.
|
||||
The `influxd-ctl add-meta` command adds a meta node to an InfluxDB Enterprise v1 cluster.
|
||||
menu:
|
||||
enterprise_influxdb_v1:
|
||||
parent: influxd-ctl
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: influxd-ctl backup
|
||||
description: >
|
||||
The `influxd-ctl backup` command backs up an InfluxDB Enterprise cluster's
|
||||
The `influxd-ctl backup` command backs up an InfluxDB Enterprise v1 cluster's
|
||||
[metastore](/enterprise_influxdb/v1/concepts/glossary/#metastore) and
|
||||
[shard](/enterprise_influxdb/v1/concepts/glossary/#shard) data at that point in
|
||||
time and stores the copy in the specified directory.
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: influxd-ctl ldap sample-config
|
||||
description: >
|
||||
The `influxd-ctl ldap sample-config` command prints a sample InfluxDB Enterprise
|
||||
The `influxd-ctl ldap sample-config` command prints a sample InfluxDB Enterprise v1
|
||||
LDAP configuration to stdout.
|
||||
menu:
|
||||
enterprise_influxdb_v1:
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: influxd-ctl show
|
||||
description: >
|
||||
The `influxd-ctl show` command lists all nodes in an InfluxDB Enterprise cluster.
|
||||
The `influxd-ctl show` command lists all nodes in an InfluxDB Enterprise v1 cluster.
|
||||
menu:
|
||||
enterprise_influxdb_v1:
|
||||
parent: influxd-ctl
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
title: Troubleshoot InfluxDB Enterprise
|
||||
title: Troubleshoot InfluxDB Enterprise v1
|
||||
description: Troubleshoot InfluxDB Enterprise.
|
||||
aliases:
|
||||
- /enterprise/v1.8/troubleshooting/
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
title: InfluxDB Enterprise frequently asked questions
|
||||
title: InfluxDB Enterprise v1 frequently asked questions
|
||||
description: Common issues with InfluxDB Enterprise.
|
||||
aliases:
|
||||
- /enterprise_influxdb/v1/troubleshooting/frequently_encountered_issues/
|
||||
|
|
|
|||
|
|
@ -0,0 +1,73 @@
|
|||
---
|
||||
title: Usage telemetry
|
||||
description: >
|
||||
InfluxData collects information, or _telemetry data_, about the usage of {{% product-name %}} to help improve the product.
|
||||
Learn what data {{% product-name %}} collects and sends to InfluxData, how it's used, and
|
||||
how you can opt out.
|
||||
menu:
|
||||
influxdb_v2:
|
||||
name: Usage telemetry
|
||||
parent: Reference
|
||||
weight: 8
|
||||
related:
|
||||
- /influxdb/v2/reference/cli/influxd/
|
||||
- /influxdb/v2/reference/internals/metrics/
|
||||
---
|
||||
|
||||
InfluxData collects information, or *telemetry data*, about the usage of {{% product-name %}} to help improve the product.
|
||||
Learn what data {{% product-name %}} collects and sends to InfluxData, how it's used, and
|
||||
how you can opt out.
|
||||
|
||||
## Metrics Collection
|
||||
|
||||
For each InfluxDB 2.x installation, we collect the following at startup and then every 8 hours:
|
||||
|
||||
### Tags
|
||||
|
||||
| Tags | Description |
|
||||
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| arch | Microarchitecture InfluxDB was compiled for |
|
||||
| build date | Date associated with the InfluxDB build |
|
||||
| commit | SHA of commit associated with the InfluxDB build |
|
||||
| cpus | Number of CPUs running InfluxDB |
|
||||
| functions | Flux functions |
|
||||
| id | Snowflake identifier for the InfluxDB instance |
|
||||
| Index partition | Identifies the index partition used by the underlying InfluxDB storage engine |
|
||||
| ip | IP Address of the inbound connection which reports the statistics. This is **not** the specific IP Address of the machine running InfluxDB unless it is exposed directly on the public Internet. |
|
||||
| org | Identifier for an organization. Allows for grouping of statistics by organization within the InfluxDB instance |
|
||||
| os | Operating System InfluxDB is running on |
|
||||
| result | Text allowing grouping of Flux query invocations results |
|
||||
| series file partition | Identifies the series files in use for the underlying InfluxDB storage engine. This is not the metadata about series. |
|
||||
| status | Status of write ahead log (associated to number of successful /failed writes) |
|
||||
| user\_agent | Typically, this is set by the browser, InfluxDB client libraries (includes the language \[Go, JavaScript, Java, C#, Ruby, Python, etc.] and version), and other technologies \[such as third-party dashboarding applications, etc.]. |
|
||||
| version | InfluxDB version |
|
||||
|
||||
With those tag elements, we then leverage a combination of the unique combination of `id`, `ip`, and storage system specifics (where applicable) to capture usage counts of the various subsystems within InfluxDB.
|
||||
|
||||
### Fields
|
||||
|
||||
| Fields | Description |
|
||||
| --------------------------- | ----------------------------------------------------------------------------- |
|
||||
| buckets total counter | Total number of buckets present within the InfluxDB instance |
|
||||
| bytes written counter | Total number of bytes written |
|
||||
| bytes scanned counter | Total number of bytes scanned within the storage system via queries and tasks |
|
||||
| dashboards total counter | Total number of dashboards present within the InfluxDB instance |
|
||||
| flux function total counter | Total number of calls by function invoked within Flux |
|
||||
| http api requests counter | Total number of API invocations by each API path |
|
||||
| query duration histogram | Histogram counting duration of queries into bins |
|
||||
| organizations total counter | Total number of organizations present within the InfluxDB instance |
|
||||
| scrapers total counter | Total number of scrapers configured within the InfluxDB instance |
|
||||
| series total counter | Total number of series present within the InfluxDB instance |
|
||||
| storage total counter | Total number of bytes stored within the InfluxDB instance |
|
||||
| task scheduler gauge | Number of tasks running within the InfluxDB instance |
|
||||
| telegrafs total counter | Total number of Telegraf configurations within the InfluxDB instance |
|
||||
| tokens total counter | Total number of tokens present within the InfluxDB instance |
|
||||
| uptime gauge | Number of seconds InfluxDB has been continuously running |
|
||||
| users total counter | Total number of users present within the InfluxDB instance |
|
||||
| wal current segment gauge | Number of bytes in the current segments for the write ahead log |
|
||||
| wal writes total counter | Total number of writes to the write ahead log by status (ok, fail, etc.) |
|
||||
|
||||
## Disable telemetry
|
||||
|
||||
To "opt-out" of collecting and sending {{% product-name %}} telemetry data,
|
||||
include the `--reporting-disabled` flag with the `influxd` command when starting {{% product-name %}}.
|
||||
|
|
@ -3,7 +3,7 @@ title: Manage users
|
|||
seotitle: Manage users and permissions in InfluxDB Cloud Dedicated
|
||||
description: >
|
||||
Manage users and access to resources in your InfluxDB Cloud Dedicated cluster.
|
||||
Assign user groups for role-based access control and security.
|
||||
Use the Admin UI for self-service user management or contact support for advanced operations
|
||||
menu:
|
||||
influxdb3_cloud_dedicated:
|
||||
parent: Administer InfluxDB Cloud
|
||||
|
|
@ -24,7 +24,7 @@ Attribute-Based Access Control (ABAC) security model which grants access based o
|
|||
user attributes, resource types, and environment context.
|
||||
|
||||
- [Available user groups](#available-user-groups)
|
||||
- [Manage users](#manage-users)
|
||||
- [User management methods](#user-management-methods)
|
||||
|
||||
## Available user groups
|
||||
|
||||
|
|
@ -46,45 +46,29 @@ A user can belong to the following groups, each with predefined privileges:
|
|||
> in your account are initially assigned to the Admin group, retaining full
|
||||
> access to resources in your cluster.
|
||||
|
||||
## Manage users
|
||||
## User management methods
|
||||
|
||||
- [Assign a user to a different group](#assign-a-user-to-a-different-group)
|
||||
- [Invite a user to your account](#invite-a-user-to-your-account)
|
||||
Choose the appropriate method for your user management needs:
|
||||
|
||||
### Assign a user to a different group
|
||||
### Admin UI (Self-service)
|
||||
Use the Admin UI for user management tasks (available to Admin users only):
|
||||
|
||||
To assign existing users in your account to different
|
||||
groups, [contact InfluxData support](https://support.influxdata.com/s/login/)
|
||||
and provide the list of users and the desired [user groups](#available-user-groups)
|
||||
for each.
|
||||
- **View users and invitations** - View existing users, invite status, invite ID, and invitation date
|
||||
- **Invite new users** - Send invitations with role assignment (Admin, Member, Auditor)
|
||||
- **Revoke pending invitations** - Cancel invitations that haven't been accepted
|
||||
|
||||
### Invite a user to your account
|
||||
> [!Note]
|
||||
> #### Role permissions
|
||||
>
|
||||
> Auditor role users can view the invite list but cannot send or revoke invitations. Member role users cannot access the invite list.
|
||||
|
||||
For new users that you want to add to your account, the InfluxData Support Team
|
||||
configures invitations with the attributes and groups that you specify.
|
||||
For more information, see [Manage users in the Admin UI](/influxdb3/cloud-dedicated/admin/users/admin-ui/).
|
||||
|
||||
1. [Contact InfluxData support](https://support.influxdata.com/s/login/)
|
||||
to invite a user to your account.
|
||||
In your request, provide the user details, including email address, desired
|
||||
[user groups](#available-user-groups), and other attributes for the user.
|
||||
2. InfluxData support creates the user account and emails the user an invitation
|
||||
that includes following:
|
||||
### Contact support (Advanced operations)
|
||||
For operations not available in the Admin UI:
|
||||
|
||||
- A login URL to authenticate access to the cluster
|
||||
- The {{% product-name %}} **account ID**
|
||||
- The {{% product-name %}} **cluster ID**
|
||||
- The {{% product-name %}} **cluster URL**
|
||||
- A password reset email for setting the login password
|
||||
- View or change user roles after invitation acceptance
|
||||
- Remove accepted users from your account
|
||||
- Advanced user configurations
|
||||
|
||||
3. The user accepts the invitation to your account
|
||||
|
||||
With a valid password, the user can access cluster resources by interacting with the
|
||||
[`influxctl`](/influxdb3/cloud-dedicated/reference/influxctl/) command line tool.
|
||||
The assigned user groups determine the user's access to resources.
|
||||
|
||||
> [!Note]
|
||||
> #### Use database tokens to authorize data reads and writes
|
||||
>
|
||||
> In {{% product-name %}}, user groups control access for managing cluster resources.
|
||||
> [Database tokens](/influxdb3/cloud-dedicated/admin/tokens/database/) control access
|
||||
> for reading and writing data in cluster databases.
|
||||
{{< children >}}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,125 @@
|
|||
---
|
||||
title: Manage users in the Admin UI
|
||||
seotitle: Manage users in InfluxDB Cloud Dedicated Admin UI
|
||||
description: >
|
||||
Use the InfluxDB Cloud Dedicated Admin UI to view users, send invitations, assign roles,
|
||||
and manage user access to your cluster. Learn how to invite new users, revoke invitations,
|
||||
and understand role-based permissions.
|
||||
menu:
|
||||
influxdb3_cloud_dedicated:
|
||||
parent: Manage users
|
||||
name: Admin UI
|
||||
weight: 201
|
||||
influxdb3/cloud-dedicated/tags: [users, admin ui, invitations, roles]
|
||||
related:
|
||||
- /influxdb3/cloud-dedicated/admin/users/
|
||||
- /influxdb3/cloud-dedicated/reference/internals/security/
|
||||
- /influxdb3/cloud-dedicated/admin/tokens/
|
||||
---
|
||||
|
||||
Use the {{% product-name %}} Admin UI to manage users and control access to your cluster through a web-based interface. The Admin UI provides self-service user management capabilities, allowing administrators to invite new users, assign roles, and manage invitations without contacting support.
|
||||
|
||||
- [Access the Users page](#access-the-users-page)
|
||||
- [View existing users](#view-existing-users)
|
||||
- [Invite a user](#invite-a-user)
|
||||
- [Manage invitations](#manage-invitations)
|
||||
- [User roles and permissions](#user-roles-and-permissions)
|
||||
- [Limitations](#limitations)
|
||||
|
||||
## Access the Users page
|
||||
|
||||
1. Access the {{% product-name %}} Admin UI at [console.influxdata.com](https://console.influxdata.com).
|
||||
If you don't have login credentials, [contact InfluxData support](https://support.influxdata.com).
|
||||
2. Log in using the credentials provided by InfluxData.
|
||||
3. From the Account Management portal, select your cluster.
|
||||
4. In the cluster resource management view, click **Users** in the navigation.
|
||||
|
||||
The Users page displays your account information and a table of existing users and invitations.
|
||||
|
||||
## View existing users
|
||||
|
||||
The Users page shows a comprehensive view of all users and pending invitations for your account:
|
||||
|
||||
- **Invite ID**: Unique identifier for each user invitation
|
||||
- **Email**: Email address of the invited or existing user
|
||||
- **Invited At**: Date and time when the invitation was sent
|
||||
- **Status**: Current status of the invitation
|
||||
- `accepted`: User has accepted the invitation and has access to the cluster
|
||||
- `expired`: Invitation has expired and is no longer valid
|
||||
- `revoked`: Invitation has been manually revoked by an administrator
|
||||
|
||||
Use the search functionality to quickly find specific users by email address or invitation details.
|
||||
|
||||
## Invite a user
|
||||
|
||||
Only users with the **Admin** role can send new invitations.
|
||||
|
||||
1. On the Users page, click **{{< icon "plus" >}} Invite Users**.
|
||||
2. In the **Invite User** dialog:
|
||||
- Enter the **email address** of the user you want to invite
|
||||
- Select the appropriate **role** from the dropdown menu:
|
||||
- **Admin**: Full read and write permissions on all resources
|
||||
- **Member**: Read permission on certain resources and create permission for database tokens
|
||||
- **Auditor**: Read permission on all resources without modification capabilities
|
||||
3. Click **Send Invitation**.
|
||||
|
||||
An invitation email with an activation link is sent to the specified email address. The user must accept the invitation to gain access to your {{% product-name %}} cluster.
|
||||
|
||||
{{% note %}}
|
||||
#### Invitation expiration
|
||||
Invitations expire after a set period. If an invitation expires, you'll need to send a new invitation to the user.
|
||||
{{% /note %}}
|
||||
|
||||
## Manage invitations
|
||||
|
||||
### Revoke an invitation
|
||||
|
||||
You can revoke pending invitations that haven't been accepted yet:
|
||||
|
||||
1. In the Users table, locate the invitation you want to revoke.
|
||||
2. Click the **Actions** menu (⋮) for that invitation.
|
||||
3. Select **Revoke Invitation**.
|
||||
4. Confirm the revocation when prompted.
|
||||
|
||||
Revoked invitations can no longer be used to access your cluster. The invitation status will change to `revoked`.
|
||||
|
||||
### View invitation details
|
||||
|
||||
Click on any invitation in the table to view additional details, including:
|
||||
- Complete invitation ID
|
||||
- Exact timestamp of invitation creation
|
||||
- Current status and any status changes
|
||||
|
||||
## User roles and permissions
|
||||
|
||||
{{% product-name %}} uses role-based access control to manage user permissions for the following roles:
|
||||
|
||||
### Admin
|
||||
- Full read and write permissions on all cluster resources
|
||||
- Can create and delete databases, tables, and tokens
|
||||
- Can send and revoke user invitations
|
||||
- Can manage all aspects of cluster administration
|
||||
|
||||
### Member
|
||||
- Read permission on databases and certain cluster resources
|
||||
- Can create database tokens for data access
|
||||
- Cannot delete or create databases
|
||||
- Cannot manage other users or send invitations
|
||||
|
||||
### Auditor
|
||||
- Read-only access to all cluster resources
|
||||
- Can view databases, tables, and configuration
|
||||
- Can see user invitations but cannot create or revoke them
|
||||
- Cannot modify any resources or create tokens
|
||||
|
||||
> [!Note]
|
||||
> #### Role assignment
|
||||
>
|
||||
> User roles are assigned when sending invitations and cannot currently be changed through the Admin UI.
|
||||
> To modify a user's role, [contact InfluxData support](https://support.influxdata.com).
|
||||
|
||||
## Limitations
|
||||
|
||||
- **Historical records**: Invitation records remain even after user removal; use the [`influxctl users list`](https://docs.influxdata.com/influxdb3/cloud-dedicated/reference/influxctl/#list-users) command to confirm current users
|
||||
|
||||
For operations not available in the Admin UI, contact [InfluxData support](https://support.influxdata.com) for role changes, user removal, or other advanced user management tasks.
|
||||
|
|
@ -78,7 +78,7 @@ username and password to authenticate database reads and writes by passing a
|
|||
When authenticating requests to the v1 API `/write` and `/query` endpoints, {{% product-name %}} checks that the `password` (`p`) value is an authorized [database token](/influxdb3/cloud-dedicated/admin/tokens/#database-tokens).
|
||||
{{% product-name %}} ignores the `username` (`u`) parameter in the request.
|
||||
|
||||
Use one of the following authentication schemes with clients that support Basic authentication or query parameters (that don't support [token authentication](#authenticate-with-a-token)):
|
||||
Use one of the following authentication schemes with clients that support Basic authentication or query parameters (that don't support [token authentication](#authenticate-with-a-token-scheme)):
|
||||
|
||||
- [Basic authentication](#basic-authentication)
|
||||
- [Query string authentication](#query-string-authentication)
|
||||
|
|
@ -260,7 +260,7 @@ Write data with your existing workloads that already use the InfluxDB v1 or v1.x
|
|||
|
||||
{{% api-endpoint endpoint="https://{{< influxdb/host >}}/write" method="post" %}}
|
||||
|
||||
- [`/api/v2/write` parameters](#v1-api-write-parameters)
|
||||
- [`/write` parameters](#v1-api-write-parameters)
|
||||
- [Tools for writing to the v1 API](#tools-for-writing-to-the-v1-api)
|
||||
|
||||
#### v1 API /write parameters
|
||||
|
|
@ -302,7 +302,7 @@ The following tools work with the {{% product-name %}} `/write` endpoint:
|
|||
#### Telegraf
|
||||
|
||||
If you have existing v1 workloads that use Telegraf,
|
||||
you can use the [InfluxDB v1.x `influxdb` Telegraf output plugin](https://github.com/influxdata/telegraf/blob/master/plugins/outputs/influxdb/README.md) to write data.
|
||||
you can use the [InfluxDB v1.x `influxdb` Telegraf output plugin](/telegraf/v1/output-plugins/influxdb/) to write data.
|
||||
|
||||
> [!Note]
|
||||
> See how to [use Telegraf and the v2 API](/influxdb3/cloud-dedicated/write-data/use-telegraf/) for new workloads that don't already use the v1 API.
|
||||
|
|
@ -344,7 +344,7 @@ Replace the following:
|
|||
|
||||
`influx_uint_support`: supported in InfluxDB 3.
|
||||
|
||||
For more plugin options, see [`influxdb`](https://github.com/influxdata/telegraf/blob/master/plugins/outputs/influxdb/README.md) on GitHub.
|
||||
For more plugin options, see [`influxdb`](/telegraf/v1/output-plugins/influxdb/) on GitHub.
|
||||
|
||||
#### Interactive clients
|
||||
|
||||
|
|
@ -355,7 +355,7 @@ Include the following in your request:
|
|||
- A `db` query string parameter with the name of the database to write to.
|
||||
- A request body that contains a string of data in [line protocol](/influxdb3/cloud-dedicated/reference/syntax/line-protocol/) syntax.
|
||||
- A [database token](/influxdb3/cloud-dedicated/admin/tokens/#database-tokens) in
|
||||
one of the following authentication schemes: [Basic authentication](#basic-authentication), [query string authentication](#query-string-authentication), or [token authentication](#authenticate-with-a-token).
|
||||
one of the following authentication schemes: [Basic authentication](#basic-authentication), [query string authentication](#query-string-authentication), or [token authentication](#authenticate-with-a-token-scheme).
|
||||
- Optional [parameters](#v1-api-write-parameters).
|
||||
|
||||
The following example shows how to use the **cURL** command line tool and the {{% product-name %}} v1 API to write line protocol data to a database:
|
||||
|
|
|
|||
|
|
@ -52,15 +52,15 @@ stored in an InfluxDB database.
|
|||
|
||||
### Install prerequisites for Superset and Flight SQL
|
||||
|
||||
We recommend using **Docker and docker-compose** to run Superset.
|
||||
We recommend using **Docker and Docker Compose** to run Superset.
|
||||
To set up Superset to run in Docker containers with Flight SQL, follow these steps:
|
||||
|
||||
> [!Warning]
|
||||
> **Superset** is not officially supported on Windows. For more information about running Superset with
|
||||
> Windows and Docker, see the
|
||||
> [Superset documentation](https://superset.apache.org/docs/installation/installing-superset-using-docker-compose#1-install-a-docker-engine-and-docker-compose).
|
||||
> [Superset documentation](https://superset.apache.org/docs/installation/docker-compose).
|
||||
|
||||
1. Follow the instructions to download and install Docker and docker-compose for your system:
|
||||
1. Follow the instructions to download and install Docker and Docker Compose for your system:
|
||||
|
||||
- **macOS**: [Install Docker for macOS](https://docs.docker.com/desktop/install/mac-install/)
|
||||
- **Linux**: [Install Docker for Linux](https://docs.docker.com/desktop/install/linux-install/)
|
||||
|
|
@ -154,7 +154,7 @@ pip3 install flightsql-dbapi
|
|||
3. Use the `docker-compose pull` command to fetch dependencies for the Docker containers.
|
||||
|
||||
```sh
|
||||
docker-compose -f docker-compose-non-dev.yml pull
|
||||
docker compose -f docker-compose-non-dev.yml pull
|
||||
```
|
||||
|
||||
The process might take several seconds to complete.
|
||||
|
|
@ -165,7 +165,7 @@ pip3 install flightsql-dbapi
|
|||
To start the containers and run Superset, enter the `docker-compose up` command and pass the `-f` flag with the setup file name:
|
||||
|
||||
```sh
|
||||
docker-compose -f docker-compose-non-dev.yml up
|
||||
docker compose -f docker-compose-non-dev.yml up
|
||||
```
|
||||
|
||||
This might take several seconds to complete.
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ metrics from different sources and writes them to specified destinations.
|
|||
## Configure Telegraf to write to InfluxDB
|
||||
|
||||
To send data to {{< product-name >}}, enable the
|
||||
[`influxdb_v2` output plugin](https://github.com/influxdata/telegraf/blob/master/plugins/outputs/influxdb_v2/README.md)
|
||||
[`influxdb_v2` output plugin](/telegraf/v1/output-plugins/influxdb_v2/)
|
||||
in the `telegraf.conf`.
|
||||
|
||||
{{% code-placeholders "DATABASE_NAME" %}}
|
||||
|
|
@ -145,4 +145,4 @@ The preceding examples describe Telegraf configurations necessary for writing to
|
|||
The output plugin provides several other options for configuring the Telegraf client:
|
||||
|
||||
- `influx_uint_support`: supported by the InfluxDB 3 storage engine.
|
||||
- See [`influxdb_v2` plugin options](https://github.com/influxdata/telegraf/blob/master/plugins/outputs/influxdb_v2/README.md) on GitHub.
|
||||
- See [`influxdb_v2` plugin options](/telegraf/v1/output-plugins/influxdb_v2/) on GitHub.
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ To add any of the available [Telegraf plugins](/telegraf/v1/plugins/), follow th
|
|||
### Enable and configure the InfluxDB v2 output plugin
|
||||
|
||||
To send data to {{< product-name >}}, enable the
|
||||
[`influxdb_v2` output plugin](https://github.com/influxdata/telegraf/blob/master/plugins/outputs/influxdb_v2/README.md)
|
||||
[`influxdb_v2` output plugin](/telegraf/v1/output-plugins/influxdb_v2/)
|
||||
in the `telegraf.conf`.
|
||||
|
||||
{{% code-placeholders "DATABASE_NAME" %}}
|
||||
|
|
@ -124,7 +124,7 @@ The name of the {{% product-name %}} database to write data to.
|
|||
|
||||
`influx_uint_support`: supported in InfluxDB 3.
|
||||
|
||||
For more plugin options, see [`influxdb`](https://github.com/influxdata/telegraf/blob/master/plugins/outputs/influxdb/README.md) on GitHub.
|
||||
For more plugin options, see [`influxdb`](/telegraf/v1/output-plugins/influxdb/) on GitHub.
|
||||
|
||||
## Start Telegraf
|
||||
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ username and password to authenticate bucket reads and writes by passing an [API
|
|||
When authenticating requests to the v1 API `/write` and `/query` endpoints, {{% product-name %}} checks that the `password` (`p`) value is an authorized [API token](/influxdb3/cloud-serverless/admin/tokens/).
|
||||
{{% product-name %}} ignores the `username` (`u`) parameter in the request.
|
||||
|
||||
Use one of the following authentication schemes with clients that support Basic authentication or query parameters (that don't support [token authentication](#authenticate-with-a-token)):
|
||||
Use one of the following authentication schemes with clients that support Basic authentication or query parameters (that don't support [token authentication](#authenticate-with-a-token-scheme)):
|
||||
|
||||
- [Basic authentication](#basic-authentication)
|
||||
- [Query string authentication](#query-string-authentication)
|
||||
|
|
@ -144,8 +144,8 @@ curl --get "https://{{< influxdb/host >}}/query" \
|
|||
|
||||
Replace the following:
|
||||
|
||||
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: the [database](#map-databases-and-retention-policies-to-buckets)
|
||||
- {{% code-placeholder-key %}}`RETENTION_POLICY`{{% /code-placeholder-key %}}: the [retention policy](#map-databases-and-retention-policies-to-buckets)
|
||||
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: the [database](#map-v1-databases-and-retention-policies-to-buckets)
|
||||
- {{% code-placeholder-key %}}`RETENTION_POLICY`{{% /code-placeholder-key %}}: the [retention policy](#map-v1-databases-and-retention-policies-to-buckets)
|
||||
- {{% code-placeholder-key %}}`API_TOKEN`{{% /code-placeholder-key %}}: a [token](/influxdb3/cloud-serverless/admin/tokens/) with sufficient permissions to the mapped bucket
|
||||
|
||||
### Authenticate with a token scheme
|
||||
|
|
@ -187,8 +187,8 @@ influx bucket delete -n DATABASE_NAME/RETENTION_POLICY_NAME
|
|||
|
||||
Replace the following:
|
||||
|
||||
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: the [database](#map-databases-and-retention-policies-to-buckets)
|
||||
- {{% code-placeholder-key %}}`RETENTION_POLICY`{{% /code-placeholder-key %}}: the [retention policy](#map-databases-and-retention-policies-to-buckets)
|
||||
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: the [database](#map-v1-databases-and-retention-policies-to-buckets)
|
||||
- {{% code-placeholder-key %}}`RETENTION_POLICY`{{% /code-placeholder-key %}}: the [retention policy](#map-v1-databases-and-retention-policies-to-buckets)
|
||||
- {{% code-placeholder-key %}}`API_TOKEN`{{% /code-placeholder-key %}}: a [token](/influxdb3/cloud-serverless/admin/tokens/) with sufficient permissions to the mapped bucket
|
||||
|
||||
## Responses
|
||||
|
|
@ -228,7 +228,7 @@ Response body messages may differ across {{% product-name %}} v1 API, v2 API, In
|
|||
```
|
||||
|
||||
The `?precision=` parameter contains an unknown value.
|
||||
Provide a [timestamp precision](#timestamp-precision).
|
||||
Provide a [timestamp precision]/influxdb3/cloud-serverless/reference/glossary/#timestamp-precision).
|
||||
|
||||
## Map v1 databases and retention policies to buckets
|
||||
|
||||
|
|
@ -336,7 +336,7 @@ Include the following:
|
|||
|
||||
{{< req type="key" >}}
|
||||
|
||||
- {{< req "\*" >}} a [token](/influxdb3/cloud-serverless/admin/tokens/) that has the [necessary permissions](#authorization).
|
||||
- {{< req "\*" >}} a [token](/influxdb3/cloud-serverless/admin/tokens/) that has the necessary permissions to the mapped bucket.
|
||||
- {{< req "\*" >}} the **database name** to map
|
||||
- {{< req "\*" >}} the **retention policy** name to map
|
||||
- {{< req "\*" >}} the [bucket ID](/influxdb3/cloud-serverless/admin/buckets/view-buckets/#view-buckets-in-the-influxdb-ui) to map to
|
||||
|
|
@ -376,7 +376,7 @@ influx v1 dbrp delete --id $test_dbrp
|
|||
|
||||
Replace the following:
|
||||
|
||||
- {{% code-placeholder-key %}}`API_TOKEN`{{% /code-placeholder-key %}}: a [token](/influxdb3/cloud-serverless/admin/tokens/) that has the [necessary permissions](#authorization)
|
||||
- {{% code-placeholder-key %}}`API_TOKEN`{{% /code-placeholder-key %}}: a [token](/influxdb3/cloud-serverless/admin/tokens/) that has the necessary permissions to the mapped bucket
|
||||
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: the database name to map to the bucket
|
||||
- {{% code-placeholder-key %}}`RETENTION_POLICY_NAME`{{% /code-placeholder-key %}}: the retention policy name to map to the bucket
|
||||
- {{% code-placeholder-key %}}`BUCKET_ID`{{% /code-placeholder-key %}}: the [bucket ID](/influxdb3/cloud-serverless/admin/buckets/view-buckets/) to map to
|
||||
|
|
@ -395,7 +395,7 @@ Include the following:
|
|||
|
||||
- **Request method:** `POST`
|
||||
- **Headers:**
|
||||
- **Authorization:** `Token` scheme with a [token](/influxdb3/cloud-serverless/admin/tokens/) that has the [necessary permissions](#authorization)
|
||||
- **Authorization:** `Token` scheme with a [token](/influxdb3/cloud-serverless/admin/tokens/) that has the necessary permissions to the mapped bucket
|
||||
- **Content-type:** `application/json`
|
||||
- **Request body:** JSON object with the following fields:
|
||||
|
||||
|
|
@ -485,7 +485,7 @@ Include the following:
|
|||
|
||||
- **Request method:** `GET`
|
||||
- **Headers:**
|
||||
- **Authorization:** `Token` scheme with your [token](/influxdb3/cloud-serverless/admin/tokens/) that has the [necessary permissions](#authorization)
|
||||
- **Authorization:** `Token` scheme with your [token](/influxdb3/cloud-serverless/admin/tokens/) that has the necessary permissions to the mapped bucket
|
||||
- **Query parameters:**
|
||||
{{< req type="key" >}}
|
||||
- {{< req "\*" >}} **orgID:** your [organization ID](/influxdb3/cloud-serverless/admin/organizations/view-orgs/#view-your-organization-id)
|
||||
|
|
@ -545,7 +545,7 @@ Use the [`influx v1 dbrp update` command](/influxdb3/cloud-serverless/reference/
|
|||
to update a DBRP mapping.
|
||||
Include the following:
|
||||
|
||||
- a [token](/influxdb3/cloud-serverless/admin/tokens/) that has the [necessary permissions](#authorization)
|
||||
- a [token](/influxdb3/cloud-serverless/admin/tokens/) that has the necessary permissions to the mapped bucket
|
||||
- **DBRP mapping ID** to update
|
||||
- Optional: **Retention policy** name to update to
|
||||
- Optional: **Default flag** to set the retention policy as the [default DBRP mapping](#default-dbrp) for the database name.
|
||||
|
|
@ -577,7 +577,7 @@ influx v1 dbrp update \
|
|||
|
||||
Replace the following:
|
||||
|
||||
- {{% code-placeholder-key %}}`API_TOKEN`{{% /code-placeholder-key %}}: a [token](/influxdb3/cloud-serverless/admin/tokens/) that has the [necessary permissions](#authorization)
|
||||
- {{% code-placeholder-key %}}`API_TOKEN`{{% /code-placeholder-key %}}: a [token](/influxdb3/cloud-serverless/admin/tokens/) that has the necessary permissions to the mapped bucket
|
||||
- {{% code-placeholder-key %}}`DBRP_ID`{{% /code-placeholder-key %}}: the DBRP ID to update
|
||||
- {{% code-placeholder-key %}}`RETENTION_POLICY_NAME`{{% /code-placeholder-key %}}: a retention policy name to map to the bucket
|
||||
|
||||
|
|
@ -596,7 +596,7 @@ Include the following:
|
|||
|
||||
- **Request method:** `PATCH`
|
||||
- **Headers:**
|
||||
- {{< req "\*" >}} the **Authorization:** `Token` scheme with a [token](/influxdb3/cloud-serverless/admin/tokens/) that has the [necessary permissions](#authorization)
|
||||
- {{< req "\*" >}} the **Authorization:** `Token` scheme with a [token](/influxdb3/cloud-serverless/admin/tokens/) that has the necessary permissions to the mapped bucket
|
||||
- **Path parameters:**
|
||||
- {{< req "\*" >}} **id:** the DBRP mapping ID to update
|
||||
- **Query parameters:**
|
||||
|
|
@ -622,7 +622,7 @@ curl --request PATCH \
|
|||
|
||||
Replace the following:
|
||||
|
||||
- {{% code-placeholder-key %}}`API_TOKEN`{{% /code-placeholder-key %}}: a [token](/influxdb3/cloud-serverless/admin/tokens/) that has the [necessary permissions](#authorization)
|
||||
- {{% code-placeholder-key %}}`API_TOKEN`{{% /code-placeholder-key %}}: a [token](/influxdb3/cloud-serverless/admin/tokens/) that has the necessary permissions to the mapped bucket
|
||||
- {{% code-placeholder-key %}}`DBRP_ID`{{% /code-placeholder-key %}}: the DBRP ID to update
|
||||
- {{% code-placeholder-key %}}`RETENTION_POLICY_NAME`{{% /code-placeholder-key %}}: a retention policy name to map to the bucket
|
||||
|
||||
|
|
@ -648,7 +648,7 @@ Include the following:
|
|||
|
||||
{{< req type="key" >}}
|
||||
|
||||
- {{< req "\*" >}} a [token](/influxdb3/cloud-serverless/admin/tokens/) that has the [necessary permissions](#authorization)
|
||||
- {{< req "\*" >}} a [token](/influxdb3/cloud-serverless/admin/tokens/) that has the necessary permissions to the mapped bucket
|
||||
- {{< req "\*" >}} **DBRP mapping ID** to delete
|
||||
|
||||
|
||||
|
|
@ -689,7 +689,7 @@ Include the following:
|
|||
|
||||
- **Request method:** `DELETE`
|
||||
- **Headers:**
|
||||
- {{< req "\*" >}} the **Authorization:** `Token` scheme with a [token](/influxdb3/cloud-serverless/admin/tokens/) that has the [necessary permissions](#authorization)
|
||||
- {{< req "\*" >}} the **Authorization:** `Token` scheme with a [token](/influxdb3/cloud-serverless/admin/tokens/) that has the necessary permissions to the mapped bucket
|
||||
- **Path parameters:**
|
||||
- {{< req "\*" >}} **id:** DBRP mapping ID to update
|
||||
- **Query parameters:**
|
||||
|
|
@ -708,7 +708,7 @@ curl --request DELETE \
|
|||
|
||||
Replace the following:
|
||||
|
||||
- {{% code-placeholder-key %}}`API_TOKEN`{{% /code-placeholder-key %}}: a [token](/influxdb3/cloud-serverless/admin/tokens/) that has the [necessary permissions](#authorization)
|
||||
- {{% code-placeholder-key %}}`API_TOKEN`{{% /code-placeholder-key %}}: a [token](/influxdb3/cloud-serverless/admin/tokens/) that has the necessary permissions to the mapped bucket
|
||||
- {{% code-placeholder-key %}}`DBRP_ID`{{% /code-placeholder-key %}}: the DBRP ID to update
|
||||
- {{% code-placeholder-key %}}`ORG_ID`{{% /code-placeholder-key %}}: the [organization ID](/influxdb3/cloud-serverless/admin/organizations/view-orgs/#view-your-organization-id)
|
||||
|
||||
|
|
|
|||
|
|
@ -26,18 +26,18 @@ list_code_example: |
|
|||
Use the InfluxDB v1 HTTP API `/write` endpoint and InfluxQL to write data stored in {{< product-name >}}.
|
||||
The `/write` endpoint provides compatibility for InfluxDB 1.x workloads that you bring to InfluxDB 3.
|
||||
|
||||
_The v1 write and query APIs require [mapping databases and retention policies to buckets](#map-databases-and-retention-policies-to-buckets)._
|
||||
_The v1 write and query APIs require [mapping databases and retention policies to buckets](#map-v1-databases-and-retention-policies-to-buckets)._
|
||||
|
||||
- [Map databases and retention policies to buckets](#map-databases-and-retention-policies-to-buckets)
|
||||
- [Map v1 databases and retention policies to buckets](#map-v1-databases-and-retention-policies-to-buckets)
|
||||
- [Autogenerate a bucket and DBRP mapping](#autogenerate-a-bucket-and-dbrp-mapping)
|
||||
- [Create a bucket and DBRP mapping](#create-a-bucket-and-dbrp-mapping)
|
||||
- [Write to the v1 HTTP `/write` endpoint](#write-to-the-v1-http-write-endpoint)
|
||||
- [Parameters](#parameters)
|
||||
- [Parameters](#v1-api-write-parameters)
|
||||
- [Data](#data)
|
||||
- [Authorization](#authorization)
|
||||
- [Tools for writing to the v1 API](#tools-for-writing-to-the-v1-api)
|
||||
|
||||
## Map databases and retention policies to buckets
|
||||
## Map v1 databases and retention policies to buckets
|
||||
|
||||
The v1 write and query APIs require mapping databases and retention policies to buckets.
|
||||
|
||||
|
|
@ -53,7 +53,7 @@ To let InfluxDB autogenerate a bucket and an associated DBRP mapping, pass the f
|
|||
|
||||
If no bucket exists with the name `DATABASE_NAME/RETENTION_POLICY_NAME`, InfluxDB creates a bucket and a DBRP before writing the data to the bucket.
|
||||
|
||||
To learn more about DBRP mapping, see the [v1 API compatibility guide](/influxdb3/cloud-serverless/guides/api-compatibility/v1/#map-v1-databases-and-retention-policies-to-buckets).
|
||||
To learn more about DBRP mapping, see the [v1 API compatibility guide](#map-v1-databases-and-retention-policies-to-buckets).
|
||||
|
||||
### Create a bucket and DBRP mapping
|
||||
|
||||
|
|
@ -69,19 +69,19 @@ If the `db=DATABASE_NAME` and `rp=RETENTION_POLICY` parameters in your `/write`
|
|||
|
||||
{{% api-endpoint endpoint="https://{{< influxdb/host >}}/write" method="post" %}}
|
||||
|
||||
- [`/api/v2/write` parameters](#v1-api-write-parameters)
|
||||
- [`/write` parameters](#v1-api-write-parameters)
|
||||
- [Tools for writing to the v1 API](#tools-for-writing-to-the-v1-api)
|
||||
|
||||
### Parameters
|
||||
### v1 API /write parameters
|
||||
|
||||
For {{% product-name %}} v1 API `/write` requests, set parameters as listed in the following table:
|
||||
|
||||
Parameter | Allowed in | Ignored | Value
|
||||
-----------------------|--------------|--------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
`consistency` | Query string | Ignored | N/A
|
||||
`db` {{% req " \*" %}} | Query string | Honored | Database (see how to [map databases and retention policies to buckets](#map-databases-and-retention-policies-to-buckets))
|
||||
`db` {{% req " \*" %}} | Query string | Honored | Database (see how to [map databases and retention policies to buckets](#map-v1-databases-and-retention-policies-to-buckets))
|
||||
`precision` | Query string | Honored | [Timestamp precision](#timestamp-precision)
|
||||
`rp` | Query string | Honored | Retention policy (see how to [map databases and retention policies to buckets](#map-databases-and-retention-policies-to-buckets))
|
||||
`rp` | Query string | Honored | Retention policy (see how to [map databases and retention policies to buckets](#map-v1-databases-and-retention-policies-to-buckets))
|
||||
[`Authorization` header or `u` and `p`](#authorization) | | | [Token](#authorization)
|
||||
|
||||
{{% caption %}}{{% req " \*" %}} = {{% req "Required" %}}{{% /caption %}}
|
||||
|
|
@ -121,7 +121,7 @@ The following tools work with the {{% product-name %}} `/write` endpoint:
|
|||
#### Telegraf
|
||||
|
||||
If you have existing v1 workloads that use Telegraf,
|
||||
you can use the [InfluxDB v1.x `influxdb` Telegraf output plugin](https://github.com/influxdata/telegraf/blob/master/plugins/outputs/influxdb/README.md) to write data.
|
||||
you can use the [InfluxDB v1.x `influxdb` Telegraf output plugin](/telegraf/v1/output-plugins/influxdb/) to write data.
|
||||
|
||||
> [!Note]
|
||||
> See how to [use Telegraf and the v2 API](/influxdb3/cloud-serverless/write-data/use-telegraf/) for new workloads that don't already use the v1 API.
|
||||
|
|
@ -154,15 +154,15 @@ To configure the v1.x output plugin for writing to {{% product-name %}}, add the
|
|||
|
||||
Replace the following:
|
||||
|
||||
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: the [database](#map-databases-and-retention-policies-to-buckets)
|
||||
- {{% code-placeholder-key %}}`RETENTION_POLICY`{{% /code-placeholder-key %}}: the [retention policy](#map-databases-and-retention-policies-to-buckets)
|
||||
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: the [database](#map-v1-databases-and-retention-policies-to-buckets)
|
||||
- {{% code-placeholder-key %}}`RETENTION_POLICY`{{% /code-placeholder-key %}}: the [retention policy](#map-v1-databases-and-retention-policies-to-buckets)
|
||||
- {{% code-placeholder-key %}}`API_TOKEN`{{% /code-placeholder-key %}}: a [token](/influxdb3/cloud-serverless/admin/tokens/) with sufficient permissions to the mapped bucket
|
||||
|
||||
##### Other Telegraf configuration options
|
||||
|
||||
`influx_uint_support`: supported in InfluxDB 3.
|
||||
|
||||
For more plugin options, see [`influxdb`](https://github.com/influxdata/telegraf/blob/master/plugins/outputs/influxdb/README.md) on GitHub.
|
||||
For more plugin options, see [`influxdb`](/telegraf/v1/output-plugins/influxdb/) on GitHub.
|
||||
|
||||
#### Interactive clients
|
||||
|
||||
|
|
@ -212,8 +212,8 @@ curl -i "https://{{< influxdb/host >}}/write?db=DATABASE_NAME&rp=RETENTION_POLIC
|
|||
|
||||
Replace the following:
|
||||
|
||||
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: the [database](#map-databases-and-retention-policies-to-buckets)
|
||||
- {{% code-placeholder-key %}}`RETENTION_POLICY`{{% /code-placeholder-key %}}: the [retention policy](#map-databases-and-retention-policies-to-buckets)
|
||||
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: the [database](#map-v1-databases-and-retention-policies-to-buckets)
|
||||
- {{% code-placeholder-key %}}`RETENTION_POLICY`{{% /code-placeholder-key %}}: the [retention policy](#map-v1-databases-and-retention-policies-to-buckets)
|
||||
- {{% code-placeholder-key %}}`API_TOKEN`{{% /code-placeholder-key %}}: a [token](/influxdb3/cloud-serverless/admin/tokens/) with sufficient permissions to the mapped bucket
|
||||
|
||||
#### v1 influx CLI (not supported)
|
||||
|
|
@ -287,6 +287,6 @@ client = InfluxDBClient(
|
|||
|
||||
Replace the following:
|
||||
|
||||
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: the [database](#map-databases-and-retention-policies-to-buckets)
|
||||
- {{% code-placeholder-key %}}`RETENTION_POLICY`{{% /code-placeholder-key %}}: the [retention policy](#map-databases-and-retention-policies-to-buckets)
|
||||
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: the [database](#map-v1-databases-and-retention-policies-to-buckets)
|
||||
- {{% code-placeholder-key %}}`RETENTION_POLICY`{{% /code-placeholder-key %}}: the [retention policy](#map-v1-databases-and-retention-policies-to-buckets)
|
||||
- {{% code-placeholder-key %}}`API_TOKEN`{{% /code-placeholder-key %}}: a [token](/influxdb3/cloud-serverless/admin/tokens/) with sufficient permissions to the specified bucket
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ metrics from different sources and writes them to specified destinations.
|
|||
## Configure Telegraf to write to InfluxDB
|
||||
|
||||
To send data to {{< product-name >}}, enable the
|
||||
[`influxdb_v2` output plugin](https://github.com/influxdata/telegraf/blob/master/plugins/outputs/influxdb_v2/README.md)
|
||||
[`influxdb_v2` output plugin](/telegraf/v1/output-plugins/influxdb_v2/)
|
||||
in the `telegraf.conf`.
|
||||
|
||||
{{% code-placeholders "BUCKET_NAME" %}}
|
||||
|
|
@ -145,4 +145,4 @@ The preceding examples describe Telegraf configurations necessary for writing to
|
|||
The output plugin provides several other options for configuring the Telegraf client:
|
||||
|
||||
- `influx_uint_support`: supported by the InfluxDB 3 storage engine.
|
||||
- See [`influxdb_v2` plugin options](https://github.com/influxdata/telegraf/blob/master/plugins/outputs/influxdb_v2/README.md) on GitHub.
|
||||
- See [`influxdb_v2` plugin options](/telegraf/v1/output-plugins/influxdb_v2/) on GitHub.
|
||||
|
|
@ -66,7 +66,7 @@ To add any of the available [Telegraf plugins](/telegraf/v1/plugins/), follow th
|
|||
### Enable and configure the InfluxDB v2 output plugin
|
||||
|
||||
To send data to {{< product-name >}}, enable the
|
||||
[`influxdb_v2` output plugin](https://github.com/influxdata/telegraf/blob/master/plugins/outputs/influxdb_v2/README.md)
|
||||
[`influxdb_v2` output plugin](/telegraf/v1/output-plugins/influxdb_v2/)
|
||||
in the `telegraf.conf`.
|
||||
|
||||
{{% code-placeholders "BUCKET_NAME" %}}
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue