@@ -24,6 +24,7 @@ import (
2424 "sigs.k8s.io/controller-runtime/pkg/client"
2525 "sigs.k8s.io/controller-runtime/pkg/reconcile"
2626
27+ "github.com/crunchydata/postgres-operator/internal/collector"
2728 "github.com/crunchydata/postgres-operator/internal/config"
2829 "github.com/crunchydata/postgres-operator/internal/controller/runtime"
2930 "github.com/crunchydata/postgres-operator/internal/feature"
@@ -591,6 +592,7 @@ func (r *Reconciler) reconcileInstanceSets(
591592 clusterVolumes []* corev1.PersistentVolumeClaim ,
592593 exporterQueriesConfig , exporterWebConfig * corev1.ConfigMap ,
593594 backupsSpecFound bool ,
595+ otelConfig * collector.Config ,
594596) error {
595597
596598 // Go through the observed instances and check if a primary has been determined.
@@ -628,7 +630,7 @@ func (r *Reconciler) reconcileInstanceSets(
628630 patroniLeaderService , primaryCertificate ,
629631 findAvailableInstanceNames (* set , instances , clusterVolumes ),
630632 numInstancePods , clusterVolumes , exporterQueriesConfig , exporterWebConfig ,
631- backupsSpecFound ,
633+ backupsSpecFound , otelConfig ,
632634 )
633635
634636 if err == nil {
@@ -1063,6 +1065,7 @@ func (r *Reconciler) scaleUpInstances(
10631065 clusterVolumes []* corev1.PersistentVolumeClaim ,
10641066 exporterQueriesConfig , exporterWebConfig * corev1.ConfigMap ,
10651067 backupsSpecFound bool ,
1068+ otelConfig * collector.Config ,
10661069) ([]* appsv1.StatefulSet , error ) {
10671070 log := logging .FromContext (ctx )
10681071
@@ -1109,7 +1112,7 @@ func (r *Reconciler) scaleUpInstances(
11091112 rootCA , clusterPodService , instanceServiceAccount ,
11101113 patroniLeaderService , primaryCertificate , instances [i ],
11111114 numInstancePods , clusterVolumes , exporterQueriesConfig , exporterWebConfig ,
1112- backupsSpecFound ,
1115+ backupsSpecFound , otelConfig ,
11131116 )
11141117 }
11151118 if err == nil {
@@ -1140,6 +1143,7 @@ func (r *Reconciler) reconcileInstance(
11401143 clusterVolumes []* corev1.PersistentVolumeClaim ,
11411144 exporterQueriesConfig , exporterWebConfig * corev1.ConfigMap ,
11421145 backupsSpecFound bool ,
1146+ otelConfig * collector.Config ,
11431147) error {
11441148 log := logging .FromContext (ctx ).WithValues ("instance" , instance .Name )
11451149 ctx = logging .NewContext (ctx , log )
@@ -1164,7 +1168,7 @@ func (r *Reconciler) reconcileInstance(
11641168 )
11651169
11661170 if err == nil {
1167- instanceConfigMap , err = r .reconcileInstanceConfigMap (ctx , cluster , spec , instance )
1171+ instanceConfigMap , err = r .reconcileInstanceConfigMap (ctx , cluster , spec , instance , otelConfig )
11681172 }
11691173 if err == nil {
11701174 instanceCertificates , err = r .reconcileInstanceCertificates (
@@ -1196,6 +1200,10 @@ func (r *Reconciler) reconcileInstance(
11961200 spec , instanceCertificates , instanceConfigMap , & instance .Spec .Template )
11971201 }
11981202
1203+ if err == nil && feature .Enabled (ctx , feature .OpenTelemetryMetrics ) {
1204+ collector .AddToPod (ctx , cluster , instanceConfigMap , & instance .Spec .Template .Spec , nil )
1205+ }
1206+
11991207 // Add pgMonitor resources to the instance Pod spec
12001208 if err == nil {
12011209 err = addPGMonitorToInstancePodSpec (ctx , cluster , & instance .Spec .Template , exporterQueriesConfig , exporterWebConfig )
@@ -1377,7 +1385,7 @@ func addPGBackRestToInstancePodSpec(
13771385// files (etc) that apply to instance of cluster.
13781386func (r * Reconciler ) reconcileInstanceConfigMap (
13791387 ctx context.Context , cluster * v1beta1.PostgresCluster , spec * v1beta1.PostgresInstanceSetSpec ,
1380- instance * appsv1.StatefulSet ,
1388+ instance * appsv1.StatefulSet , otelConfig * collector. Config ,
13811389) (* corev1.ConfigMap , error ) {
13821390 instanceConfigMap := & corev1.ConfigMap {ObjectMeta : naming .InstanceConfigMap (instance )}
13831391 instanceConfigMap .SetGroupVersionKind (corev1 .SchemeGroupVersion .WithKind ("ConfigMap" ))
@@ -1397,6 +1405,9 @@ func (r *Reconciler) reconcileInstanceConfigMap(
13971405 naming .LabelInstance : instance .Name ,
13981406 })
13991407
1408+ if err == nil && feature .Enabled (ctx , feature .OpenTelemetryMetrics ) {
1409+ err = collector .AddToConfigMap (ctx , otelConfig , instanceConfigMap )
1410+ }
14001411 if err == nil {
14011412 err = patroni .InstanceConfigMap (ctx , cluster , spec , instanceConfigMap )
14021413 }
0 commit comments