|
@@ -7,17 +7,17 @@ import (
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
// ParseContainerArgs extracts "--key=value" style arguments from the given containers into a
|
|
// ParseContainerArgs extracts "--key=value" style arguments from the given containers into a
|
|
|
-// flat map. Args without a "=" (bare flags) are skipped. Args are merged across all containers;
|
|
|
|
|
-// on key collision, the last container/arg seen wins.
|
|
|
|
|
|
|
+// flat map. Bare flags without a "=" (e.g. "--verbose") are recorded with an empty value. Args
|
|
|
|
|
+// are merged across all containers; on key collision, the last container/arg seen wins.
|
|
|
func ParseContainerArgs(containers []v1.Container) map[string]string {
|
|
func ParseContainerArgs(containers []v1.Container) map[string]string {
|
|
|
args := make(map[string]string)
|
|
args := make(map[string]string)
|
|
|
for _, container := range containers {
|
|
for _, container := range containers {
|
|
|
for _, arg := range container.Args {
|
|
for _, arg := range container.Args {
|
|
|
trimmed := strings.TrimLeft(arg, "-")
|
|
trimmed := strings.TrimLeft(arg, "-")
|
|
|
- key, value, ok := strings.Cut(trimmed, "=")
|
|
|
|
|
- if !ok || key == "" {
|
|
|
|
|
|
|
+ if trimmed == "" {
|
|
|
continue
|
|
continue
|
|
|
}
|
|
}
|
|
|
|
|
+ key, value, _ := strings.Cut(trimmed, "=")
|
|
|
args[key] = value
|
|
args[key] = value
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|