From 59549ee68009ec72c293c6e2b9d2b813846c8530 Mon Sep 17 00:00:00 2001 From: Arnob Kumar Saha Date: Thu, 9 Nov 2023 16:54:55 +0600 Subject: [PATCH] Add getter utilities for container, volume, volumeMount & env (#564) Signed-off-by: Arnob kumar saha --- core/v1/kubernetes.go | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/core/v1/kubernetes.go b/core/v1/kubernetes.go index 0a7bc4ffb..7c8f60dcf 100644 --- a/core/v1/kubernetes.go +++ b/core/v1/kubernetes.go @@ -68,6 +68,15 @@ func EnsureContainerDeleted(containers []core.Container, name string) []core.Con return containers } +func GetContainerByName(containers []core.Container, name string) *core.Container { + for i := range containers { + if containers[i].Name == name { + return &containers[i] + } + } + return nil +} + func UpsertContainer(containers []core.Container, upsert core.Container) []core.Container { for i, container := range containers { if container.Name == upsert.Name { @@ -116,6 +125,15 @@ func DeleteContainer(containers []core.Container, name string) []core.Container return containers } +func GetVolumeByName(volumes []core.Volume, name string) *core.Volume { + for i := range volumes { + if volumes[i].Name == name { + return &volumes[i] + } + } + return nil +} + func UpsertVolume(volumes []core.Volume, nv ...core.Volume) []core.Volume { upsert := func(v core.Volume) { for i, vol := range volumes { @@ -192,6 +210,15 @@ func EnsureVolumeDeleted(volumes []core.Volume, name string) []core.Volume { return volumes } +func GetVolumeMountByName(volumeMounts []core.VolumeMount, name string) *core.VolumeMount { + for i := range volumeMounts { + if volumeMounts[i].Name == name { + return &volumeMounts[i] + } + } + return nil +} + func UpsertVolumeMount(mounts []core.VolumeMount, nv ...core.VolumeMount) []core.VolumeMount { upsert := func(m core.VolumeMount) { for i, vol := range mounts { @@ -237,6 +264,15 @@ func EnsureVolumeMountDeletedByPath(mounts []core.VolumeMount, mountPath string) return mounts } +func GetEnvByName(envs []core.EnvVar, name string) *core.EnvVar { + for i := range envs { + if envs[i].Name == name { + return &envs[i] + } + } + return nil +} + func UpsertEnvVars(vars []core.EnvVar, nv ...core.EnvVar) []core.EnvVar { upsert := func(env core.EnvVar) { if env.ValueFrom != nil &&