Skip to content

Commit 0658424

Browse files
synaretephlogistonjohn
authored andcommitted
resources: export pod's meta-info via env variables
Allow each smbd pod to discover it's own id (name and namespace) via default environment variables. With those variables at hand, each container within the pod may discover its current run-time properties. Required in order to enable smbmetrics sidcar container to extern current image information via Prometheus. Signed-off-by: Shachar Sharon <[email protected]>
1 parent b140141 commit 0658424

File tree

2 files changed

+27
-2
lines changed

2 files changed

+27
-2
lines changed

internal/resources/metrics.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ func annotationsForSmbMetricsPod() map[string]string {
3030
// buildSmbMetricsContainer returns the appropriate Container definition for
3131
// smbmetrics exporter.
3232
func buildSmbMetricsContainer(image string,
33+
env []corev1.EnvVar,
3334
volmnts []corev1.VolumeMount) corev1.Container {
3435
portnum := defaultMetricsPort
3536
return corev1.Container{
@@ -41,6 +42,7 @@ func buildSmbMetricsContainer(image string,
4142
Name: "smbmetrics",
4243
}},
4344
VolumeMounts: volmnts,
45+
Env: env,
4446
ReadinessProbe: &corev1.Probe{
4547
Handler: corev1.Handler{
4648
TCPSocket: &corev1.TCPSocketAction{

internal/resources/pods.go

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -450,7 +450,7 @@ func buildSmbdCtrs(
450450
ctrs := []corev1.Container{}
451451
ctrs = append(ctrs, buildSmbdCtr(planner, env, vols))
452452
if withMetricsExporter(planner.GlobalConfig) {
453-
ctrs = append(ctrs, buildSmbdMetricsCtr(planner, vols))
453+
ctrs = append(ctrs, buildSmbdMetricsCtr(planner, metaPodEnv(), vols))
454454
}
455455
return ctrs
456456
}
@@ -491,10 +491,11 @@ func buildSmbdCtr(
491491

492492
func buildSmbdMetricsCtr(
493493
planner *pln.Planner,
494+
env []corev1.EnvVar,
494495
vols []volMount) corev1.Container {
495496
// ---
496497
return buildSmbMetricsContainer(
497-
planner.GlobalConfig.SmbdMetricsContainerImage, getMounts(vols))
498+
planner.GlobalConfig.SmbdMetricsContainerImage, env, getMounts(vols))
498499
}
499500

500501
func buildWinbinddCtr(
@@ -718,9 +719,31 @@ func defaultPodEnv(planner *pln.Planner) []corev1.EnvVar {
718719
Value: lvl,
719720
})
720721
}
722+
env = append(env, metaPodEnv()...)
721723
return env
722724
}
723725

726+
func metaPodEnv() []corev1.EnvVar {
727+
return []corev1.EnvVar{
728+
{
729+
Name: "SAMBA_POD_NAME",
730+
ValueFrom: &corev1.EnvVarSource{
731+
FieldRef: &corev1.ObjectFieldSelector{
732+
FieldPath: "metadata.name",
733+
},
734+
},
735+
},
736+
{
737+
Name: "SAMBA_POD_NAMESPACE",
738+
ValueFrom: &corev1.EnvVarSource{
739+
FieldRef: &corev1.ObjectFieldSelector{
740+
FieldPath: "metadata.namespace",
741+
},
742+
},
743+
},
744+
}
745+
}
746+
724747
func defaultPodSpec(planner *pln.Planner) corev1.PodSpec {
725748
shareProcessNamespace := true
726749
return corev1.PodSpec{

0 commit comments

Comments
 (0)