-
Notifications
You must be signed in to change notification settings - Fork 324
test(influxdb3): Improve InfluxDB 3 Core and Enterprise Docker services #6750
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Improve Docker Compose services and initialization script for testing InfluxDB 3 Core and Enterprise endpoints. compose.yaml changes: - Add influxdb3-core service with per-worktree data isolation - Add influxdb3-core-noauth service for endpoint testing without auth - Add influxdb3-enterprise service with trial license configuration - Fix env_file handling (use optional path, remove variable override) - Add detailed usage comments for each service New files: - test/scripts/init-influxdb3.sh: Helper script to initialize services, create directories, and validate configuration - Enterprise configuration uses shared data at ~/influxdata-docs/.influxdb3/ to persist license and data across worktrees. - .claude/skills/influxdb3-test-setup/SKILL.md. It covers: 1. Architecture overview - Shows the directory structure for shared vs per-worktree data 2. Quick reference - Common commands table 3. Setup workflows - Core only, Enterprise only, or both 4. Worktree-specific databases - How to create isolated databases named after the worktree 5. Test environment configuration - Setting up .env.test files for code block tests 6. Troubleshooting - Common issues (license, auth, ports) 7. Service comparison - Core vs Enterprise differences The skill references the init script but keeps database creation as a separate workflow step, allowing flexibility for different testing scenarios.
|
@copilot Update |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR improves Docker Compose services for testing InfluxDB 3 Core and Enterprise by adding proper data isolation, authentication handling, and initialization tooling. It introduces per-worktree Core instances and shared Enterprise instances with automatic token generation.
Changes:
- Adds initialization script for automated service setup with token generation
- Refactors Docker Compose services to use file-based token authentication instead of secrets
- Adds comprehensive documentation for test setup workflows and troubleshooting
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 7 comments.
| File | Description |
|---|---|
| test/scripts/init-influxdb3.sh | New initialization script for automating service setup, directory creation, and token generation |
| compose.yaml | Updates service configurations for influxdb3-core and influxdb3-enterprise with new authentication model, adds influxdb3-core-noauth service |
| .claude/skills/influxdb3-test-setup/SKILL.md | New comprehensive documentation covering architecture, workflows, and troubleshooting |
Comments suppressed due to low confidence (2)
compose.yaml:1
- The setup instructions mention creating an admin token JSON file but don't specify the required format or content. Users won't know what to put in this file. Consider adding a comment with the expected format or referencing where to find it.
# This is a Docker Compose file for the InfluxData documentation site.
test/scripts/init-influxdb3.sh:1
- The comment references creating an admin-token.json file in setup step 2, but line 109 states 'Admin token is auto-generated on first run.' This is contradictory. Either the file must be pre-created or it's auto-generated - clarify which is correct.
#!/bin/bash
|
@jstirnaman I've opened a new pull request, #6751, to work on those changes. Once the pull request is ready, I'll request review from you. |
…tions (#6751) * Initial plan * docs(copilot): Add influxdb3-test-setup skill documentation to instructions - Add InfluxDB 3 Test Setup subsection under Testing section with quick reference commands - Add Skills section under Specialized Instructions with all available skills - Document influxdb3-test-setup skill alongside existing skills (cypress-e2e-testing, docs-cli-workflow, hugo-template-dev) - Include links to skill files and brief descriptions for discoverability Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com>
- Store Core and Enterprise tokens as JSON files with metadata - Update SKILL.md instructions for jq-based token extraction - Use Docker secrets for secure token mounting in compose.yaml - Update init-influxdb3.sh to generate JSON token files - Refactor compose.yaml to mount token files as secrets, not binds - Standardize API examples and environment setup for new token format
…/CD (#6756) - Add 'description' field to offline admin token schema alongside 'expiry_millis' - Add new section for Docker Compose with preconfigured admin tokens - Document Docker secrets for secure token management - Add CI/CD setup instructions using environment variables - Standardize on INFLUXDB3_AUTH_TOKEN environment variable Both 'description' and 'expiry_millis' are optional fields supported by the InfluxDB 3 server when reading preconfigured token files.
|
PR Preview
Pages included in this preview
Preview auto-deploys on push. Will be cleaned up when PR closes. |
Improve Docker Compose services and initialization script for testing InfluxDB 3 Core and Enterprise endpoints.
✅ All commands from SKILL.md work correctly!
/run/secrets/Core Workflow Testing
./test/scripts/init-influxdb3.sh core- Successfully started--admin-token-file)jq -r .token test/.influxdb3/core/.token- Returns token correctlyAuthorization: Bearerheadertest_db_internal,test_core_db, andtest_dbEnterprise Workflow Testing
./test/scripts/init-influxdb3.sh enterprise- Successfully started/pingreturns version info with authenticationdocs_v2_pr6750_db(worktree name converted correctly)_internal,docs_v2_pr6750_db, andtest_enterprise_dbcompose.yaml changes:
New files:
test/scripts/init-influxdb3.sh: Helper script to initialize services, create directories, and validate configuration
Enterprise configuration uses shared data at ~/influxdata-docs/.influxdb3/ to persist license and data across worktrees.
.claude/skills/influxdb3-test-setup/SKILL.md. It covers:
The skill references the init script but keeps database creation as a separate workflow step, allowing flexibility for different testing scenarios.