Skip to content

Commit

Permalink
Adapt blackbox-exporter
Browse files Browse the repository at this point in the history
  • Loading branch information
rfranzke committed May 11, 2024
1 parent 61ab357 commit 40bbe80
Show file tree
Hide file tree
Showing 16 changed files with 363 additions and 390 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import (
"time"

"github.com/Masterminds/semver/v3"
monitoringv1 "github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1"
monitoringv1alpha1 "github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1alpha1"
blackboxexporterconfig "github.com/prometheus/blackbox_exporter/config"
"gopkg.in/yaml.v3"
Expand All @@ -33,6 +34,7 @@ import (
"github.com/gardener/gardener/pkg/component"
gardenprometheus "github.com/gardener/gardener/pkg/component/observability/monitoring/prometheus/garden"
shootprometheus "github.com/gardener/gardener/pkg/component/observability/monitoring/prometheus/shoot"
"github.com/gardener/gardener/pkg/controllerutils"
"github.com/gardener/gardener/pkg/resourcemanager/controller/garbagecollector/references"
"github.com/gardener/gardener/pkg/utils"
gardenerutils "github.com/gardener/gardener/pkg/utils/gardener"
Expand All @@ -59,12 +61,6 @@ const (
port int32 = 9115
)

// Interface contains functions for a blackbox-exporter deployer.
type Interface interface {
component.DeployWaiter
component.MonitoringComponent
}

// Values is a set of configuration values for the blackbox-exporter.
type Values struct {
// Image is the container image used for blackbox-exporter.
Expand All @@ -81,6 +77,8 @@ type Values struct {
Config blackboxexporterconfig.Config
// ScrapeConfigs is a list of scrape configs for the blackbox exporter.
ScrapeConfigs []*monitoringv1alpha1.ScrapeConfig
// PrometheusRules is a list of PrometheusRules for the blackbox exporter.
PrometheusRules []*monitoringv1.PrometheusRule
// PodLabels are additional labels for the pod.
PodLabels map[string]string
// PriorityClassName is the name of the priority class.
Expand All @@ -95,7 +93,7 @@ func New(
secretsManager secretsmanager.Interface,
namespace string,
values Values,
) Interface {
) component.DeployWaiter {
return &blackboxExporter{
client: client,
secretsManager: secretsManager,
Expand All @@ -120,6 +118,19 @@ func (b *blackboxExporter) Deploy(ctx context.Context) error {
if b.values.ClusterType == component.ClusterTypeSeed {
return managedresources.CreateForSeedWithLabels(ctx, b.client, b.namespace, b.managedResourceName(), false, map[string]string{v1beta1constants.LabelCareConditionType: v1beta1constants.ObservabilityComponentsHealthy}, data)
}

for _, scrapeConfig := range b.values.ScrapeConfigs {
if _, err := controllerutils.GetAndCreateOrMergePatch(ctx, b.client, scrapeConfig, func() error { return nil }); err != nil {
return err
}
}

for _, prometheusRule := range b.values.PrometheusRules {
if _, err := controllerutils.GetAndCreateOrMergePatch(ctx, b.client, prometheusRule, func() error { return nil }); err != nil {
return err
}
}

return managedresources.CreateForShoot(ctx, b.client, b.namespace, b.managedResourceName(), managedresources.LabelValueGardener, false, data)
}

Expand Down Expand Up @@ -368,9 +379,17 @@ func (b *blackboxExporter) computeResourcesData() (map[string][]byte, error) {
}
}

for _, scrapeConfig := range b.values.ScrapeConfigs {
if err := registry.Add(scrapeConfig); err != nil {
return nil, err
if b.values.ClusterType == component.ClusterTypeSeed {
for _, scrapeConfig := range b.values.ScrapeConfigs {
if err := registry.Add(scrapeConfig); err != nil {
return nil, err
}
}

for _, prometheusRule := range b.values.PrometheusRules {
if err := registry.Add(prometheusRule); err != nil {
return nil, err
}
}
}

Expand Down

This file was deleted.

126 changes: 0 additions & 126 deletions pkg/component/observability/monitoring/blackboxexporter/mock/mocks.go

This file was deleted.

119 changes: 0 additions & 119 deletions pkg/component/observability/monitoring/blackboxexporter/monitoring.go

This file was deleted.

Loading

0 comments on commit 40bbe80

Please sign in to comment.