fix missing image pull secrets

Signed-off-by: AhmedGrati <ahmedgrati1999@gmail.com>
This commit is contained in:
AhmedGrati 2023-07-13 12:22:02 +01:00
parent 21509824ff
commit 7255eb5923
2 changed files with 27 additions and 1 deletions

View File

@ -1072,3 +1072,25 @@ func TestNetworkPoliciesGeneration(t *testing.T) {
}
}
}
func TestServiceGroupModeImagePullSecrets(t *testing.T) {
groupName := "pod_group"
serviceConfig := newServiceConfig()
komposeObject := kobject.KomposeObject{
ServiceConfigs: map[string]kobject.ServiceConfig{"app": serviceConfig},
}
k := Kubernetes{}
objs, err := k.Transform(komposeObject, kobject.ConvertOptions{ServiceGroupMode: groupName, GenerateNetworkPolicies: true})
if err != nil {
t.Error(errors.Wrap(err, "k.Transform failed"))
}
expectedSecretsLen := len(serviceConfig.ImagePullSecret)
for _, obj := range objs {
if deployment, ok := obj.(*appsv1.Deployment); ok {
secretsLen := len(deployment.Spec.Template.Spec.ImagePullSecrets)
if secretsLen != expectedSecretsLen {
t.Errorf("Expected length of Deployment ImagePullSecrets to be equal to %v, got %v", expectedSecretsLen, secretsLen)
}
}
}
}

View File

@ -48,7 +48,11 @@ func AddContainer(service kobject.ServiceConfig, opt kobject.ConvertOptions) Pod
LivenessProbe: configProbe(service.HealthChecks.Liveness),
ReadinessProbe: configProbe(service.HealthChecks.Readiness),
})
if service.ImagePullSecret != "" {
podSpec.ImagePullSecrets = append(podSpec.ImagePullSecrets, api.LocalObjectReference{
Name: service.ImagePullSecret,
})
}
podSpec.Affinity = ConfigAffinity(service)
}
}