@@ -384,7 +384,7 @@ func validateContainerRegistryWIF(wif *v1alpha2.WorkloadIdentityConfig) error {
384384// registryWIFInitContainer creates an init container that generates docker config credentials
385385// using cloud-native Workload Identity Federation
386386func registryWIFInitContainer (wif * v1alpha2.WorkloadIdentityConfig ) corev1.Container {
387- var image , script string
387+ var image , shell , script string
388388 var env []corev1.EnvVar
389389
390390 // Common retry wrapper for transient failures
@@ -410,6 +410,7 @@ retry() {
410410 switch wif .Provider {
411411 case v1alpha2 .CloudProviderGKE :
412412 image = k8s_scan .GCloudSDKImage
413+ shell = "/bin/bash"
413414 script = retryWrapper + `
414415# Use WIF identity to get an access token for Artifact Registry / GCR
415416TOKEN=$(retry gcloud auth print-access-token)
@@ -456,6 +457,7 @@ echo "Docker config generated for $(echo "$AUTHS" | tr ',' '\n' | wc -l) registr
456457
457458 case v1alpha2 .CloudProviderEKS :
458459 image = k8s_scan .AWSCLIImage
460+ shell = "/bin/bash"
459461 script = retryWrapper + `
460462# Use IRSA identity to get ECR login password
461463PASSWORD=$(retry aws ecr get-login-password --region "$AWS_REGION")
@@ -483,6 +485,7 @@ echo "Docker config generated for ECR registry: ${REGISTRY}"
483485
484486 case v1alpha2 .CloudProviderAKS :
485487 image = k8s_scan .AzureCLIImage
488+ shell = "/bin/bash"
486489 script = retryWrapper + `
487490# Azure WIF webhook injects AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_FEDERATED_TOKEN_FILE
488491retry az login --federated-token "$(cat "$AZURE_FEDERATED_TOKEN_FILE")" \
@@ -511,6 +514,7 @@ echo "Docker config generated for ACR: ${ACR_LOGIN_SERVER}"
511514
512515 default :
513516 image = "busybox:1.36"
517+ shell = "/bin/sh"
514518 script = `echo "ERROR: Unknown workload identity provider"; exit 1`
515519 env = []corev1.EnvVar {}
516520 }
@@ -519,7 +523,7 @@ echo "Docker config generated for ACR: ${ACR_LOGIN_SERVER}"
519523 Name : "generate-registry-creds" ,
520524 Image : image ,
521525 ImagePullPolicy : corev1 .PullIfNotPresent ,
522- Command : []string {"/bin/sh" , "-c" , script },
526+ Command : []string {shell , "-c" , script },
523527 Env : env ,
524528 VolumeMounts : []corev1.VolumeMount {
525529 {Name : "docker-config" , MountPath : "/etc/opt/mondoo/docker" },
0 commit comments