Artifact dde8f7af72edd6df0ad4f986222abd3082aa308a50b92bd60fce1a8b278d2cff:
- File
cli/bridge_serve.go
— part of check-in
[38efed7a12]
at
2026-08-12 20:50:57
on branch main
— chore(deps): migrate to go-libfossil v0.9.0 (#195)
* chore(deps): migrate to go-libfossil v0.9.0 (renamed module path)
- import path danmestas/libfossil → danmestas/go-libfossil everywhere - CloneOpts.ProjectCode removed upstream; assert via CloneResult instead - Timeline now takes TimelineOpts (cursor pagination, newest-first) - testutil.HasFossil removed; check FossilBinary() != ""
* ci: retrigger checks
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> (user: [email protected], size: 1147) [annotate] [blame] [check-ins using]
package cli import ( "fmt" "log" "os" "os/signal" "syscall" "github.com/danmestas/EdgeSync/bridge/bridge" libfossilcli "github.com/danmestas/go-libfossil/cli" ) // BridgeCmd is the top-level command group for the NATS-to-Fossil bridge. type BridgeCmd struct { Serve BridgeServeCmd `cmd:"" help:"Start NATS-to-Fossil bridge"` } type BridgeServeCmd struct { NATSUrl string `help:"NATS server URL" default:"nats://localhost:4222"` FossilURL string `required:"" help:"Fossil server HTTP URL"` Project string `required:"" help:"Project code for NATS subject"` } func (c *BridgeServeCmd) Run(g *libfossilcli.Globals) error { b, err := bridge.New(bridge.Config{ NATSUrl: c.NATSUrl, FossilURL: c.FossilURL, ProjectCode: c.Project, }) if err != nil { return fmt.Errorf("bridge: %w", err) } if err := b.Start(); err != nil { return fmt.Errorf("start: %w", err) } log.Printf("edgesync bridge running (nats=%s fossil=%s project=%s)", c.NATSUrl, c.FossilURL, c.Project) sig := make(chan os.Signal, 1) signal.Notify(sig, syscall.SIGINT, syscall.SIGTERM) <-sig log.Printf("shutting down...") return b.Stop() }