From cbb314256d44642a677ec28120a5251cf48cc6a9 Mon Sep 17 00:00:00 2001 From: cyrus-mc Date: Thu, 6 Aug 2020 11:46:51 -0700 Subject: [PATCH 1/2] Add NAMESPACE to envvars from downward API --- agent-inject/agent/container_env.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/agent-inject/agent/container_env.go b/agent-inject/agent/container_env.go index 21493f86..66ce0aab 100644 --- a/agent-inject/agent/container_env.go +++ b/agent-inject/agent/container_env.go @@ -2,6 +2,7 @@ package agent import ( "encoding/base64" + corev1 "k8s.io/api/core/v1" ) @@ -31,6 +32,16 @@ func (a *Agent) ContainerEnvVars(init bool) ([]corev1.EnvVar, error) { }) } + // add namespace from downward API + envs = append(envs, corev1.EnvVar{ + Name: "NAMESPACE", + ValueFrom: &corev1.EnvVarSource{ + FieldRef: &corev1.ObjectFieldSelector{ + FieldPath: "metadata.namespace", + }, + }, + }) + if a.ConfigMapName == "" { config, err := a.newConfig(init) if err != nil { From 8c01b2cabc77e9dee9b9507639eeb1fc0bcb2f57 Mon Sep 17 00:00:00 2001 From: cyrus-mc Date: Thu, 6 Aug 2020 11:51:32 -0700 Subject: [PATCH 2/2] Update tests --- agent-inject/agent/container_env_test.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/agent-inject/agent/container_env_test.go b/agent-inject/agent/container_env_test.go index 233b93b8..02d21fd7 100644 --- a/agent-inject/agent/container_env_test.go +++ b/agent-inject/agent/container_env_test.go @@ -12,12 +12,12 @@ func TestContainerEnvs(t *testing.T) { agent Agent expectedEnvs []string }{ - {Agent{}, []string{"VAULT_CONFIG"}}, - {Agent{ConfigMapName: "foobar"}, []string{}}, - {Agent{Vault: Vault{ClientMaxRetries: "0"}}, []string{"VAULT_CONFIG", "VAULT_MAX_RETRIES"}}, - {Agent{Vault: Vault{ClientTimeout: "5s"}}, []string{"VAULT_CONFIG", "VAULT_CLIENT_TIMEOUT"}}, - {Agent{Vault: Vault{ClientMaxRetries: "0", ClientTimeout: "5s"}}, []string{"VAULT_CONFIG", "VAULT_MAX_RETRIES", "VAULT_CLIENT_TIMEOUT"}}, - {Agent{ConfigMapName: "foobar", Vault: Vault{ClientMaxRetries: "0", ClientTimeout: "5s", LogLevel: "info"}}, []string{"VAULT_MAX_RETRIES", "VAULT_CLIENT_TIMEOUT", "VAULT_LOG_LEVEL"}}, + {Agent{}, []string{"VAULT_CONFIG", "NAMESPACE"}}, + {Agent{ConfigMapName: "foobar"}, []string{"NAMESPACE"}}, + {Agent{Vault: Vault{ClientMaxRetries: "0"}}, []string{"VAULT_CONFIG", "VAULT_MAX_RETRIES", "NAMESPACE"}}, + {Agent{Vault: Vault{ClientTimeout: "5s"}}, []string{"VAULT_CONFIG", "VAULT_CLIENT_TIMEOUT", "NAMESPACE"}}, + {Agent{Vault: Vault{ClientMaxRetries: "0", ClientTimeout: "5s"}}, []string{"VAULT_CONFIG", "VAULT_MAX_RETRIES", "VAULT_CLIENT_TIMEOUT", "NAMESPACE"}}, + {Agent{ConfigMapName: "foobar", Vault: Vault{ClientMaxRetries: "0", ClientTimeout: "5s", LogLevel: "info"}}, []string{"VAULT_MAX_RETRIES", "VAULT_CLIENT_TIMEOUT", "VAULT_LOG_LEVEL", "NAMESPACE"}}, } for _, tt := range tests {