func ValidateWebhookConfig()

in pkg/webhook/webhook.go [132:160]


func ValidateWebhookConfig(nthConfig config.Config) error {
	if nthConfig.WebhookURL == "" {
		return nil
	}

	var webhookTemplateContent string

	if nthConfig.WebhookTemplateFile != "" {
		content, err := os.ReadFile(nthConfig.WebhookTemplateFile)
		if err != nil {
			return fmt.Errorf("Webhook Error: Could not read template file %w", err)
		}
		webhookTemplateContent = string(content)
	} else {
		webhookTemplateContent = nthConfig.WebhookTemplate
	}

	webhookTemplate, err := template.New("message").Funcs(sprig.TxtFuncMap()).Parse(webhookTemplateContent)
	if err != nil {
		return fmt.Errorf("Unable to parse webhook template: %w", err)
	}

	var byteBuffer bytes.Buffer
	err = webhookTemplate.Execute(&byteBuffer, &combinedDrainData{})
	if err != nil {
		return fmt.Errorf("Unable to execute webhook template: %w", err)
	}
	return nil
}