converge: phase 2 — SSE relay client for realtime pull on push
- RepoConfig gains rcGiteaRepo :: Maybe Text for relay matching - Options gains optRelayUrl :: Maybe Text (--relay-url CLI, relay_url config) - connectRelay connects to converge-relay SSE endpoint, parses push events, triggers gitPull on matching repos (by gitea_repo + branch) - Exponential backoff reconnection (1s .. 60s) on disconnect/error - Skips pull if repo is mid-operation (merge/rebase/etc.) - Dependencies: http-client, http-client-tls, http-types, aeson, bytestring - SSE parser handles event:/data: fields, blank-line delimiters, CRLF endings - Updated SPEC.md, example config, and help text
This commit is contained in:
@@ -2,14 +2,18 @@
|
||||
# Place at ~/.config/converge/config.yaml to use by default,
|
||||
# or pass explicitly with: converge --config converge.yaml
|
||||
|
||||
# relay_url: "http://localhost:8080/events" # converge-relay SSE endpoint for realtime push notifications
|
||||
|
||||
repos:
|
||||
- path: /home/jbrechtel/org
|
||||
remote: origin
|
||||
branch: main
|
||||
# gitea_repo: "myorg/org-repo" # Gitea repository full_name for relay matching
|
||||
# notify_on_pull: true # send a notification when new commits are pulled
|
||||
- path: /work/personal/hawat
|
||||
# remote defaults to "origin"
|
||||
# branch defaults to "main"
|
||||
# gitea_repo: "myorg/hawat"
|
||||
|
||||
# debounce_ms: 5000 # optional, defaults to 5000
|
||||
|
||||
|
||||
Reference in New Issue
Block a user