Files
ansible-role-feedstack/templates/weatherfeeder/config.yml.j2

113 lines
3.4 KiB
Django/Jinja

---
sources:
- name: NWSObservationKSTL
mode: poll
kinds: ["observation"]
driver: nws_observation
every: 10m
params:
url: "https://api.weather.gov/stations/KSTL/observations/latest"
user_agent: "HomeOps (eric@maximumdirect.net)"
- name: OpenMeteoObservation
mode: poll
kinds: ["observation"]
driver: openmeteo_observation
every: 10m
params:
url: "https://api.open-meteo.com/v1/forecast?latitude=38.6263&longitude=-90.3432&current=temperature_2m,relative_humidity_2m,weather_code,wind_speed_10m,wind_direction_10m,precipitation,surface_pressure,rain,showers,snowfall,cloud_cover,apparent_temperature,is_day,wind_gusts_10m,pressure_msl"
user_agent: "HomeOps (eric@maximumdirect.net)"
- name: OpenWeatherObservation
mode: poll
kinds: ["observation"]
driver: openweather_observation
every: 10m
params:
url: "https://api.openweathermap.org/data/2.5/weather?lat=38.6239&lon=-90.3571&appid=c954f2566cb7ccb56b43737b52e88fc6&units=metric"
user_agent: "HomeOps (eric@maximumdirect.net)"
- name: NWSObservationKSUS
mode: poll
kinds: ["observation"]
driver: nws_observation
every: 10m
params:
url: "https://api.weather.gov/stations/KSUS/observations/latest"
user_agent: "HomeOps (eric@maximumdirect.net)"
- name: NWSObservationKCPS
mode: poll
kinds: ["observation"]
driver: nws_observation
every: 10m
params:
url: "https://api.weather.gov/stations/KCPS/observations/latest"
user_agent: "HomeOps (eric@maximumdirect.net)"
- name: NWSHourlyForecastSTL
mode: poll
kinds: ["forecast"]
driver: nws_forecast_hourly
every: 45m
params:
url: "https://api.weather.gov/gridpoints/LSX/90,74/forecast/hourly"
user_agent: "HomeOps (eric@maximumdirect.net)"
- name: NWSNarrativeForecastSTL
mode: poll
kinds: ["forecast"]
driver: nws_forecast_narrative
every: 45m
params:
url: "https://api.weather.gov/gridpoints/LSX/90,74/forecast?units=us"
user_agent: "HomeOps (eric@maximumdirect.net)"
- name: OpenMeteoHourlyForecastSTL
mode: poll
kinds: ["forecast"]
driver: openmeteo_forecast
every: 60m
params:
url: https://api.open-meteo.com/v1/forecast?latitude=38.6239&longitude=-90.3571&hourly=temperature_2m,relative_humidity_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,snowfall,weather_code,surface_pressure,wind_speed_10m,wind_direction_10m&forecast_days=3
user_agent: "HomeOps (eric@maximumdirect.net)"
- name: NWSAlertsSTL
mode: poll
kinds: ["alert"]
driver: nws_alerts
every: 1m
params:
url: "https://api.weather.gov/alerts?point=38.6263,-90.3432&limit=5"
user_agent: "HomeOps (eric@maximumdirect.net)"
sinks:
- name: stdout
driver: stdout
params: {}
- name: nats_weatherfeeder
driver: nats
params:
url: nats://nats:4222
subject: weatherfeeder
- name: weatherdb
driver: postgres
params:
uri: postgres://weatherdb:5432/{{ feedstack_weatherdb_database }}?sslmode=disable
username: {{ feedstack_weatherdb_user }}
password: {{ feedstack_weatherdb_password }}
prune: 4d
# optional: route events to this sink
routes:
- sink: nats_weatherfeeder
kinds: ["observation", "forecast", "alert"]
- sink: weatherdb
kinds: ["observation", "forecast", "alert"]
- sink: stdout
kinds: ["observation", "forecast", "alert"]
...