@@ -938,6 +938,10 @@ func deduplicateEnvVars(input []v1.EnvVar, containerName string, logger *logrus.
938
938
func (c * Cluster ) getPodEnvironmentConfigMapVariables () ([]v1.EnvVar , error ) {
939
939
configMapPodEnvVarsList := make ([]v1.EnvVar , 0 )
940
940
941
+ if len (c .Spec .Env ) > 0 {
942
+ configMapPodEnvVarsList = append (configMapPodEnvVarsList , c .Spec .Env ... )
943
+ }
944
+
941
945
if c .OpConfig .PodEnvironmentConfigMap .Name == "" {
942
946
return configMapPodEnvVarsList , nil
943
947
}
@@ -959,7 +963,9 @@ func (c *Cluster) getPodEnvironmentConfigMapVariables() ([]v1.EnvVar, error) {
959
963
}
960
964
}
961
965
for k , v := range cm .Data {
962
- configMapPodEnvVarsList = append (configMapPodEnvVarsList , v1.EnvVar {Name : k , Value : v })
966
+ if ! isEnvVarExist (configMapPodEnvVarsList , k ) {
967
+ configMapPodEnvVarsList = append (configMapPodEnvVarsList , v1.EnvVar {Name : k , Value : v })
968
+ }
963
969
}
964
970
return configMapPodEnvVarsList , nil
965
971
}
@@ -968,6 +974,10 @@ func (c *Cluster) getPodEnvironmentConfigMapVariables() ([]v1.EnvVar, error) {
968
974
func (c * Cluster ) getPodEnvironmentSecretVariables () ([]v1.EnvVar , error ) {
969
975
secretPodEnvVarsList := make ([]v1.EnvVar , 0 )
970
976
977
+ if len (c .Spec .Env ) > 0 {
978
+ secretPodEnvVarsList = append (secretPodEnvVarsList , c .Spec .Env ... )
979
+ }
980
+
971
981
if c .OpConfig .PodEnvironmentSecret == "" {
972
982
return secretPodEnvVarsList , nil
973
983
}
@@ -999,20 +1009,31 @@ func (c *Cluster) getPodEnvironmentSecretVariables() ([]v1.EnvVar, error) {
999
1009
}
1000
1010
1001
1011
for k := range secret .Data {
1002
- secretPodEnvVarsList = append (secretPodEnvVarsList ,
1003
- v1.EnvVar {Name : k , ValueFrom : & v1.EnvVarSource {
1004
- SecretKeyRef : & v1.SecretKeySelector {
1005
- LocalObjectReference : v1.LocalObjectReference {
1006
- Name : c .OpConfig .PodEnvironmentSecret ,
1012
+ if ! isEnvVarExist (secretPodEnvVarsList , k ) {
1013
+ secretPodEnvVarsList = append (secretPodEnvVarsList ,
1014
+ v1.EnvVar {Name : k , ValueFrom : & v1.EnvVarSource {
1015
+ SecretKeyRef : & v1.SecretKeySelector {
1016
+ LocalObjectReference : v1.LocalObjectReference {
1017
+ Name : c .OpConfig .PodEnvironmentSecret ,
1018
+ },
1019
+ Key : k ,
1007
1020
},
1008
- Key : k ,
1009
- },
1010
- }})
1021
+ }})
1022
+ }
1011
1023
}
1012
1024
1013
1025
return secretPodEnvVarsList , nil
1014
1026
}
1015
1027
1028
+ func isEnvVarExist (envs []v1.EnvVar , key string ) bool {
1029
+ for _ , env := range envs {
1030
+ if env .Name == key {
1031
+ return true
1032
+ }
1033
+ }
1034
+ return false
1035
+ }
1036
+
1016
1037
func getSidecarContainer (sidecar acidv1.Sidecar , index int , resources * v1.ResourceRequirements ) * v1.Container {
1017
1038
name := sidecar .Name
1018
1039
if name == "" {
0 commit comments