mirror of
https://github.com/h44z/wg-portal.git
synced 2025-09-15 07:11:15 +00:00
add simple webhook feature for peer, interface and user events (#398)
This commit is contained in:
@@ -62,6 +62,8 @@ type Config struct {
|
||||
Database DatabaseConfig `yaml:"database"`
|
||||
|
||||
Web WebConfig `yaml:"web"`
|
||||
|
||||
Webhook WebhookConfig `yaml:"webhook"`
|
||||
}
|
||||
|
||||
// LogStartupValues logs the startup values of the configuration in debug level
|
||||
@@ -158,6 +160,10 @@ func defaultConfig() *Config {
|
||||
LinkOnly: false,
|
||||
}
|
||||
|
||||
cfg.Webhook.Url = "" // no webhook by default
|
||||
cfg.Webhook.Authentication = ""
|
||||
cfg.Webhook.Timeout = 10 * time.Second
|
||||
|
||||
return cfg
|
||||
}
|
||||
|
||||
|
14
internal/config/webhook.go
Normal file
14
internal/config/webhook.go
Normal file
@@ -0,0 +1,14 @@
|
||||
package config
|
||||
|
||||
import "time"
|
||||
|
||||
// WebhookConfig contains the configuration for webhooks.
|
||||
type WebhookConfig struct {
|
||||
// Url is the URL to send the webhook to. If empty, no webhook will be sent.
|
||||
Url string `yaml:"url"`
|
||||
// Authentication is the authorization header for the webhook request.
|
||||
// It can either be a Bearer token or a Basic auth string.
|
||||
Authentication string `yaml:"authentication"`
|
||||
// Timeout is the timeout for the webhook request.
|
||||
Timeout time.Duration `yaml:"timeout"`
|
||||
}
|
Reference in New Issue
Block a user