github.com/percona/percona-xtradb-cluster-operator@v1.14.0/pkg/util/env.go (about)

     1  package util
     2  
     3  import (
     4  	corev1 "k8s.io/api/core/v1"
     5  )
     6  
     7  func MergeEnvLists(envLists ...[]corev1.EnvVar) []corev1.EnvVar {
     8  	resultList := make([]corev1.EnvVar, 0)
     9  	for _, list := range envLists {
    10  		for _, env := range list {
    11  			idx := FindEnvIndex(resultList, env.Name)
    12  			if idx == -1 {
    13  				resultList = append(resultList, env)
    14  				continue
    15  			}
    16  			resultList[idx] = env
    17  		}
    18  	}
    19  	return resultList
    20  }
    21  
    22  func FindEnvIndex(envs []corev1.EnvVar, name string) int {
    23  	for i, env := range envs {
    24  		if env.Name == name {
    25  			return i
    26  		}
    27  	}
    28  	return -1
    29  }