Skip to content

Commit

Permalink
Merge pull request #72 from SAP/exposing-metrics
Browse files Browse the repository at this point in the history
enabling monitor
  • Loading branch information
dafe-corporate-sap authored Apr 18, 2024
2 parents adcb256 + ca6561d commit 2f252aa
Show file tree
Hide file tree
Showing 10 changed files with 633 additions and 12 deletions.
16 changes: 16 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,22 @@
"--webhook-tls-directory=${workspaceFolder}/tmp/ssl",
"--zap-log-level=debug"
]
},
{
"name": "Launch test function",
"type": "go",
"request": "launch",
"mode": "test",
"program": "${workspaceFolder}/tests/e2e",
// "args": ["--ginkgo.focus-file", "e2e"],
"args": ["--ginkgo.focus", "service monitor and prometheus rule enabled"],
// "args": ["./...",],
"env": {
"E2E_ENABLED": "true" //,
// "E2E_HOSTNAME": "some address",
},
"showLog": true
}
]
}

20 changes: 20 additions & 0 deletions api/v1alpha1/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
runtime "k8s.io/apimachinery/pkg/runtime"

prometheusv1 "github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1"
"github.com/sap/component-operator-runtime/pkg/component"
componentoperatorruntimetypes "github.com/sap/component-operator-runtime/pkg/types"
)
Expand Down Expand Up @@ -41,6 +42,25 @@ type SentinelProperties struct {
type MetricsProperties struct {
Enabled bool `json:"enabled,omitempty"`
component.KubernetesContainerProperties `json:",inline"`
ServiceMonitor *MetricsServiceMonitorProperties `json:"monitor,omitempty"`
PrometheusRule *MetricsPrometheusRuleProperties `json:"prometheusRule,omitempty"`
}

type MetricsServiceMonitorProperties struct {
Enabled bool `json:"enabled,omitempty"`
Interval prometheusv1.Duration `json:"interval,omitempty"`
ScrapeTimeout prometheusv1.Duration `json:"scrapeTimeout,omitempty"`
Relabellings []*prometheusv1.RelabelConfig `json:"relabellings,omitempty"`
MetricRelabellings []*prometheusv1.RelabelConfig `json:"metricRelabelings,omitempty"`
HonorLabels bool `json:"honorLabels,omitempty"`
AdditionalLabels map[string]string `json:"additionalLabels,omitempty"`
PodTargetLabels []string `json:"podTargetLabels,omitempty"`
}

type MetricsPrometheusRuleProperties struct {
Enabled bool `json:"enabled,omitempty"`
AdditionalLabels map[string]string `json:"additionalLabels,omitempty"`
Rules []prometheusv1.Rule `json:"rules,omitempty"`
}

// TLSProperties models TLS settings of the redis services
Expand Down
89 changes: 89 additions & 0 deletions api/v1alpha1/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 2f252aa

Please sign in to comment.