Skip to content

Commit 21f5aa9

Browse files
committed
Merge remote-tracking branch 'upstream/main'
2 parents a937027 + 4a70af4 commit 21f5aa9

File tree

2 files changed

+24
-5
lines changed

2 files changed

+24
-5
lines changed

README.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ When Newt receives WireGuard control messages, it will use the information encod
3737
- `log-level` (optional): The log level to use. Default: INFO
3838
- `updown` (optional): A script to be called when targets are added or removed.
3939
- `tls-client-cert` (optional): Client certificate (p12 or pfx) for mTLS. See [mTLS](#mtls)
40-
- `docker-socket` (optional): Override the Docker socket integration
40+
- `docker-socket` (optional): Set the Docker socket to use the container discovery integration
4141

4242
- Example:
4343

@@ -82,8 +82,7 @@ Newt can integrate with the Docker socket to provide remote inspection of Docker
8282
8383
**Configuration:**
8484
85-
- By default, Newt will look for the Docker socket at `/var/run/docker.sock`.
86-
- You can specify a custom socket path using the `--docker-socket` CLI argument or by setting the `DOCKER_SOCKET` environment variable.
85+
You can specify the Docker socket path using the `--docker-socket` CLI argument or by setting the `DOCKER_SOCKET` environment variable. On most linux systems the socket is `/var/run/docker.sock`
8786

8887
If the Docker socket is not available or accessible, Newt will gracefully disable Docker integration and continue normal operation.
8988

main.go

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -392,17 +392,20 @@ func main() {
392392
flag.StringVar(&tlsPrivateKey, "tls-client-cert", "", "Path to client certificate used for mTLS")
393393
}
394394
if dockerSocket == "" {
395-
flag.StringVar(&dockerSocket, "docker-socket", "/var/run/docker.sock", "Path to Docker socket")
395+
flag.StringVar(&dockerSocket, "docker-socket", "", "Path to Docker socket (typically /var/run/docker.sock)")
396396
}
397397

398398
// do a --version check
399399
version := flag.Bool("version", false, "Print the version")
400400

401401
flag.Parse()
402402

403+
newtVersion := "Newt version replaceme"
403404
if *version {
404-
fmt.Println("Newt version replaceme")
405+
fmt.Println(newtVersion)
405406
os.Exit(0)
407+
} else {
408+
logger.Info(newtVersion)
406409
}
407410

408411
logger.Init()
@@ -636,6 +639,18 @@ persistent_keepalive_interval=5`, fixKey(privateKey.String()), fixKey(wgData.Pub
636639
client.RegisterHandler("newt/socket/check", func(msg websocket.WSMessage) {
637640
logger.Info("Received Docker socket check request")
638641

642+
if dockerSocket == "" {
643+
logger.Info("Docker socket path is not set")
644+
err := client.SendMessage("newt/socket/status", map[string]interface{}{
645+
"available": false,
646+
"socketPath": dockerSocket,
647+
})
648+
if err != nil {
649+
logger.Error("Failed to send Docker socket check response: %v", err)
650+
}
651+
return
652+
}
653+
639654
// Check if Docker socket is available
640655
isAvailable := docker.CheckSocket(dockerSocket)
641656

@@ -655,6 +670,11 @@ persistent_keepalive_interval=5`, fixKey(privateKey.String()), fixKey(wgData.Pub
655670
client.RegisterHandler("newt/socket/fetch", func(msg websocket.WSMessage) {
656671
logger.Info("Received Docker container fetch request")
657672

673+
if dockerSocket == "" {
674+
logger.Info("Docker socket path is not set")
675+
return
676+
}
677+
658678
// List Docker containers
659679
containers, err := docker.ListContainers(dockerSocket)
660680
if err != nil {

0 commit comments

Comments
 (0)