From 83fe6f7cb3b87532e990cc99760917339582db34 Mon Sep 17 00:00:00 2001 From: Prathamesh Musale Date: Thu, 27 Nov 2025 14:52:56 +0530 Subject: [PATCH] Mount executables with required mode --- pkg/transformer/kubernetes/kubernetes.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/pkg/transformer/kubernetes/kubernetes.go b/pkg/transformer/kubernetes/kubernetes.go index ee30c990..cb7883ad 100644 --- a/pkg/transformer/kubernetes/kubernetes.go +++ b/pkg/transformer/kubernetes/kubernetes.go @@ -347,6 +347,10 @@ func (k *Kubernetes) IntiConfigMapFromFileOrDir(name, cmName, filePath string, s configMap.Annotations = map[string]string{ "use-subpath": "true", } + // Check if the file is executable and store that info + if mode&0111 != 0 { // Check if any execute bit is set + configMap.Annotations["executable"] = "true" + } } return configMap, nil @@ -1154,6 +1158,13 @@ func (k *Kubernetes) ConfigEmptyVolumeSource(key string) *api.VolumeSource { func (k *Kubernetes) ConfigConfigMapVolumeSource(cmName string, targetPath string, cm *api.ConfigMap) *api.VolumeSource { s := api.ConfigMapVolumeSource{} s.Name = cmName + + // Set default mode to 0755 if the file is executable + if cm.Annotations != nil && cm.Annotations["executable"] == "true" { + mode := int32(0755) + s.DefaultMode = &mode + } + if useSubPathMount(cm) { var keys []string for k := range cm.Data {