create-share and listen tracking (#953)

This commit is contained in:
Michael Quigley
2025-04-25 15:18:32 -04:00
parent 06923dcef8
commit 0ccfb2516a

View File

@ -73,6 +73,8 @@ func (l *PublicHttpLooper) Results() *LooperResults {
}
func (l *PublicHttpLooper) startup() error {
snapshot := NewSnapshot("create-share", l.id, 0)
shr, err := sdk.CreateShare(l.root, &sdk.ShareRequest{
ShareMode: sdk.PublicShareMode,
BackendMode: sdk.ProxyBackendMode,
@ -80,9 +82,19 @@ func (l *PublicHttpLooper) startup() error {
Frontends: []string{l.frontend},
PermissionMode: sdk.ClosedPermissionMode,
})
snapshot.Completed = time.Now()
if err != nil {
snapshot.Ok = false
snapshot.Error = err
if l.opt.SnapshotQueue != nil {
l.opt.SnapshotQueue <- snapshot
}
return err
}
snapshot.Ok = true
if l.opt.SnapshotQueue != nil {
l.opt.SnapshotQueue <- snapshot
}
l.shr = shr
logrus.Infof("#%d allocated share '%v'", l.id, l.shr.Token)
@ -108,10 +120,25 @@ func (l *PublicHttpLooper) bind() error {
return errors.Wrapf(err, "#%d error creating ziti context", l.id)
}
snapshot := NewSnapshot("listen", l.id, 0)
if l.listener, err = zctx.ListenWithOptions(l.shr.Token, &options); err != nil {
snapshot.Completed = time.Now()
snapshot.Ok = false
snapshot.Error = err
if l.opt.SnapshotQueue != nil {
l.opt.SnapshotQueue <- snapshot
}
return errors.Wrapf(err, "#%d error binding listener", l.id)
}
snapshot.Completed = time.Now()
snapshot.Ok = true
if l.opt.SnapshotQueue != nil {
l.opt.SnapshotQueue <- snapshot
}
go func() {
if err := http.Serve(l.listener, l); err != nil {
logrus.Errorf("#%d error in http listener: %v", l.id, err)