Skip to content

Commit f8a6110

Browse files
committed
Add container ID to logs from ssh-agent-pipe
1 parent ac5e077 commit f8a6110

File tree

1 file changed

+18
-2
lines changed

1 file changed

+18
-2
lines changed

main.go

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
package main
44

55
import (
6+
"bufio"
67
"context"
78
"flag"
89
"fmt"
@@ -128,9 +129,9 @@ func injectAgentBg(containerID string, socketPath string) {
128129
}
129130
cmd := exec.Command("docker", args...)
130131
setupCommandForPlatform(cmd)
131-
cmd.Stderr = os.Stderr
132132
stdin, err := cmd.StdinPipe()
133133
stdout, err := cmd.StdoutPipe()
134+
stderr, err := cmd.StderrPipe()
134135

135136
connLock := sync.RWMutex{}
136137

@@ -142,10 +143,12 @@ func injectAgentBg(containerID string, socketPath string) {
142143
conn.Close()
143144
conn = nil
144145
}
145-
wg.Done()
146146
stdin.Close()
147147
stdout.Close()
148+
stderr.Close()
149+
wg.Done()
148150
}
151+
149152
wg.Add(1)
150153
go func() {
151154
defer cleanup()
@@ -164,6 +167,19 @@ func injectAgentBg(containerID string, socketPath string) {
164167
}
165168
}()
166169

170+
wg.Add(1)
171+
go func() {
172+
defer cleanup()
173+
scanner := bufio.NewScanner(stderr)
174+
for scanner.Scan() {
175+
log.Println(containerID, scanner.Text())
176+
if err := scanner.Err(); err != nil {
177+
log.Println(containerID, "Failed reading logs:", err)
178+
return
179+
}
180+
}
181+
}()
182+
167183
if *verbose {
168184
log.Println(containerID, "Injecting ssh-agent")
169185
}

0 commit comments

Comments
 (0)