From a175f5d5697d94cbf3ad5570ce0e74a2ef1edd7a Mon Sep 17 00:00:00 2001 From: Timmy Welch Date: Wed, 6 Jul 2022 19:49:07 -0700 Subject: [PATCH] Rename module --- .pre-commit-config.yaml | 18 ++++++++++++++++++ Dockerfile | 7 +++---- cmd/{cloud-dyndns-client => godyn}/main.go | 15 +++++++++------ go.mod | 20 ++++++++++++++++++-- pkg/backend/gcp/backend.go | 2 +- pkg/sync/ipaddress.go | 6 ------ pkg/sync/sync.go | 2 +- 7 files changed, 50 insertions(+), 20 deletions(-) create mode 100644 .pre-commit-config.yaml rename cmd/{cloud-dyndns-client => godyn}/main.go (96%) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..43ef00a --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,18 @@ +repos: +- repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.2.0 + hooks: + - id: trailing-whitespace + args: [--markdown-linebreak-ext=.gitignore] + - id: end-of-file-fixer + - id: check-yaml +- repo: https://github.com/tekwizely/pre-commit-golang + rev: v1.0.0-beta.5 + hooks: + - id: go-mod-tidy + - id: go-imports + args: [-w] +- repo: https://github.com/golangci/golangci-lint + rev: v1.46.2 + hooks: + - id: golangci-lint diff --git a/Dockerfile b/Dockerfile index 5efc914..bc28a53 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,12 +9,11 @@ WORKDIR /app COPY go.mod ./ COPY go.sum ./ -COPY go-external-ip ./ RUN go mod download COPY . ./ -RUN go build ./cmd/cloud-dyndns-client +RUN go build ./cmd/godyn ## ## Deploy @@ -24,8 +23,8 @@ FROM gcr.io/distroless/base-debian10 WORKDIR / -COPY --from=build /app/cloud-dyndns-client /cloud-dyndns-client +COPY --from=build /app/godyn /godyn USER nonroot:nonroot -ENTRYPOINT ["/cloud-dyndns-client"] +ENTRYPOINT ["/godyn"] diff --git a/cmd/cloud-dyndns-client/main.go b/cmd/godyn/main.go similarity index 96% rename from cmd/cloud-dyndns-client/main.go rename to cmd/godyn/main.go index ed0075a..244a486 100644 --- a/cmd/cloud-dyndns-client/main.go +++ b/cmd/godyn/main.go @@ -30,9 +30,9 @@ import ( "golang.org/x/sync/errgroup" - "github.com/lordwelch/godyn/pkg/backend" - "github.com/lordwelch/godyn/pkg/backend/gcp" - "github.com/lordwelch/godyn/pkg/sync" + "git.narnian.us/lordwelch/godyn/pkg/backend" + "git.narnian.us/lordwelch/godyn/pkg/backend/gcp" + "git.narnian.us/lordwelch/godyn/pkg/sync" ) // VERSION is the current version of the application. @@ -213,12 +213,15 @@ func main() { log.Printf("Updating IPv4 to %v", ip) for _, r := range records { if r.Record.Type() == "A" { - syncer.UpdateRecord( + err := syncer.UpdateRecord( r.Record.Name(), r.Record.Type(), r.Record.Ttl(), []string{ip}, ) + if err != nil { + log.Println(err) + } } } case ip := <-ip6c: @@ -232,7 +235,7 @@ func main() { []string{ip}, ) if err != nil { - fmt.Fprintln(os.Stderr, err) + log.Println(err) } } } @@ -249,7 +252,7 @@ func main() { // shutdown the http server. mux := http.NewServeMux() mux.HandleFunc("/_status/healthz", func(w http.ResponseWriter, r *http.Request) { - w.Write([]byte("OK")) + _, _ = w.Write([]byte("OK")) }) srv := &http.Server{ diff --git a/go.mod b/go.mod index 05f9153..c347bfc 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ -module github.com/lordwelch/godyn +module git.narnian.us/lordwelch/godyn -go 1.16 +go 1.18 require ( git.narnian.us/lordwelch/externalip v1.0.0 @@ -8,3 +8,19 @@ require ( golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac google.golang.org/api v0.52.0 ) + +require ( + cloud.google.com/go v0.88.0 // indirect + github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e // indirect + github.com/golang/protobuf v1.5.2 // indirect + github.com/googleapis/gax-go/v2 v2.0.5 // indirect + go.opencensus.io v0.23.0 // indirect + golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420 // indirect + golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914 // indirect + golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c // indirect + golang.org/x/text v0.3.6 // indirect + google.golang.org/appengine v1.6.7 // indirect + google.golang.org/genproto v0.0.0-20210722135532-667f2b7c528f // indirect + google.golang.org/grpc v1.39.0 // indirect + google.golang.org/protobuf v1.27.1 // indirect +) diff --git a/pkg/backend/gcp/backend.go b/pkg/backend/gcp/backend.go index 89c3bb4..3d63d7c 100644 --- a/pkg/backend/gcp/backend.go +++ b/pkg/backend/gcp/backend.go @@ -23,7 +23,7 @@ import ( "golang.org/x/time/rate" dns "google.golang.org/api/dns/v1" - "github.com/lordwelch/godyn/pkg/backend" + "git.narnian.us/lordwelch/godyn/pkg/backend" ) type cloudDNSRecord struct { diff --git a/pkg/sync/ipaddress.go b/pkg/sync/ipaddress.go index 8a69719..133e156 100644 --- a/pkg/sync/ipaddress.go +++ b/pkg/sync/ipaddress.go @@ -30,12 +30,6 @@ const ( IP6 IPType = 6 ) -var webCheck = []string{ - "http://checkip.dyndns.org/", - "http://ipdetect.dnspark.com/", - "http://dns.loopia.se/checkip/checkip.php", -} - // IPAddressPoller is a poller used to check the value // of the current public internet IP address. type IPAddressPoller struct { diff --git a/pkg/sync/sync.go b/pkg/sync/sync.go index 1eedb26..7192f76 100644 --- a/pkg/sync/sync.go +++ b/pkg/sync/sync.go @@ -23,7 +23,7 @@ import ( "sync" "time" - "github.com/lordwelch/godyn/pkg/backend" + "git.narnian.us/lordwelch/godyn/pkg/backend" ) type Record struct {