You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by as...@apache.org on 2021/02/08 08:36:28 UTC

[camel-k] 01/03: feat(conf): Mount source and resource ConfigMaps as subPaths instead of volumes

This is an automated email from the ASF dual-hosted git repository.

astefanutti pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-k.git

commit 173a817b5c9436ba406bfc59c8c3cefcad49e18a
Author: Antonin Stefanutti <an...@stefanutti.fr>
AuthorDate: Thu Feb 4 16:34:51 2021 +0100

    feat(conf): Mount source and resource ConfigMaps as subPaths instead of volumes
---
 pkg/trait/container.go            | 16 ++++----
 pkg/trait/cron.go                 |  2 +-
 pkg/trait/deployment.go           |  2 +-
 pkg/trait/environment.go          |  4 +-
 pkg/trait/knative_service.go      |  2 +-
 pkg/trait/knative_service_test.go | 11 +++---
 pkg/trait/trait_test.go           | 26 ++++++-------
 pkg/trait/trait_types.go          | 82 ++++++++++++++-------------------------
 pkg/trait/util.go                 |  2 +-
 pkg/trait/util_test.go            | 10 ++---
 10 files changed, 68 insertions(+), 89 deletions(-)

diff --git a/pkg/trait/container.go b/pkg/trait/container.go
index 625503f..4803b51 100644
--- a/pkg/trait/container.go
+++ b/pkg/trait/container.go
@@ -185,7 +185,7 @@ func (t *containerTrait) configureContainer(e *Environment) error {
 	}
 
 	// combine Environment of integration with platform, kit, integration
-	for key, value := range e.CollectConfigurationPairs("env") {
+	for key, value := range e.collectConfigurationPairs("env") {
 		envvar.SetVal(&container.Env, key, value)
 	}
 
@@ -193,7 +193,7 @@ func (t *containerTrait) configureContainer(e *Environment) error {
 	envvar.SetVal(&container.Env, "CAMEL_K_CONF", "/etc/camel/conf/application.properties")
 	envvar.SetVal(&container.Env, "CAMEL_K_CONF_D", "/etc/camel/conf.d")
 
-	e.AddSourcesProperties()
+	e.addSourcesProperties()
 
 	t.configureResources(e, &container)
 
@@ -217,11 +217,11 @@ func (t *containerTrait) configureContainer(e *Environment) error {
 		for _, envVar := range e.EnvVars {
 			envvar.SetVar(&container.Env, envVar)
 		}
-		if props := e.ComputeApplicationProperties(); props != nil {
+		if props := e.computeApplicationProperties(); props != nil {
 			e.Resources.Add(props)
 		}
 
-		e.ConfigureVolumesAndMounts(
+		e.configureVolumesAndMounts(
 			&deployment.Spec.Template.Spec.Volumes,
 			&container.VolumeMounts,
 		)
@@ -258,11 +258,11 @@ func (t *containerTrait) configureContainer(e *Environment) error {
 				envvar.SetVar(&container.Env, env)
 			}
 		}
-		if props := e.ComputeApplicationProperties(); props != nil {
+		if props := e.computeApplicationProperties(); props != nil {
 			e.Resources.Add(props)
 		}
 
-		e.ConfigureVolumesAndMounts(
+		e.configureVolumesAndMounts(
 			&service.Spec.ConfigurationSpec.Template.Spec.Volumes,
 			&container.VolumeMounts,
 		)
@@ -287,11 +287,11 @@ func (t *containerTrait) configureContainer(e *Environment) error {
 		for _, envVar := range e.EnvVars {
 			envvar.SetVar(&container.Env, envVar)
 		}
-		if props := e.ComputeApplicationProperties(); props != nil {
+		if props := e.computeApplicationProperties(); props != nil {
 			e.Resources.Add(props)
 		}
 
-		e.ConfigureVolumesAndMounts(
+		e.configureVolumesAndMounts(
 			&cron.Spec.JobTemplate.Spec.Template.Spec.Volumes,
 			&container.VolumeMounts,
 		)
diff --git a/pkg/trait/cron.go b/pkg/trait/cron.go
index 3a9aa7f..478fe12 100644
--- a/pkg/trait/cron.go
+++ b/pkg/trait/cron.go
@@ -242,7 +242,7 @@ func (t *cronTrait) Apply(e *Environment) error {
 		e.Interceptors = append(e.Interceptors, "cron")
 
 		cronJob := t.getCronJobFor(e)
-		maps := e.ComputeConfigMaps()
+		maps := e.computeConfigMaps()
 
 		e.Resources.AddAll(maps)
 		e.Resources.Add(cronJob)
diff --git a/pkg/trait/deployment.go b/pkg/trait/deployment.go
index f7a048b..8fd05ad 100644
--- a/pkg/trait/deployment.go
+++ b/pkg/trait/deployment.go
@@ -102,7 +102,7 @@ func (t *deploymentTrait) ControllerStrategySelectorOrder() int {
 func (t *deploymentTrait) Apply(e *Environment) error {
 	if e.InPhase(v1.IntegrationKitPhaseReady, v1.IntegrationPhaseDeploying) ||
 		e.InPhase(v1.IntegrationKitPhaseReady, v1.IntegrationPhaseRunning) {
-		maps := e.ComputeConfigMaps()
+		maps := e.computeConfigMaps()
 		deployment := t.getDeploymentFor(e)
 
 		e.Resources.AddAll(maps)
diff --git a/pkg/trait/environment.go b/pkg/trait/environment.go
index 55c78b4..30b396e 100644
--- a/pkg/trait/environment.go
+++ b/pkg/trait/environment.go
@@ -72,8 +72,8 @@ func (t *environmentTrait) Apply(e *Environment) error {
 		envvar.SetVal(&e.EnvVars, envVarCamelKIntegration, e.Integration.Name)
 	}
 	envvar.SetVal(&e.EnvVars, envVarCamelKRuntimeVersion, e.RuntimeVersion)
-	envvar.SetVal(&e.EnvVars, envVarMountPathConfigMaps, ConfigMapsMountPath)
-	envvar.SetVal(&e.EnvVars, envVarMountPathSecrets, SecretsMountPath)
+	envvar.SetVal(&e.EnvVars, envVarMountPathConfigMaps, configMapsMountPath)
+	envvar.SetVal(&e.EnvVars, envVarMountPathSecrets, secretsMountPath)
 
 	if util.IsNilOrTrue(t.ContainerMeta) {
 		envvar.SetValFrom(&e.EnvVars, envVarNamespace, "metadata.namespace")
diff --git a/pkg/trait/knative_service.go b/pkg/trait/knative_service.go
index 2a5b15c..a6f5eda 100644
--- a/pkg/trait/knative_service.go
+++ b/pkg/trait/knative_service.go
@@ -169,7 +169,7 @@ func (t *knativeServiceTrait) Configure(e *Environment) (bool, error) {
 
 func (t *knativeServiceTrait) Apply(e *Environment) error {
 	ksvc := t.getServiceFor(e)
-	maps := e.ComputeConfigMaps()
+	maps := e.computeConfigMaps()
 
 	e.Resources.AddAll(maps)
 	e.Resources.Add(ksvc)
diff --git a/pkg/trait/knative_service_test.go b/pkg/trait/knative_service_test.go
index 5b73d4e..b486ab0 100644
--- a/pkg/trait/knative_service_test.go
+++ b/pkg/trait/knative_service_test.go
@@ -21,16 +21,17 @@ import (
 	"context"
 	"testing"
 
+	"github.com/stretchr/testify/assert"
+	corev1 "k8s.io/api/core/v1"
+	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+	serving "knative.dev/serving/pkg/apis/serving/v1"
+
 	v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
 	"github.com/apache/camel-k/pkg/util/camel"
 	"github.com/apache/camel-k/pkg/util/envvar"
 	"github.com/apache/camel-k/pkg/util/gzip"
 	"github.com/apache/camel-k/pkg/util/kubernetes"
 	"github.com/apache/camel-k/pkg/util/test"
-	"github.com/stretchr/testify/assert"
-	corev1 "k8s.io/api/core/v1"
-	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-	serving "knative.dev/serving/pkg/apis/serving/v1"
 )
 
 const (
@@ -172,7 +173,7 @@ func TestKnativeService(t *testing.T) {
 		}
 	})
 
-	assert.Equal(t, "file:/etc/camel/sources/i-source-000/routes.js", environment.ApplicationProperties["camel.k.sources[0].location"])
+	assert.Equal(t, "file:/etc/camel/sources/routes.js", environment.ApplicationProperties["camel.k.sources[0].location"])
 	assert.Equal(t, "js", environment.ApplicationProperties["camel.k.sources[0].language"])
 	assert.Equal(t, "true", environment.ApplicationProperties["camel.k.sources[0].compressed"])
 	test.EnvVarHasValue(t, spec.Containers[0].Env, "CAMEL_K_CONF", "/etc/camel/conf/application.properties")
diff --git a/pkg/trait/trait_test.go b/pkg/trait/trait_test.go
index 2b4f2a0..36eeef3 100644
--- a/pkg/trait/trait_test.go
+++ b/pkg/trait/trait_test.go
@@ -276,8 +276,8 @@ func TestConfigureVolumesAndMountsTextResourcesAndProperties(t *testing.T) {
 	vols := make([]corev1.Volume, 0)
 	mnts := make([]corev1.VolumeMount, 0)
 
-	env.Resources.AddAll(env.ComputeConfigMaps())
-	env.ConfigureVolumesAndMounts(&vols, &mnts)
+	env.Resources.AddAll(env.computeConfigMaps())
+	env.configureVolumesAndMounts(&vols, &mnts)
 
 	assert.Len(t, vols, 8)
 	assert.Len(t, mnts, 8)
@@ -313,7 +313,7 @@ func TestConfigureVolumesAndMountsTextResourcesAndProperties(t *testing.T) {
 
 	m = findVVolumeMount(mnts, func(m corev1.VolumeMount) bool { return m.Name == "i-resource-001" })
 	assert.NotNil(t, m)
-	assert.Equal(t, "/etc/camel/resources/i-resource-001", m.MountPath)
+	assert.Equal(t, "/etc/camel/resources/res2.txt", m.MountPath)
 
 	v = findVolume(vols, func(v corev1.Volume) bool { return v.ConfigMap.Name == TestDeploymentName+"-resource-002" })
 	assert.NotNil(t, v)
@@ -324,7 +324,7 @@ func TestConfigureVolumesAndMountsTextResourcesAndProperties(t *testing.T) {
 
 	m = findVVolumeMount(mnts, func(m corev1.VolumeMount) bool { return m.Name == "i-resource-002" })
 	assert.NotNil(t, m)
-	assert.Equal(t, "/etc/camel/resources/i-resource-002", m.MountPath)
+	assert.Equal(t, "/etc/camel/resources/res3.txt", m.MountPath)
 
 	v = findVolume(vols, func(v corev1.Volume) bool { return v.ConfigMap.Name == TestDeploymentName+"-resource-003" })
 	assert.NotNil(t, v)
@@ -335,7 +335,7 @@ func TestConfigureVolumesAndMountsTextResourcesAndProperties(t *testing.T) {
 
 	m = findVVolumeMount(mnts, func(m corev1.VolumeMount) bool { return m.Name == "i-resource-003" })
 	assert.NotNil(t, m)
-	assert.Equal(t, "/etc/camel/resources/i-resource-003", m.MountPath)
+	assert.Equal(t, "/etc/camel/resources/res4.txt", m.MountPath)
 
 	v = findVolume(vols, func(v corev1.Volume) bool { return v.ConfigMap.Name == "test-configmap" })
 	assert.NotNil(t, v)
@@ -345,7 +345,7 @@ func TestConfigureVolumesAndMountsTextResourcesAndProperties(t *testing.T) {
 
 	m = findVVolumeMount(mnts, func(m corev1.VolumeMount) bool { return m.Name == "test-configmap" })
 	assert.NotNil(t, m)
-	assert.Equal(t, path.Join(ConfigMapsMountPath, "test-configmap"), m.MountPath)
+	assert.Equal(t, path.Join(configMapsMountPath, "test-configmap"), m.MountPath)
 
 	v = findVolume(vols, func(v corev1.Volume) bool { return v.Name == "test-secret" })
 	assert.NotNil(t, v)
@@ -354,7 +354,7 @@ func TestConfigureVolumesAndMountsTextResourcesAndProperties(t *testing.T) {
 
 	m = findVVolumeMount(mnts, func(m corev1.VolumeMount) bool { return m.Name == "test-secret" })
 	assert.NotNil(t, m)
-	assert.Equal(t, path.Join(SecretsMountPath, "test-secret"), m.MountPath)
+	assert.Equal(t, path.Join(secretsMountPath, "test-secret"), m.MountPath)
 
 	v = findVolume(vols, func(v corev1.Volume) bool { return v.Name == "testvolume-data" })
 	assert.NotNil(t, v)
@@ -400,8 +400,8 @@ func TestConfigureVolumesAndMountsSources(t *testing.T) {
 	vols := make([]corev1.Volume, 0)
 	mnts := make([]corev1.VolumeMount, 0)
 
-	env.Resources.AddAll(env.ComputeConfigMaps())
-	env.ConfigureVolumesAndMounts(&vols, &mnts)
+	env.Resources.AddAll(env.computeConfigMaps())
+	env.configureVolumesAndMounts(&vols, &mnts)
 
 	assert.Len(t, vols, 2)
 	assert.Len(t, mnts, 2)
@@ -463,8 +463,8 @@ func TestConfigureVolumesAndMountsBinaryAndTextResources(t *testing.T) {
 	vols := make([]corev1.Volume, 0)
 	mnts := make([]corev1.VolumeMount, 0)
 
-	env.Resources.AddAll(env.ComputeConfigMaps())
-	env.ConfigureVolumesAndMounts(&vols, &mnts)
+	env.Resources.AddAll(env.computeConfigMaps())
+	env.configureVolumesAndMounts(&vols, &mnts)
 
 	assert.Len(t, vols, 2)
 	assert.Len(t, mnts, 2)
@@ -478,7 +478,7 @@ func TestConfigureVolumesAndMountsBinaryAndTextResources(t *testing.T) {
 
 	m := findVVolumeMount(mnts, func(m corev1.VolumeMount) bool { return m.Name == v.Name })
 	assert.NotNil(t, m)
-	assert.Equal(t, "/etc/camel/resources/i-resource-000", m.MountPath)
+	assert.Equal(t, "/etc/camel/resources/res1.bin", m.MountPath)
 
 	v = findVolume(vols, func(v corev1.Volume) bool { return v.ConfigMap.Name == "my-cm2" })
 	assert.NotNil(t, v)
@@ -489,7 +489,7 @@ func TestConfigureVolumesAndMountsBinaryAndTextResources(t *testing.T) {
 
 	m = findVVolumeMount(mnts, func(m corev1.VolumeMount) bool { return m.Name == v.Name })
 	assert.NotNil(t, m)
-	assert.Equal(t, "/etc/camel/resources/i-resource-001", m.MountPath)
+	assert.Equal(t, "/etc/camel/resources/res2.txt", m.MountPath)
 }
 
 func TestOnlySomeTraitsInfluenceBuild(t *testing.T) {
diff --git a/pkg/trait/trait_types.go b/pkg/trait/trait_types.go
index 10a99c0..3ef9def 100644
--- a/pkg/trait/trait_types.go
+++ b/pkg/trait/trait_types.go
@@ -25,7 +25,6 @@ import (
 	"strconv"
 	"strings"
 
-	"github.com/apache/camel-k/pkg/util"
 	corev1 "k8s.io/api/core/v1"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	"k8s.io/apimachinery/pkg/runtime"
@@ -33,6 +32,7 @@ import (
 	v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
 	"github.com/apache/camel-k/pkg/client"
 	"github.com/apache/camel-k/pkg/platform"
+	"github.com/apache/camel-k/pkg/util"
 	"github.com/apache/camel-k/pkg/util/camel"
 	"github.com/apache/camel-k/pkg/util/kubernetes"
 	"github.com/apache/camel-k/pkg/util/log"
@@ -42,26 +42,13 @@ import (
 const True = "true"
 
 var (
-	// BasePath --
-	BasePath = "/etc/camel"
-
-	// ConfPath --
-	ConfPath = path.Join(BasePath, "conf")
-
-	// ConfdPath --
-	ConfdPath = path.Join(BasePath, "conf.d")
-
-	// SourcesMountPath --
-	SourcesMountPath = path.Join(BasePath, "sources")
-
-	// ResourcesMountPath --
-	ResourcesMountPath = path.Join(BasePath, "resources")
-
-	// ConfigMapsMountPath --
-	ConfigMapsMountPath = path.Join(ConfdPath, "_configmaps")
-
-	// SecretsMountPath --
-	SecretsMountPath = path.Join(ConfdPath, "_secrets")
+	basePath            = "/etc/camel"
+	confPath            = path.Join(basePath, "conf")
+	confDPath           = path.Join(basePath, "conf.d")
+	sourcesMountPath    = path.Join(basePath, "sources")
+	resourcesMountPath  = path.Join(basePath, "resources")
+	configMapsMountPath = path.Join(confDPath, "_configmaps")
+	secretsMountPath    = path.Join(confDPath, "_secrets")
 )
 
 // Identifiable represent an identifiable type
@@ -336,8 +323,7 @@ func (e *Environment) DetermineNamespace() string {
 	return ""
 }
 
-// ComputeApplicationProperties --
-func (e *Environment) ComputeApplicationProperties() *corev1.ConfigMap {
+func (e *Environment) computeApplicationProperties() *corev1.ConfigMap {
 	// application properties
 	applicationProperties := ""
 
@@ -368,8 +354,7 @@ func (e *Environment) ComputeApplicationProperties() *corev1.ConfigMap {
 	return nil
 }
 
-// ComputeConfigMaps --
-func (e *Environment) ComputeConfigMaps() []runtime.Object {
+func (e *Environment) computeConfigMaps() []runtime.Object {
 	sources := e.Integration.Sources()
 	maps := make([]runtime.Object, 0, len(sources)+1)
 
@@ -377,7 +362,7 @@ func (e *Environment) ComputeConfigMaps() []runtime.Object {
 	// properties have the priority
 	userProperties := ""
 
-	for key, val := range e.CollectConfigurationPairs("property") {
+	for key, val := range e.collectConfigurationPairs("property") {
 		userProperties += fmt.Sprintf("%s=%s\n", key, val)
 	}
 
@@ -472,7 +457,7 @@ func (e *Environment) ComputeConfigMaps() []runtime.Object {
 
 		if r.RawContent != nil {
 			cm.BinaryData = map[string][]byte{
-				cmKey: []byte(r.RawContent),
+				cmKey: r.RawContent,
 			}
 		} else {
 			cm.Data = map[string]string{
@@ -486,17 +471,13 @@ func (e *Environment) ComputeConfigMaps() []runtime.Object {
 	return maps
 }
 
-// AddSourcesProperties --
-func (e *Environment) AddSourcesProperties() {
+func (e *Environment) addSourcesProperties() {
 	if e.ApplicationProperties == nil {
 		e.ApplicationProperties = make(map[string]string)
 	}
 	for i, s := range e.Integration.Sources() {
-		root := path.Join(SourcesMountPath, fmt.Sprintf("i-source-%03d", i))
-
 		srcName := strings.TrimPrefix(s.Name, "/")
-		src := path.Join(root, srcName)
-		src = "file:" + src
+		src := "file:" + path.Join(sourcesMountPath, srcName)
 		e.ApplicationProperties[fmt.Sprintf("camel.k.sources[%d].location", i)] = src
 
 		simpleName := srcName
@@ -516,7 +497,7 @@ func (e *Environment) AddSourcesProperties() {
 			e.ApplicationProperties[fmt.Sprintf("camel.k.sources[%d].language", i)] = string(s.InferLanguage())
 		}
 		if s.Loader != "" {
-			e.ApplicationProperties[fmt.Sprintf("camel.k.sources[%d].loader", i)] = string(s.Loader)
+			e.ApplicationProperties[fmt.Sprintf("camel.k.sources[%d].loader", i)] = s.Loader
 		}
 		if s.Compression {
 			e.ApplicationProperties[fmt.Sprintf("camel.k.sources[%d].compressed", i)] = "true"
@@ -535,8 +516,7 @@ func (e *Environment) AddSourcesProperties() {
 	}
 }
 
-// ConfigureVolumesAndMounts --
-func (e *Environment) ConfigureVolumesAndMounts(vols *[]corev1.Volume, mnts *[]corev1.VolumeMount) {
+func (e *Environment) configureVolumesAndMounts(vols *[]corev1.Volume, mnts *[]corev1.VolumeMount) {
 	//
 	// Volumes :: Sources
 	//
@@ -551,7 +531,7 @@ func (e *Environment) ConfigureVolumesAndMounts(vols *[]corev1.Volume, mnts *[]c
 		}
 		resName := strings.TrimPrefix(s.Name, "/")
 		refName := fmt.Sprintf("i-source-%03d", i)
-		resPath := path.Join(SourcesMountPath, refName)
+		resPath := path.Join(sourcesMountPath, resName)
 
 		*vols = append(*vols, corev1.Volume{
 			Name: refName,
@@ -574,6 +554,7 @@ func (e *Environment) ConfigureVolumesAndMounts(vols *[]corev1.Volume, mnts *[]c
 			Name:      refName,
 			MountPath: resPath,
 			ReadOnly:  true,
+			SubPath:   resName,
 		})
 	}
 
@@ -586,7 +567,7 @@ func (e *Environment) ConfigureVolumesAndMounts(vols *[]corev1.Volume, mnts *[]c
 		refName := fmt.Sprintf("i-resource-%03d", i)
 		resName := strings.TrimPrefix(r.Name, "/")
 		cmKey := "content"
-		resPath := path.Join(ResourcesMountPath, refName)
+		resPath := path.Join(resourcesMountPath, resName)
 
 		if r.ContentRef != "" {
 			cmName = r.ContentRef
@@ -619,6 +600,7 @@ func (e *Environment) ConfigureVolumesAndMounts(vols *[]corev1.Volume, mnts *[]c
 			Name:      refName,
 			MountPath: resPath,
 			ReadOnly:  true,
+			SubPath:   resName,
 		})
 	}
 
@@ -629,9 +611,9 @@ func (e *Environment) ConfigureVolumesAndMounts(vols *[]corev1.Volume, mnts *[]c
 
 			switch propertiesType = configMap.Labels["camel.apache.org/properties.type"]; propertiesType {
 			case "application":
-				mountPath = ConfPath
+				mountPath = confPath
 			case "user":
-				mountPath = ConfdPath
+				mountPath = confDPath
 			}
 
 			if propertiesType != "" {
@@ -664,8 +646,7 @@ func (e *Environment) ConfigureVolumesAndMounts(vols *[]corev1.Volume, mnts *[]c
 	//
 	// Volumes :: Additional ConfigMaps
 	//
-
-	for _, cmName := range e.CollectConfigurationValues("configmap") {
+	for _, cmName := range e.collectConfigurationValues("configmap") {
 		refName := kubernetes.SanitizeLabel(cmName)
 
 		*vols = append(*vols, corev1.Volume{
@@ -681,7 +662,7 @@ func (e *Environment) ConfigureVolumesAndMounts(vols *[]corev1.Volume, mnts *[]c
 
 		*mnts = append(*mnts, corev1.VolumeMount{
 			Name:      refName,
-			MountPath: path.Join(ConfigMapsMountPath, strings.ToLower(cmName)),
+			MountPath: path.Join(configMapsMountPath, strings.ToLower(cmName)),
 			ReadOnly:  true,
 		})
 	}
@@ -689,8 +670,7 @@ func (e *Environment) ConfigureVolumesAndMounts(vols *[]corev1.Volume, mnts *[]c
 	//
 	// Volumes :: Additional Secrets
 	//
-
-	for _, secretName := range e.CollectConfigurationValues("secret") {
+	for _, secretName := range e.collectConfigurationValues("secret") {
 		refName := kubernetes.SanitizeLabel(secretName)
 
 		*vols = append(*vols, corev1.Volume{
@@ -704,7 +684,7 @@ func (e *Environment) ConfigureVolumesAndMounts(vols *[]corev1.Volume, mnts *[]c
 
 		*mnts = append(*mnts, corev1.VolumeMount{
 			Name:      refName,
-			MountPath: path.Join(SecretsMountPath, strings.ToLower(secretName)),
+			MountPath: path.Join(secretsMountPath, strings.ToLower(secretName)),
 			ReadOnly:  true,
 		})
 	}
@@ -712,7 +692,7 @@ func (e *Environment) ConfigureVolumesAndMounts(vols *[]corev1.Volume, mnts *[]c
 	//
 	// Volumes :: Additional user provided volumes
 	//
-	for _, volumeConfig := range e.CollectConfigurationValues("volume") {
+	for _, volumeConfig := range e.collectConfigurationValues("volume") {
 		configParts := strings.Split(volumeConfig, ":")
 
 		if len(configParts) != 2 {
@@ -739,13 +719,11 @@ func (e *Environment) ConfigureVolumesAndMounts(vols *[]corev1.Volume, mnts *[]c
 	}
 }
 
-// CollectConfigurationValues --
-func (e *Environment) CollectConfigurationValues(configurationType string) []string {
-	return CollectConfigurationValues(configurationType, e.Platform, e.IntegrationKit, e.Integration)
+func (e *Environment) collectConfigurationValues(configurationType string) []string {
+	return collectConfigurationValues(configurationType, e.Platform, e.IntegrationKit, e.Integration)
 }
 
-// CollectConfigurationPairs --
-func (e *Environment) CollectConfigurationPairs(configurationType string) map[string]string {
+func (e *Environment) collectConfigurationPairs(configurationType string) map[string]string {
 	return CollectConfigurationPairs(configurationType, e.Platform, e.IntegrationKit, e.Integration)
 }
 
diff --git a/pkg/trait/util.go b/pkg/trait/util.go
index a0b7823..9806c0f 100644
--- a/pkg/trait/util.go
+++ b/pkg/trait/util.go
@@ -55,7 +55,7 @@ func GetIntegrationKit(ctx context.Context, c client.Client, integration *v1.Int
 	return &kit, err
 }
 
-func CollectConfigurationValues(configurationType string, configurable ...v1.Configurable) []string {
+func collectConfigurationValues(configurationType string, configurable ...v1.Configurable) []string {
 	result := strset.New()
 
 	for _, c := range configurable {
diff --git a/pkg/trait/util_test.go b/pkg/trait/util_test.go
index 30ad2e1..9e9e350 100644
--- a/pkg/trait/util_test.go
+++ b/pkg/trait/util_test.go
@@ -56,10 +56,10 @@ func TestCollectConfigurationValues(t *testing.T) {
 	}
 	e.Platform.ResyncStatusFullConfig()
 
-	assert.Contains(t, e.CollectConfigurationValues("configmap"), "my-cm-integration")
-	assert.Contains(t, e.CollectConfigurationValues("secret"), "my-secret-platform")
-	assert.Contains(t, e.CollectConfigurationValues("property"), "my-p-kit")
-	assert.Contains(t, e.CollectConfigurationValues("env"), "my-env-integration")
+	assert.Contains(t, e.collectConfigurationValues("configmap"), "my-cm-integration")
+	assert.Contains(t, e.collectConfigurationValues("secret"), "my-secret-platform")
+	assert.Contains(t, e.collectConfigurationValues("property"), "my-p-kit")
+	assert.Contains(t, e.collectConfigurationValues("env"), "my-env-integration")
 }
 
 func TestCollectConfigurationPairs(t *testing.T) {
@@ -93,7 +93,7 @@ func TestCollectConfigurationPairs(t *testing.T) {
 	}
 	e.Platform.ResyncStatusFullConfig()
 
-	pairs := e.CollectConfigurationPairs("property")
+	pairs := e.collectConfigurationPairs("property")
 	assert.Equal(t, "integration", pairs["p1"])
 	assert.Equal(t, "kit", pairs["p2"])
 	assert.Equal(t, "platform", pairs["p3"])