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:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user