Files
weatherfeeder/docs/cli.md

1.6 KiB

CLI Reference

Shortest Useful Command

Run weatherfeeder from a directory containing config.yml:

cd cmd/weatherfeeder
go run .

When using a built binary:

./weatherfeeder

Command Overview

weatherfeeder starts a long-running polling daemon. On startup it:

  1. reads config.yml from the current working directory;
  2. builds configured sources, sinks, and routes;
  3. starts polling sources on their configured intervals;
  4. normalizes and deduplicates events;
  5. dispatches matching events to configured sinks.

The command logs startup, runtime, and shutdown messages to stderr using the Go standard logger.

Flags

There are currently no CLI flags, subcommands, or environment-variable based configuration controls.

The config path is fixed at config.yml relative to the process current working directory. To run with a different config, change the working directory or place the desired file at that path.

Common Workflows

Run the checked-in sample config:

cd cmd/weatherfeeder
go run .

Build and run a local binary:

go build -o weatherfeeder ./cmd/weatherfeeder
cp cmd/weatherfeeder/config.yml .
./weatherfeeder

Run in the project container image with a mounted config:

docker run --rm -v "$PWD/config.yml:/weatherfeeder/config.yml:ro" weatherfeeder

The Docker image sets /weatherfeeder as the working directory, so the mounted file must appear at /weatherfeeder/config.yml.

Shutdown

Stop the daemon with Ctrl-C or SIGTERM. The process uses context-aware shutdown for scheduler, dispatcher, processors, sources, and sinks, then logs shutdown complete.