You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by nf...@apache.org on 2018/12/13 08:29:08 UTC
[camel-k] branch master updated: Inject camel-k version as
environment variable #285
This is an automated email from the ASF dual-hosted git repository.
nferraro pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-k.git
The following commit(s) were added to refs/heads/master by this push:
new be365ed Inject camel-k version as environment variable #285
be365ed is described below
commit be365ed03a58087707f5e6a607b72e5f1ebc3bfc
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Thu Dec 13 00:48:47 2018 +0100
Inject camel-k version as environment variable #285
---
pkg/trait/environment.go | 24 ++++++++++++++++--------
pkg/trait/environment_test.go | 15 +++++++++++++++
2 files changed, 31 insertions(+), 8 deletions(-)
diff --git a/pkg/trait/environment.go b/pkg/trait/environment.go
index f97ee13..9e05d45 100644
--- a/pkg/trait/environment.go
+++ b/pkg/trait/environment.go
@@ -19,6 +19,7 @@ package trait
import (
"github.com/apache/camel-k/pkg/apis/camel/v1alpha1"
+ "github.com/apache/camel-k/version"
appsv1 "k8s.io/api/apps/v1"
"k8s.io/api/core/v1"
)
@@ -29,8 +30,9 @@ type environmentTrait struct {
}
const (
- envVarNamespace = "NAMESPACE"
- envVarPodName = "POD_NAME"
+ envVarNamespace = "NAMESPACE"
+ envVarPodName = "POD_NAME"
+ envVarCamelKVersion = "CAMEL_K_VERSION"
)
func newEnvironmentTrait() *environmentTrait {
@@ -51,10 +53,16 @@ func (t *environmentTrait) Configure(e *Environment) (bool, error) {
}
func (t *environmentTrait) Apply(e *Environment) error {
- if t.ContainerMeta {
- e.Resources.VisitDeployment(func(deployment *appsv1.Deployment) {
- for i := 0; i < len(deployment.Spec.Template.Spec.Containers); i++ {
- c := &deployment.Spec.Template.Spec.Containers[i]
+ e.Resources.VisitDeployment(func(deployment *appsv1.Deployment) {
+ for i := 0; i < len(deployment.Spec.Template.Spec.Containers); i++ {
+ c := &deployment.Spec.Template.Spec.Containers[i]
+
+ c.Env = append(c.Env, v1.EnvVar{
+ Name: envVarCamelKVersion,
+ Value: version.Version,
+ })
+
+ if t.ContainerMeta {
c.Env = append(c.Env, v1.EnvVar{
Name: envVarNamespace,
ValueFrom: &v1.EnvVarSource{
@@ -72,8 +80,8 @@ func (t *environmentTrait) Apply(e *Environment) error {
},
})
}
- })
- }
+ }
+ })
return nil
}
diff --git a/pkg/trait/environment_test.go b/pkg/trait/environment_test.go
index 12fdd31..4707a96 100644
--- a/pkg/trait/environment_test.go
+++ b/pkg/trait/environment_test.go
@@ -55,6 +55,7 @@ func TestDefaultEnvironment(t *testing.T) {
ns := false
name := false
+ ck := false
env.Resources.VisitDeployment(func(deployment *v1.Deployment) {
for _, e := range deployment.Spec.Template.Spec.Containers[0].Env {
@@ -64,11 +65,15 @@ func TestDefaultEnvironment(t *testing.T) {
if e.Name == envVarPodName {
name = true
}
+ if e.Name == envVarCamelKVersion {
+ ck = true
+ }
}
})
assert.True(t, ns)
assert.True(t, name)
+ assert.True(t, ck)
}
func TestEnabledContainerMetaDataEnvVars(t *testing.T) {
@@ -105,6 +110,7 @@ func TestEnabledContainerMetaDataEnvVars(t *testing.T) {
ns := false
name := false
+ ck := false
env.Resources.VisitDeployment(func(deployment *v1.Deployment) {
for _, e := range deployment.Spec.Template.Spec.Containers[0].Env {
@@ -114,11 +120,15 @@ func TestEnabledContainerMetaDataEnvVars(t *testing.T) {
if e.Name == envVarPodName {
name = true
}
+ if e.Name == envVarCamelKVersion {
+ ck = true
+ }
}
})
assert.True(t, ns)
assert.True(t, name)
+ assert.True(t, ck)
}
func TestDisabledContainerMetaDataEnvVars(t *testing.T) {
@@ -155,6 +165,7 @@ func TestDisabledContainerMetaDataEnvVars(t *testing.T) {
ns := false
name := false
+ ck := false
env.Resources.VisitDeployment(func(deployment *v1.Deployment) {
for _, e := range deployment.Spec.Template.Spec.Containers[0].Env {
@@ -164,9 +175,13 @@ func TestDisabledContainerMetaDataEnvVars(t *testing.T) {
if e.Name == envVarPodName {
name = true
}
+ if e.Name == envVarCamelKVersion {
+ ck = true
+ }
}
})
assert.False(t, ns)
assert.False(t, name)
+ assert.True(t, ck)
}