|
|
|
@ -24,7 +24,9 @@ import (
|
|
|
|
|
"fmt"
|
|
|
|
|
"io"
|
|
|
|
|
"os"
|
|
|
|
|
"os/signal"
|
|
|
|
|
"strings"
|
|
|
|
|
"syscall"
|
|
|
|
|
|
|
|
|
|
"github.com/sirupsen/logrus"
|
|
|
|
|
"gopkg.in/yaml.v3"
|
|
|
|
@ -150,7 +152,21 @@ func startClient(configFile string, logger *logrus.Logger) error {
|
|
|
|
|
|
|
|
|
|
logger.Info("setup complete, starting client operation")
|
|
|
|
|
|
|
|
|
|
if err = signerClient.Run(context.Background()); err != nil {
|
|
|
|
|
ctx, cancel := context.WithCancel(context.Background())
|
|
|
|
|
defer cancel()
|
|
|
|
|
|
|
|
|
|
c := make(chan os.Signal, 1)
|
|
|
|
|
signal.Notify(c, os.Interrupt, syscall.SIGTERM)
|
|
|
|
|
|
|
|
|
|
go func() {
|
|
|
|
|
<-c
|
|
|
|
|
|
|
|
|
|
logger.Info("received shutdown signal")
|
|
|
|
|
|
|
|
|
|
cancel()
|
|
|
|
|
}()
|
|
|
|
|
|
|
|
|
|
if err = signerClient.Run(ctx); err != nil {
|
|
|
|
|
return fmt.Errorf("error in client: %w", err)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|