mirror of
https://github.com/coreos/prometheus-operator.git
synced 2026-02-05 06:45:27 +01:00
Merge pull request #8020 from nutmos/feat/add-globalconfig-victorops-validation
Feat: add globalconfig VictorOps validation
This commit is contained in:
@@ -3175,6 +3175,10 @@ func (cb *ConfigBuilder) checkAlertmanagerGlobalConfigResource(
|
||||
return err
|
||||
}
|
||||
|
||||
if err := cb.checkGlobalVictorOpsConfig(ctx, gc.VictorOpsConfig, namespace); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := cb.checkGlobalWebexConfig(gc.WebexConfig); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -3210,6 +3214,24 @@ func (cb *ConfigBuilder) checkGlobalJiraConfig(jc *monitoringv1.GlobalJiraConfig
|
||||
return nil
|
||||
}
|
||||
|
||||
func (cb *ConfigBuilder) checkGlobalVictorOpsConfig(
|
||||
ctx context.Context,
|
||||
vc *monitoringv1.GlobalVictorOpsConfig,
|
||||
namespace string,
|
||||
) error {
|
||||
if vc == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
if vc.APIKey != nil {
|
||||
if _, err := cb.store.GetSecretKey(ctx, namespace, *vc.APIKey); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (cb *ConfigBuilder) checkGlobalWebexConfig(wc *monitoringv1.GlobalWebexConfig) error {
|
||||
if wc == nil {
|
||||
return nil
|
||||
|
||||
@@ -42,6 +42,10 @@ func ValidateAlertmanagerGlobalConfig(gc *monitoringv1.AlertmanagerGlobalConfig)
|
||||
return fmt.Errorf("webex: %w", err)
|
||||
}
|
||||
|
||||
if err := validateGlobalVictorOpsConfig(gc.VictorOpsConfig); err != nil {
|
||||
return fmt.Errorf("victorops: %w", err)
|
||||
}
|
||||
|
||||
if err := validateGlobalWeChatConfig(gc.WeChatConfig); err != nil {
|
||||
return fmt.Errorf("wechatConfig: %w", err)
|
||||
}
|
||||
@@ -73,6 +77,18 @@ func validateGlobalJiraConfig(jc *monitoringv1.GlobalJiraConfig) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func validateGlobalVictorOpsConfig(vc *monitoringv1.GlobalVictorOpsConfig) error {
|
||||
if vc == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := validation.ValidateURLPtr((*string)(vc.APIURL)); err != nil {
|
||||
return fmt.Errorf("invalid apiURL: %w", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func validateGlobalWebexConfig(wc *monitoringv1.GlobalWebexConfig) error {
|
||||
if wc == nil {
|
||||
return nil
|
||||
|
||||
Reference in New Issue
Block a user