Skip to content

developmentseed/eoapi-notifier

Repository files navigation

eoAPI-notifier

Message handler for eoAPI components. A middleware tool that listens to sources for messages and forwards them to output receivers.

Requirements

  • Python 3.12 or higher

Installation

Install using uv:

uv add eoapi-notifier

Usage

The notifier provides a CLI tool to run the message handler with a YAML configuration file.

Command Line Interface

Run the notifier with a configuration file:

eoapi-notifier config.yaml

Set logging level:

eoapi-notifier --log-level DEBUG config.yaml

Show help:

eoapi-notifier --help

Show version:

eoapi-notifier --version

Configuration

Create a YAML configuration file to specify sources (where messages come from) and outputs (where messages are sent). Here's a basic example:

# Sources: Define where notifications come from
sources:
  - type: pgstac
    config:
      host: localhost
      port: 5432
      database: postgis
      username: username
      password: password

# Outputs: Define where notifications are sent
outputs:
  - type: mqtt
    config:
      broker_host: localhost
      broker_port: 1883

See examples/config.yaml for a complete configuration example with all available options.

Kubernetes Deployment

# Install with Helm
helm install eoapi-notifier oci://ghcr.io/developmentseed/charts/eoapi-notifier

# With custom values
helm install eoapi-notifier oci://ghcr.io/developmentseed/charts/eoapi-notifier -f values.yaml

See Helm Chart README for configuration options.

Available Plugins

Sources

  • pgstac: Monitor PostgreSQL/pgSTAC database changes

Outputs

  • mqtt: Publish events to MQTT broker

Development

For development setup, testing, and creating new plugins, see the Development Guide.

Contributing

We welcome contributions to eoAPI-notifier! Whether you want to fix a bug, add a new feature, or create a custom plugin, your contributions are appreciated.

Please make sure to read the Development Guide for setup instructions and coding standards.

License

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

About

Pub/Sub message handler for eoAPI components

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages