Limit container upstream rewrites to container runtime
This commit is contained in:
parent
1aab7179a7
commit
095ef07b61
@ -211,6 +211,9 @@ func resolveContainerReachableEndpoint(endpoint string) string {
|
||||
if trimmed == "" {
|
||||
return ""
|
||||
}
|
||||
if !runningInsideContainer() {
|
||||
return trimmed
|
||||
}
|
||||
parsed, err := url.Parse(trimmed)
|
||||
if err != nil {
|
||||
return trimmed
|
||||
@ -257,6 +260,20 @@ func containerDefaultGatewayAddress() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func runningInsideContainer() bool {
|
||||
if _, err := os.Stat("/.dockerenv"); err == nil {
|
||||
return true
|
||||
}
|
||||
data, err := os.ReadFile("/proc/1/cgroup")
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
text := strings.ToLower(string(data))
|
||||
return strings.Contains(text, "docker") ||
|
||||
strings.Contains(text, "kubepods") ||
|
||||
strings.Contains(text, "containerd")
|
||||
}
|
||||
|
||||
func parseHexByte(raw string) (int, error) {
|
||||
value, err := strconv.ParseUint(raw, 16, 8)
|
||||
if err != nil {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user