1
0
mirror of https://github.com/coreos/prometheus-operator.git synced 2026-02-05 06:45:27 +01:00

Merge pull request #8265 from nutmos/feat/add-global-jira-validation

Feat: add globalconfig Jira validations
This commit is contained in:
Nutmos
2026-01-15 23:55:34 +08:00
committed by GitHub
parent 3c74a00573
commit 31adea6fff
2 changed files with 32 additions and 4 deletions

View File

@@ -1920,10 +1920,6 @@ func (cb *ConfigBuilder) convertGlobalJiraConfig(out *globalConfig, in *monitori
return nil
}
if cb.amVersion.LT(semver.MustParse("0.28.0")) {
return errors.New("jira integration requires Alertmanager >= 0.28.0")
}
if in.APIURL != nil {
u, err := url.Parse(string(*in.APIURL))
if err != nil {
@@ -3175,6 +3171,10 @@ func (cb *ConfigBuilder) checkAlertmanagerGlobalConfigResource(
return err
}
if err := cb.checkGlobalJiraConfig(gc.JiraConfig); err != nil {
return err
}
if err := cb.checkGlobalWebexConfig(gc.WebexConfig); err != nil {
return err
}
@@ -3198,6 +3198,18 @@ func (cb *ConfigBuilder) checkGlobalTelegramConfig(tc *monitoringv1.GlobalTelegr
return nil
}
func (cb *ConfigBuilder) checkGlobalJiraConfig(jc *monitoringv1.GlobalJiraConfig) error {
if jc == nil {
return nil
}
if cb.amVersion.LT(semver.MustParse("0.28.0")) {
return fmt.Errorf(`'jira' integration requires Alertmanager >= 0.28.0 - current %s`, cb.amVersion)
}
return nil
}
func (cb *ConfigBuilder) checkGlobalWebexConfig(wc *monitoringv1.GlobalWebexConfig) error {
if wc == nil {
return nil

View File

@@ -34,6 +34,10 @@ func ValidateAlertmanagerGlobalConfig(gc *monitoringv1.AlertmanagerGlobalConfig)
return fmt.Errorf("telegram: %w", err)
}
if err := validateGlobalJiraConfig(gc.JiraConfig); err != nil {
return fmt.Errorf("jira: %w", err)
}
if err := validateGlobalWebexConfig(gc.WebexConfig); err != nil {
return fmt.Errorf("webex: %w", err)
}
@@ -57,6 +61,18 @@ func validatingTelegramConfig(tc *monitoringv1.GlobalTelegramConfig) error {
return nil
}
func validateGlobalJiraConfig(jc *monitoringv1.GlobalJiraConfig) error {
if jc == nil {
return nil
}
if err := validation.ValidateURLPtr((*string)(jc.APIURL)); err != nil {
return fmt.Errorf("invalid apiURL: %w", err)
}
return nil
}
func validateGlobalWebexConfig(wc *monitoringv1.GlobalWebexConfig) error {
if wc == nil {
return nil