Skip to content

Commit

Permalink
feat: boilerplate for implementing datadog provider implemented
Browse files Browse the repository at this point in the history
Signed-off-by: Sudipto Baral <[email protected]>
  • Loading branch information
sudiptob2 committed Mar 1, 2023
1 parent 91e57ca commit e430569
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 0 deletions.
1 change: 1 addition & 0 deletions metrics-operator/controllers/common/providers/common.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@ package providers
const DynatraceProviderName = "dynatrace"
const DynatraceDQLProviderName = "dql"
const PrometheusProviderName = "prometheus"
const DataDogProviderName = "datadog"
22 changes: 22 additions & 0 deletions metrics-operator/controllers/common/providers/datadog/datadog.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package datadog

import (
"context"
"github.com/go-logr/logr"
metricsapi "github.com/keptn/lifecycle-toolkit/metrics-operator/api/v1alpha2"
//nolint:gci
"net/http" //nolint:gci
"sigs.k8s.io/controller-runtime/pkg/client"
)

type KeptnDataDogProvider struct {
Log logr.Logger
HttpClient http.Client
K8sClient client.Client
}

// EvaluateQuery fetches the SLI values from datadog provider
func (r *KeptnDataDogProvider) EvaluateQuery(ctx context.Context, metric metricsapi.KeptnMetric, provider metricsapi.KeptnMetricsProvider) (string, []byte, error) {
//TODO implement me
panic("implement me")
}
6 changes: 6 additions & 0 deletions metrics-operator/controllers/common/providers/provider.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import (

"github.com/go-logr/logr"
metricsapi "github.com/keptn/lifecycle-toolkit/metrics-operator/api/v1alpha2"
"github.com/keptn/lifecycle-toolkit/metrics-operator/controllers/common/providers/datadog"
"github.com/keptn/lifecycle-toolkit/metrics-operator/controllers/common/providers/dynatrace"
"github.com/keptn/lifecycle-toolkit/metrics-operator/controllers/common/providers/prometheus"
"sigs.k8s.io/controller-runtime/pkg/client"
Expand Down Expand Up @@ -37,6 +38,11 @@ func NewProvider(provider string, log logr.Logger, k8sClient client.Client) (Kep
k8sClient,
dynatrace.WithLogger(log),
), nil
case DataDogProviderName:
return &datadog.KeptnDataDogProvider{
Log: log,
HttpClient: http.Client{},
}, nil
default:
return nil, fmt.Errorf("provider %s not supported", provider)
}
Expand Down

0 comments on commit e430569

Please sign in to comment.