A Python-based tool for managing Catchpoint monitoring configurations as code.
- Deploy and manage Catchpoint tests and dashboards using YAML configurations
- Validate configurations against schemas
- Template support for reusable configurations
- CLI interface for all operations
- Support for both test and dashboard configurations
- Integration with Catchpoint API v2
pip install catchpoint-configurator
- Set up your Catchpoint API credentials:
export CATCHPOINT_CLIENT_ID="your_client_id"
export CATCHPOINT_CLIENT_SECRET="your_client_secret"
- Create a test configuration:
type: test
name: "my-web-test"
url: "https://example.com"
frequency: 300 # 5 minutes
nodes:
- "US-East"
- "US-West"
- "EU-West"
alerts:
- name: "High Response Time"
metric: "response_time"
threshold: 2000
operator: ">"
recipients:
- email: "[email protected]"
- Deploy the configuration:
catchpoint-configurator deploy test-config.yaml
deploy
: Deploy a configurationvalidate
: Validate a configuration filelist
: List existing configurationsapply-template
: Apply a template with variablesupdate
: Update an existing configurationdelete
: Delete a configurationexport
: Export a configurationimport-config
: Import a configuration
Validate a configuration:
catchpoint-configurator validate test-config.yaml
List all tests:
catchpoint-configurator list --type test
Apply a template:
catchpoint-configurator apply-template web-test variables.yaml
See the examples/
directory for more configuration examples:
test-config.yaml
: Example test configurationdashboard-config.yaml
: Example dashboard configurationtemplates/web-test.yaml
: Example templatetemplates/variables.yaml
: Example template variables
- Clone the repository:
git clone https://github.com/fleXRPL/catchpoint-configurator.git
cd catchpoint-configurator
- Create a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install dependencies:
pip install -e ".[dev]"
pytest
black .
isort .
flake8
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.