Skip to content

Commit d4243b0

Browse files
committed
Update some logic
1 parent ee12056 commit d4243b0

File tree

4 files changed

+57
-42
lines changed

4 files changed

+57
-42
lines changed

internal/collector/instance.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,9 @@ func AddToPod(
4848
dir string,
4949
includeLogrotate bool,
5050
) {
51-
if !(feature.Enabled(ctx, feature.OpenTelemetryLogs) || feature.Enabled(ctx, feature.OpenTelemetryMetrics)) {
51+
if spec == nil ||
52+
!(feature.Enabled(ctx, feature.OpenTelemetryLogs) ||
53+
feature.Enabled(ctx, feature.OpenTelemetryMetrics)) {
5254
return
5355
}
5456

internal/controller/postgrescluster/instance.go

Lines changed: 30 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1168,7 +1168,7 @@ func (r *Reconciler) reconcileInstance(
11681168
)
11691169

11701170
if err == nil {
1171-
instanceConfigMap, err = r.reconcileInstanceConfigMap(ctx, cluster, spec, instance, otelConfig, backupsSpecFound)
1171+
instanceConfigMap, err = r.reconcileInstanceConfigMap(ctx, cluster, spec, instance, otelConfig)
11721172
}
11731173
if err == nil {
11741174
instanceCertificates, err = r.reconcileInstanceCertificates(
@@ -1200,27 +1200,28 @@ func (r *Reconciler) reconcileInstance(
12001200
spec, instanceCertificates, instanceConfigMap, &instance.Spec.Template)
12011201
}
12021202

1203-
if err == nil {
1203+
// If either OTel feature gates are enabled
1204+
if err == nil &&
1205+
(feature.Enabled(ctx, feature.OpenTelemetryLogs) ||
1206+
feature.Enabled(ctx, feature.OpenTelemetryMetrics)) {
1207+
{
12041208

1205-
// If OTel metrics are enabled, we'll need the MonitoringUserSecret
1206-
var password = ""
1207-
if feature.Enabled(ctx, feature.OpenTelemetryMetrics) {
1208-
monitoringUserSecret := &corev1.Secret{ObjectMeta: naming.MonitoringUserSecret(cluster)}
1209-
err = errors.WithStack(
1210-
r.Client.Get(ctx, client.ObjectKeyFromObject(monitoringUserSecret), monitoringUserSecret))
1209+
// If OTel metrics are enabled, we'll need the MonitoringUserSecret
1210+
var password = ""
1211+
if feature.Enabled(ctx, feature.OpenTelemetryMetrics) {
1212+
monitoringUserSecret := &corev1.Secret{ObjectMeta: naming.MonitoringUserSecret(cluster)}
1213+
err = errors.WithStack(
1214+
r.Client.Get(ctx, client.ObjectKeyFromObject(monitoringUserSecret), monitoringUserSecret))
12111215

1212-
if err == nil {
1213-
password = string(monitoringUserSecret.Data["password"])
1216+
if err == nil {
1217+
password = string(monitoringUserSecret.Data["password"])
1218+
}
12141219
}
1215-
}
12161220

1217-
// FIXME: is this bool really asking for a backup vol?
1218-
var logrotate = false
1219-
if backupsSpecFound {
1220-
logrotate = true
1221-
}
1222-
1223-
if feature.Enabled(ctx, feature.OpenTelemetryLogs) || feature.Enabled(ctx, feature.OpenTelemetryMetrics) {
1221+
var logrotate = false
1222+
if pgbackrest.RepoHostVolumeDefined(cluster) {
1223+
logrotate = true
1224+
}
12241225

12251226
// TODO: Add postgres/patroni dir if we want that.
12261227
collector.AddToPod(ctx, cluster.Spec.Instrumentation, cluster.Spec.ImagePullPolicy,
@@ -1411,7 +1412,7 @@ func addPGBackRestToInstancePodSpec(
14111412
// files (etc) that apply to instance of cluster.
14121413
func (r *Reconciler) reconcileInstanceConfigMap(
14131414
ctx context.Context, cluster *v1beta1.PostgresCluster, spec *v1beta1.PostgresInstanceSetSpec,
1414-
instance *appsv1.StatefulSet, otelConfig *collector.Config, backupSpecFound bool,
1415+
instance *appsv1.StatefulSet, otelConfig *collector.Config,
14151416
) (*corev1.ConfigMap, error) {
14161417
instanceConfigMap := &corev1.ConfigMap{ObjectMeta: naming.InstanceConfigMap(instance)}
14171418
instanceConfigMap.SetGroupVersionKind(corev1.SchemeGroupVersion.WithKind("ConfigMap"))
@@ -1432,12 +1433,18 @@ func (r *Reconciler) reconcileInstanceConfigMap(
14321433
})
14331434

14341435
// If OTel logging or metrics is enabled, add collector config
1435-
if err == nil && (feature.Enabled(ctx, feature.OpenTelemetryLogs) || feature.Enabled(ctx, feature.OpenTelemetryMetrics)) {
1436+
if err == nil &&
1437+
(feature.Enabled(ctx, feature.OpenTelemetryLogs) ||
1438+
feature.Enabled(ctx, feature.OpenTelemetryMetrics)) {
14361439
err = collector.AddToConfigMap(ctx, otelConfig, instanceConfigMap)
14371440

1438-
// Add pgbackrest logrotate if OpenTelemetryLogs is enabled and backupSpecFound
1439-
if err == nil && feature.Enabled(ctx, feature.OpenTelemetryLogs) &&
1440-
backupSpecFound && cluster.Spec.Instrumentation != nil {
1441+
// Add pgbackrest logrotate if OpenTelemetryLogs is enabled and
1442+
// local volumes are available
1443+
if err == nil &&
1444+
feature.Enabled(ctx, feature.OpenTelemetryLogs) &&
1445+
pgbackrest.RepoHostVolumeDefined(cluster) &&
1446+
cluster.Spec.Instrumentation != nil {
1447+
14411448
err = collector.AddLogrotateConfig(ctx, cluster.Spec.Instrumentation,
14421449
instanceConfigMap, naming.PGBackRestPGDataLogPath+"/*.log", "")
14431450
}

internal/controller/postgrescluster/pgbouncer.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,8 @@ func (r *Reconciler) reconcilePGBouncerConfigMap(
100100
}
101101
// If OTel logging or metrics is enabled, add collector config
102102
if otelConfig != nil &&
103-
(feature.Enabled(ctx, feature.OpenTelemetryLogs) || feature.Enabled(ctx, feature.OpenTelemetryMetrics)) {
103+
(feature.Enabled(ctx, feature.OpenTelemetryLogs) ||
104+
feature.Enabled(ctx, feature.OpenTelemetryMetrics)) {
104105
err = collector.AddToConfigMap(ctx, otelConfig, configmap)
105106
}
106107
// If OTel logging is enabled, add logrotate config

internal/pgbackrest/config.go

Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -130,25 +130,30 @@ func CreatePGBackRestConfigMapIntent(ctx context.Context, postgresCluster *v1bet
130130
postgresCluster.Spec.Backups.PGBackRest.Global,
131131
).String()
132132

133-
err = collector.AddToConfigMap(ctx, collector.NewConfigForPgBackrestRepoHostPod(
134-
ctx,
135-
postgresCluster.Spec.Instrumentation,
136-
postgresCluster.Spec.Backups.PGBackRest.Repos,
137-
), cm)
138-
139-
// If OTel logging is enabled, add logrotate config for the RepoHost
140-
if err == nil &&
141-
postgresCluster.Spec.Instrumentation != nil &&
142-
feature.Enabled(ctx, feature.OpenTelemetryLogs) {
143-
var pgBackRestLogPath string
144-
for _, repo := range postgresCluster.Spec.Backups.PGBackRest.Repos {
145-
if repo.Volume != nil {
146-
pgBackRestLogPath = fmt.Sprintf(naming.PGBackRestRepoLogPath, repo.Name)
147-
break
133+
if RepoHostVolumeDefined(postgresCluster) &&
134+
(feature.Enabled(ctx, feature.OpenTelemetryLogs) ||
135+
feature.Enabled(ctx, feature.OpenTelemetryMetrics)) {
136+
err = collector.AddToConfigMap(ctx, collector.NewConfigForPgBackrestRepoHostPod(
137+
ctx,
138+
postgresCluster.Spec.Instrumentation,
139+
postgresCluster.Spec.Backups.PGBackRest.Repos,
140+
), cm)
141+
142+
// If OTel logging is enabled, add logrotate config for the RepoHost
143+
if err == nil &&
144+
postgresCluster.Spec.Instrumentation != nil &&
145+
feature.Enabled(ctx, feature.OpenTelemetryLogs) {
146+
var pgBackRestLogPath string
147+
fmt.Println("shouldn't be here?")
148+
for _, repo := range postgresCluster.Spec.Backups.PGBackRest.Repos {
149+
if repo.Volume != nil {
150+
pgBackRestLogPath = fmt.Sprintf(naming.PGBackRestRepoLogPath, repo.Name)
151+
break
152+
}
148153
}
154+
err = collector.AddLogrotateConfig(ctx, postgresCluster.Spec.Instrumentation, cm,
155+
pgBackRestLogPath+"/*.log", "")
149156
}
150-
err = collector.AddLogrotateConfig(ctx, postgresCluster.Spec.Instrumentation, cm,
151-
pgBackRestLogPath+"/*.log", "")
152157
}
153158
}
154159

0 commit comments

Comments
 (0)