1
0
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:
Nutmos
2026-01-17 00:08:36 +08:00
committed by GitHub
parent 294f74c256
commit 8998f1f492
2 changed files with 38 additions and 0 deletions

View File

@@ -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

View File

@@ -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