summaryrefslogtreecommitdiff
path: root/source/source.go
diff options
context:
space:
mode:
Diffstat (limited to 'source/source.go')
-rw-r--r--source/source.go13
1 files changed, 9 insertions, 4 deletions
diff --git a/source/source.go b/source/source.go
index ffa380a..571abda 100644
--- a/source/source.go
+++ b/source/source.go
@@ -13,10 +13,10 @@ import (
type Kind string
const (
- // only the simple generic sources for now!
- KindStatic Kind = "static"
- KindURL Kind = "url"
- KindFile Kind = "file"
+ KindStatic Kind = "static"
+ KindURL Kind = "url"
+ KindFile Kind = "file"
+ KindICanHazIp Kind = "icanhazip"
)
type Family string
@@ -49,6 +49,11 @@ func New(log *slog.Logger, name string, cfg Config) (Source, error) {
),
)
+ if cfg.Kind == KindICanHazIp {
+ return newICanHazIp(log)
+ }
+
+ // all sources below need an explicit family
if cfg.Family != IPv4 && cfg.Family != IPv6 {
return nil, fmt.Errorf("%s source needs family set to ipv4 or ipv6", cfg.Kind)
}