@@ -5,8 +5,10 @@ import (
55 "fmt"
66 "io"
77 "log/slog"
8+ "net"
89 "net/http"
910 "os"
11+ "path"
1012 "path/filepath"
1113 "strings"
1214
@@ -15,6 +17,7 @@ import (
1517 "github.com/go-chi/chi/v5/middleware"
1618 "gopkg.in/yaml.v3"
1719
20+ utils "github.com/flant/shell-operator/pkg/utils/file"
1821 structuredLogger "github.com/flant/shell-operator/pkg/utils/structured-logger"
1922)
2023
@@ -44,37 +47,37 @@ func NewServer(prefix, socketPath, httpAddr string, logger *log.Logger) *Server
4447}
4548
4649func (s * Server ) Init () error {
47- // address := s.SocketPath
48-
49- // if err := os.MkdirAll(path.Dir(address), 0o700); err != nil {
50- // return fmt.Errorf("Debug HTTP server fail to create socket '%s': %w", address, err)
51- // }
52-
53- // exists, err := utils.FileExists(address)
54- // if err != nil {
55- // return fmt.Errorf("Debug HTTP server fail to check socket '%s': %w", address, err)
56- // }
57-
58- // if exists {
59- // if err := os.Remove(address); err != nil {
60- // return fmt.Errorf("Debug HTTP server fail to check socket '%s': %w", address, err)
61- // }
62- // }
63-
64- // // Check if socket is available
65- // listener, err := net.Listen("unix", address)
66- // if err != nil {
67- // return fmt.Errorf("Debug HTTP server fail to listen on '%s': %w", address, err)
68- // }
69-
70- // s.logger.Info("Debug endpoint listen on address", slog.String("address", address))
71-
72- // go func() {
73- // if err := http.Serve(listener, s.Router); err != nil {
74- // s.logger.Error("Error starting Debug socket server", log.Err(err))
75- // os.Exit(1)
76- // }
77- // }()
50+ address := s .SocketPath
51+
52+ if err := os .MkdirAll (path .Dir (address ), 0o700 ); err != nil {
53+ return fmt .Errorf ("Debug HTTP server fail to create socket '%s': %w" , address , err )
54+ }
55+
56+ exists , err := utils .FileExists (address )
57+ if err != nil {
58+ return fmt .Errorf ("Debug HTTP server fail to check socket '%s': %w" , address , err )
59+ }
60+
61+ if exists {
62+ if err := os .Remove (address ); err != nil {
63+ return fmt .Errorf ("Debug HTTP server fail to check socket '%s': %w" , address , err )
64+ }
65+ }
66+
67+ // Check if socket is available
68+ listener , err := net .Listen ("unix" , address )
69+ if err != nil {
70+ return fmt .Errorf ("Debug HTTP server fail to listen on '%s': %w" , address , err )
71+ }
72+
73+ s .logger .Info ("Debug endpoint listen on address" , slog .String ("address" , address ))
74+
75+ go func () {
76+ if err := http .Serve (listener , s .Router ); err != nil {
77+ s .logger .Error ("Error starting Debug socket server" , log .Err (err ))
78+ os .Exit (1 )
79+ }
80+ }()
7881
7982 if s .HttpAddr != "" {
8083 go func () {
0 commit comments