2.5 KiB
2.5 KiB
Common Helper Scripts
This directory contains scripts that are shared across all InfluxDB documentation products.
Scripts
update-product-version.sh
Updates product version information in documentation configuration files.
Usage:
./update-product-version.sh --product <product> --version <version>
Supported Products:
core- InfluxDB 3 Coreenterprise- InfluxDB 3 Enterpriseclustered- InfluxDB 3 Clusteredcloud-dedicated- InfluxDB 3 Cloud Dedicatedcloud-serverless- InfluxDB Cloud Serverless
Example:
# Update Core to version 3.2.1
./update-product-version.sh --product core --version 3.2.1
# Update Clustered to version 2024.1
./update-product-version.sh --product clustered --version 2024.1
What it updates:
data/products.yml- Main product version configuration- Docker Compose example files
- Installation instructions
- Download links
Library Functions
lib/docker-utils.sh
Shared Docker utility functions used by other scripts.
Available Functions:
check_docker_running()- Verify Docker daemon is runningcontainer_exists()- Check if a container existscontainer_running()- Check if a container is runningpull_image()- Pull Docker image with retry logicload_auth_token()- Load authentication tokens from secret files
Usage in scripts:
source "$(dirname "$0")/../common/lib/docker-utils.sh"
if container_running "influxdb3-core"; then
echo "Container is running"
fi
Integration with GitHub Actions
These scripts are designed to work in both local development and CI/CD environments:
Local Development:
- Assumes Docker Desktop or Docker Engine installed
- Uses local file paths for repositories
- Can work with running containers
GitHub Actions:
- Automatically detects CI environment
- Uses workspace paths
- Handles authentication via secrets
Best Practices
- Error Handling: All scripts use
set -eto exit on errors - Logging: Color-coded output for better readability
- Validation: Input validation before processing
- Idempotency: Scripts can be run multiple times safely
- Documentation: Comprehensive help text in each script
Adding New Common Scripts
When adding scripts to this directory:
- Ensure they are truly product-agnostic
- Follow existing naming conventions
- Add comprehensive documentation
- Include error handling and validation
- Update this README
- Test with all supported products