Skip to main content

A tool for deploying and managing catchpoint health checks using configuration as code

Project description

Catchpoint Configurator

A Python-based tool for managing Catchpoint monitoring configurations as code.

versions

PyPI version Python Versions CI/CD Pipeline Python

health

Quality Gate Status Overall Coverage Security Rating Maintainability Rating Vulnerabilities Dependabot Status Code style: black

stats

Downloads License: MIT

Features

  • 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

Installation

pip install catchpoint-configurator

Quick Start

  1. Set up your Catchpoint API credentials:
export CATCHPOINT_CLIENT_ID="your_client_id"
export CATCHPOINT_CLIENT_SECRET="your_client_secret"
  1. 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: "alerts@example.com"
  1. Deploy the configuration:
catchpoint-configurator deploy test-config.yaml

Usage

CLI Commands

  • deploy: Deploy a configuration
  • validate: Validate a configuration file
  • list: List existing configurations
  • apply-template: Apply a template with variables
  • update: Update an existing configuration
  • delete: Delete a configuration
  • export: Export a configuration
  • import-config: Import a configuration

Examples

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

Configuration Examples

See the examples/ directory for more configuration examples:

  • test-config.yaml: Example test configuration
  • dashboard-config.yaml: Example dashboard configuration
  • templates/web-test.yaml: Example template
  • templates/variables.yaml: Example template variables

Development

Setup

  1. Clone the repository:
git clone https://github.com/fleXRPL/catchpoint-configurator.git
cd catchpoint-configurator
  1. Create a virtual environment:
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Install dependencies:
pip install -e ".[dev]"

Running Tests

pytest

Code Style

black .
isort .
flake8

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

catchpoint_configurator-0.1.0.tar.gz (31.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

catchpoint_configurator-0.1.0-py3-none-any.whl (21.0 kB view details)

Uploaded Python 3

File details

Details for the file catchpoint_configurator-0.1.0.tar.gz.

File metadata

  • Download URL: catchpoint_configurator-0.1.0.tar.gz
  • Upload date:
  • Size: 31.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for catchpoint_configurator-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6c564fa85b4da9f7629f1ca570efbfbc3b26e01f0d893c3aeca8319384ba624c
MD5 a6ef20ad322054514a60d8b570c99c2b
BLAKE2b-256 6731d530dac02ff96c2990df6353219ef3c4f542d3d7cb2919a6315511a1f424

See more details on using hashes here.

Provenance

The following attestation bundles were made for catchpoint_configurator-0.1.0.tar.gz:

Publisher: workflow.yml on fleXRPL/catchpoint-configurator

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file catchpoint_configurator-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for catchpoint_configurator-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dc82e3a3e5a6894c0d0c24217a27957c464a11614c147015a805af2670472405
MD5 9976d782f3bc25c88016f134abde5148
BLAKE2b-256 2d1caf38e8bca915e09b84a8870ee6918cfb9102bfca0953c058b1137473c5a1

See more details on using hashes here.

Provenance

The following attestation bundles were made for catchpoint_configurator-0.1.0-py3-none-any.whl:

Publisher: workflow.yml on fleXRPL/catchpoint-configurator

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page