Refactor: Moved all under internal.
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful

FEAT: Directadmin provider is now working
This commit is contained in:
2024-03-18 09:55:01 +13:00
parent a52034216b
commit e1bb5adf36
19 changed files with 163 additions and 73 deletions

20
main.go
View File

@@ -8,11 +8,10 @@ import (
"syscall"
"time"
"github.com/mkelcik/cloudflare-ddns-update/internal"
"github.com/mkelcik/cloudflare-ddns-update/internal/dns_providers"
"github.com/mkelcik/cloudflare-ddns-update/internal/dns_resolver"
"github.com/mkelcik/cloudflare-ddns-update/notifications"
"github.com/mkelcik/cloudflare-ddns-update/public_resolvers"
"hub.cybercinch.nz/cybercinch/ddns-update/internal"
"hub.cybercinch.nz/cybercinch/ddns-update/internal/dns_providers"
"hub.cybercinch.nz/cybercinch/ddns-update/internal/notifications"
"hub.cybercinch.nz/cybercinch/ddns-update/internal/public_resolvers"
)
type PublicIpResolver interface {
@@ -75,15 +74,18 @@ func main() {
}
for _, dnsRecord := range config.DnsRecordsToCheck {
current_dns_record := dns_resolver.ResolveHostname(dnsRecord, "1.1.1.1")
current_dns_record, err := dnsProvider.FetchRecord(dnsRecord)
if err != nil {
log.Fatalf("Failed to fetch DNS record: %s", err)
}
log.Printf("Checking record `%s` with current value `%s` ...", dnsRecord, current_dns_record.String())
if currentPublicIP.String() == current_dns_record.String() {
log.Printf("Checking record `%s` with current value `%s` ...", dnsRecord, current_dns_record)
if currentPublicIP.String() == current_dns_record {
log.Println("OK")
continue // no update needed
}
if err := dnsProvider.UpdateRecord(dnsRecord, currentPublicIP.String(), current_dns_record.String()); err != nil {
if err := dnsProvider.UpdateRecord(dnsRecord, currentPublicIP.String()); err != nil {
log.Printf("error updating dns record: %s", err)
continue
}