in internal/manifests/collector/volume.go [16:78]
func Volumes(cfg config.Config, otelcol v1alpha1.AmazonCloudWatchAgent) []corev1.Volume {
items := []corev1.KeyToPath{
{
Key: cfg.CollectorConfigMapEntry(),
Path: cfg.CollectorConfigMapEntry(),
},
}
if otelcol.Spec.OtelConfig != "" {
items = append(items, corev1.KeyToPath{
Key: cfg.OtelCollectorConfigMapEntry(),
Path: cfg.OtelCollectorConfigMapEntry(),
})
}
volumes := []corev1.Volume{{
Name: naming.ConfigMapVolume(),
VolumeSource: corev1.VolumeSource{
ConfigMap: &corev1.ConfigMapVolumeSource{
LocalObjectReference: corev1.LocalObjectReference{Name: naming.ConfigMap(otelcol.Name)},
Items: items,
},
},
}}
if !otelcol.Spec.Prometheus.IsEmpty() {
volumes = append(volumes, corev1.Volume{
Name: naming.PrometheusConfigMapVolume(),
VolumeSource: corev1.VolumeSource{
ConfigMap: &corev1.ConfigMapVolumeSource{
LocalObjectReference: corev1.LocalObjectReference{
Name: naming.PrometheusConfigMap(otelcol.Name),
},
Items: []corev1.KeyToPath{{
Key: cfg.PrometheusConfigMapEntry(),
Path: cfg.PrometheusConfigMapEntry(),
}},
},
},
})
}
if len(otelcol.Spec.Volumes) > 0 {
volumes = append(volumes, otelcol.Spec.Volumes...)
}
if len(otelcol.Spec.ConfigMaps) > 0 {
for keyCfgMap := range otelcol.Spec.ConfigMaps {
volumes = append(volumes, corev1.Volume{
Name: naming.ConfigMapExtra(otelcol.Spec.ConfigMaps[keyCfgMap].Name),
VolumeSource: corev1.VolumeSource{
ConfigMap: &corev1.ConfigMapVolumeSource{
LocalObjectReference: corev1.LocalObjectReference{
Name: otelcol.Spec.ConfigMaps[keyCfgMap].Name,
},
},
},
})
}
}
return volumes
}