Skip to content

Commit

Permalink
buildkitd: allow unix address for debug address
Browse files Browse the repository at this point in the history
Signed-off-by: Tonis Tiigi <[email protected]>
  • Loading branch information
tonistiigi committed Dec 5, 2024
1 parent a14b247 commit a7d4e8c
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 5 deletions.
8 changes: 6 additions & 2 deletions cmd/buildkitd/debug.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,11 @@ package main

import (
"expvar"
"net"
"net/http"
"net/http/pprof"
"os"
"runtime"
"strings"
"time"

"github.com/moby/buildkit/util/bklog"
Expand Down Expand Up @@ -38,7 +39,10 @@ func setupDebugHandlers(addr string) error {
return true, true
}

l, err := net.Listen("tcp", addr)
if !strings.Contains(addr, "://") {
addr = "tcp://" + addr
}
l, err := getListener(addr, os.Getuid(), os.Getgid(), "", nil, false)
if err != nil {
return err
}
Expand Down
8 changes: 5 additions & 3 deletions cmd/buildkitd/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -431,7 +431,7 @@ func newGRPCListeners(cfg config.GRPCConfig) ([]net.Listener, error) {

listeners := make([]net.Listener, 0, len(addrs))
for _, addr := range addrs {
l, err := getListener(addr, *cfg.UID, *cfg.GID, sd, tlsConfig)
l, err := getListener(addr, *cfg.UID, *cfg.GID, sd, tlsConfig, true)
if err != nil {
for _, l := range listeners {
l.Close()
Expand Down Expand Up @@ -670,7 +670,7 @@ func groupToGid(group string) (int, error) {
return id, nil
}

func getListener(addr string, uid, gid int, secDescriptor string, tlsConfig *tls.Config) (net.Listener, error) {
func getListener(addr string, uid, gid int, secDescriptor string, tlsConfig *tls.Config, warnTLS bool) (net.Listener, error) {
addrSlice := strings.SplitN(addr, "://", 2)
if len(addrSlice) < 2 {
return nil, errors.Errorf("address %s does not contain proto, you meant unix://%s ?",
Expand All @@ -696,7 +696,9 @@ func getListener(addr string, uid, gid int, secDescriptor string, tlsConfig *tls
}

if tlsConfig == nil {
bklog.L.Warnf("TLS is not enabled for %s. enabling mutual TLS authentication is highly recommended", addr)
if warnTLS {
bklog.L.Warnf("TLS is not enabled for %s. enabling mutual TLS authentication is highly recommended", addr)
}
return l, nil
}
return tls.NewListener(l, tlsConfig), nil
Expand Down

0 comments on commit a7d4e8c

Please sign in to comment.