mirror of
https://github.com/fluxcd/flagger.git
synced 2026-03-02 17:51:00 +00:00
Merge pull request #1874 from mtfurlan/fix/mesh-router-warn-unknown
warn when mesh provider isn't valid
This commit is contained in:
@@ -93,6 +93,7 @@ func (factory *Factory) Controller(obj v1beta1.LocalObjectReference) Controller
|
||||
return serviceCtrl
|
||||
}
|
||||
default:
|
||||
factory.logger.Warnf("unknown canary target '%s', assuming deployment", obj.Kind)
|
||||
return deploymentCtrl
|
||||
}
|
||||
}
|
||||
@@ -118,6 +119,7 @@ func (factory *Factory) ScalerReconciler(kind string) ScalerReconciler {
|
||||
case "ScaledObject":
|
||||
return soReconciler
|
||||
default:
|
||||
factory.logger.Errorf("unknown hpa kind '%s'")
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
@@ -74,7 +74,7 @@ func (c *Controller) checkMetricProviderAvailability(canary *flaggerv1.Canary) e
|
||||
credentials = secret.Data
|
||||
}
|
||||
|
||||
factory := providers.Factory{}
|
||||
factory := providers.NewFactory(c.logger)
|
||||
provider, err := factory.Provider(metric.Interval, template.Spec.Provider, credentials, c.kubeConfig)
|
||||
if err != nil {
|
||||
return fmt.Errorf("metric template %s.%s provider %s error: %v",
|
||||
@@ -292,7 +292,7 @@ func (c *Controller) runMetricChecks(canary *flaggerv1.Canary) bool {
|
||||
credentials = secret.Data
|
||||
}
|
||||
|
||||
factory := providers.Factory{}
|
||||
factory := providers.NewFactory(c.logger)
|
||||
provider, err := factory.Provider(metric.Interval, template.Spec.Provider, credentials, c.kubeConfig)
|
||||
if err != nil {
|
||||
c.recordEventErrorf(canary, "Metric template %s.%s provider %s error: %v",
|
||||
|
||||
@@ -18,10 +18,19 @@ package providers
|
||||
|
||||
import (
|
||||
flaggerv1 "github.com/fluxcd/flagger/pkg/apis/flagger/v1beta1"
|
||||
"go.uber.org/zap"
|
||||
rest "k8s.io/client-go/rest"
|
||||
)
|
||||
|
||||
type Factory struct{}
|
||||
type Factory struct {
|
||||
logger *zap.SugaredLogger
|
||||
}
|
||||
|
||||
func NewFactory(logger *zap.SugaredLogger) *Factory {
|
||||
return &Factory{
|
||||
logger: logger,
|
||||
}
|
||||
}
|
||||
|
||||
func (factory Factory) Provider(metricInterval string, provider flaggerv1.MetricTemplateProvider, credentials map[string][]byte, config *rest.Config) (Interface, error) {
|
||||
switch provider.Type {
|
||||
@@ -46,6 +55,7 @@ func (factory Factory) Provider(metricInterval string, provider flaggerv1.Metric
|
||||
case "splunk":
|
||||
return NewSplunkProvider(metricInterval, provider, credentials)
|
||||
default:
|
||||
factory.logger.Warnf("unknown metrics provider '%s', using prometheus", provider.Type)
|
||||
return NewPrometheusProvider(provider, credentials)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -224,6 +224,7 @@ func (factory *Factory) MeshRouter(provider string, labelSelector string) Interf
|
||||
case provider == flaggerv1.KubernetesProvider:
|
||||
return &NopRouter{}
|
||||
default:
|
||||
factory.logger.Warnf("unknown mesh router provider '%s', using istio", provider)
|
||||
return &IstioRouter{
|
||||
logger: factory.logger,
|
||||
flaggerClient: factory.flaggerClient,
|
||||
|
||||
Reference in New Issue
Block a user