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.yamldeploy: 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.yamlList all tests:
catchpoint-configurator list --type testApply a template:
catchpoint-configurator apply-template web-test variables.yamlSee 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]"pytestblack .
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.