|
|
@ -39,7 +39,8 @@ const ( |
|
|
|
healthPath = "/minio/health/live" |
|
|
|
healthPath = "/minio/health/live" |
|
|
|
timeout = time.Duration(30 * time.Second) |
|
|
|
timeout = time.Duration(30 * time.Second) |
|
|
|
tcp = "tcp" |
|
|
|
tcp = "tcp" |
|
|
|
anyIP = ":::" |
|
|
|
anyIPv6 = ":::" |
|
|
|
|
|
|
|
anyIPv4 = "0.0.0.0" |
|
|
|
) |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
// returns container boot time by finding
|
|
|
|
// returns container boot time by finding
|
|
|
@ -71,14 +72,17 @@ func findEndpoint() (string, error) { |
|
|
|
scanner.Split(bufio.ScanLines) |
|
|
|
scanner.Split(bufio.ScanLines) |
|
|
|
// MinIO works on TCP and it is supposed to be
|
|
|
|
// MinIO works on TCP and it is supposed to be
|
|
|
|
// the only process listening on a port on any IP address
|
|
|
|
// the only process listening on a port on any IP address
|
|
|
|
// (on :::) inside container.
|
|
|
|
// (on ::: or 0.0.0.0) inside container.
|
|
|
|
// Since MinIO is running as non-root user, we can
|
|
|
|
// Since MinIO may run as non-root user, we can
|
|
|
|
// not depend on the PID/Program name column
|
|
|
|
// not depend on the PID/Program name column
|
|
|
|
// of netstat output
|
|
|
|
// of netstat output
|
|
|
|
for scanner.Scan() { |
|
|
|
for scanner.Scan() { |
|
|
|
line := scanner.Text() |
|
|
|
line := scanner.Text() |
|
|
|
if strings.Contains(line, tcp) && strings.Contains(line, anyIP) { |
|
|
|
if strings.Contains(line, tcp) && (strings.Contains(line, anyIPv6) || strings.Contains(line, anyIPv4)) { |
|
|
|
newLine := strings.Replace(line, anyIP, "127.0.0.1:", 1) |
|
|
|
newLine := strings.Replace(line, anyIPv4, "127.0.0.1:", 1) |
|
|
|
|
|
|
|
if strings.Contains(line, anyIPv6) { |
|
|
|
|
|
|
|
newLine = strings.Replace(line, anyIPv6, "::1:", 1) |
|
|
|
|
|
|
|
} |
|
|
|
fields := strings.Fields(newLine) |
|
|
|
fields := strings.Fields(newLine) |
|
|
|
// index 3 in the row has the Local address
|
|
|
|
// index 3 in the row has the Local address
|
|
|
|
// find the last index of ":" - address will
|
|
|
|
// find the last index of ":" - address will
|
|
|
|