diff --git a/integrations/promunifi/Makefile b/integrations/promunifi/Makefile index 613e92e0..7c07f0ab 100644 --- a/integrations/promunifi/Makefile +++ b/integrations/promunifi/Makefile @@ -4,15 +4,17 @@ BINARY:=unifi-poller URL:=https://github.com/davidnewhall/$(BINARY) MAINT=David Newhall II -DESC=This daemon polls a Unifi controller at a short interval and stores the collected metric data in an Influx Database. +DESC=This daemon polls a Unifi controller at a short interval and stores the collected measurements in an Influx Database. +OSX_PKG_PREFIX=com.github.davidnewhall +GOLANGCI_LINT_ARGS=--enable-all -D gochecknoglobals PACKAGE:=./cmd/$(BINARY) +LIBRARY:=./pkg/$(BINARY) + +ITERATION:=$(shell git rev-list --count HEAD||echo 0) ifeq ($(VERSION),) VERSION:=$(shell git tag -l --merged | tail -n1 | tr -d v||echo development) endif -ITERATION:=$(shell git rev-list --count HEAD||echo 0) -OSX_PKG_PREFIX=com.github.davidnewhall -GOLANGCI_LINT_ARGS=--enable-all -D gochecknoglobals - +# rpm is wierd and changes - to _ in versions. RPMVERSION:=$(shell echo $(VERSION) | tr -- - _) all: man build @@ -60,17 +62,17 @@ README.html: md2roff build: $(BINARY) $(BINARY): - go build -o $(BINARY) -ldflags "-w -s -X main.Version=$(VERSION)" $(PACKAGE) + go build -o $(BINARY) -ldflags "-w -s -X github.com/davidnewhall/unifi-poller/pkg/unifi-poller.Version=$(VERSION)" $(PACKAGE) linux: $(BINARY).linux $(BINARY).linux: # Building linux binary. - GOOS=linux go build -o $(BINARY).linux -ldflags "-w -s -X main.Version=$(VERSION)" $(PACKAGE) + GOOS=linux go build -o $(BINARY).linux -ldflags "-w -s -X github.com/davidnewhall/unifi-poller/pkg/unifi-poller.Version=$(VERSION)" $(PACKAGE) macos: $(BINARY).macos $(BINARY).macos: # Building darwin binary. - GOOS=darwin go build -o $(BINARY).macos -ldflags "-w -s -X main.Version=$(VERSION)" $(PACKAGE) + GOOS=darwin go build -o $(BINARY).macos -ldflags "-w -s -X github.com/davidnewhall/unifi-poller/pkg/unifi-poller.Version=$(VERSION)" $(PACKAGE) # Packages @@ -166,7 +168,7 @@ $(BINARY).rb: v$(VERSION).tar.gz.sha256 # Run code tests and lint. test: lint # Testing. - go test -race -covermode=atomic $(PACKAGE) + go test -race -covermode=atomic $(PACKAGE) $(LIBRARY) lint: # Checking lint. golangci-lint run $(GOLANGCI_LINT_ARGS) diff --git a/integrations/promunifi/cmd/unifi-poller/start.go b/integrations/promunifi/cmd/unifi-poller/start.go new file mode 100644 index 00000000..383ac91f --- /dev/null +++ b/integrations/promunifi/cmd/unifi-poller/start.go @@ -0,0 +1,24 @@ +package main + +import ( + "fmt" + "log" + "os" + + unifipoller "github.com/davidnewhall/unifi-poller/pkg/unifi-poller" +) + +func main() { + unifi := &unifipoller.UnifiPoller{} + if unifi.ParseFlags(os.Args[1:]); unifi.ShowVer { + fmt.Printf("unifi-poller v%s\n", unifipoller.Version) + return // don't run anything else w/ version request. + } + if err := unifi.GetConfig(); err != nil { + unifi.Flag.Usage() + log.Fatalf("[ERROR] config file '%v': %v", unifi.ConfigFile, err) + } + if err := unifi.Run(); err != nil { + log.Fatalln("[ERROR]", err) + } +} diff --git a/integrations/promunifi/cmd/unifi-poller/config.go b/integrations/promunifi/pkg/unifi-poller/config.go similarity index 99% rename from integrations/promunifi/cmd/unifi-poller/config.go rename to integrations/promunifi/pkg/unifi-poller/config.go index 26f5e4d7..98918935 100644 --- a/integrations/promunifi/cmd/unifi-poller/config.go +++ b/integrations/promunifi/pkg/unifi-poller/config.go @@ -1,4 +1,4 @@ -package main +package unifipoller import ( "time" diff --git a/integrations/promunifi/cmd/unifi-poller/helpers.go b/integrations/promunifi/pkg/unifi-poller/helpers.go similarity index 97% rename from integrations/promunifi/cmd/unifi-poller/helpers.go rename to integrations/promunifi/pkg/unifi-poller/helpers.go index 7bc5cd44..47d9608e 100644 --- a/integrations/promunifi/cmd/unifi-poller/helpers.go +++ b/integrations/promunifi/pkg/unifi-poller/helpers.go @@ -1,4 +1,4 @@ -package main +package unifipoller import ( "log" diff --git a/integrations/promunifi/cmd/unifi-poller/jsondebug.go b/integrations/promunifi/pkg/unifi-poller/jsondebug.go similarity index 99% rename from integrations/promunifi/cmd/unifi-poller/jsondebug.go rename to integrations/promunifi/pkg/unifi-poller/jsondebug.go index 1f89e496..66cf6a5f 100644 --- a/integrations/promunifi/cmd/unifi-poller/jsondebug.go +++ b/integrations/promunifi/pkg/unifi-poller/jsondebug.go @@ -1,4 +1,4 @@ -package main +package unifipoller import ( "fmt" diff --git a/integrations/promunifi/cmd/unifi-poller/unifi.go b/integrations/promunifi/pkg/unifi-poller/unifi.go similarity index 99% rename from integrations/promunifi/cmd/unifi-poller/unifi.go rename to integrations/promunifi/pkg/unifi-poller/unifi.go index 63727adf..d06e1b9a 100644 --- a/integrations/promunifi/cmd/unifi-poller/unifi.go +++ b/integrations/promunifi/pkg/unifi-poller/unifi.go @@ -1,4 +1,4 @@ -package main +package unifipoller import ( "log" diff --git a/integrations/promunifi/cmd/unifi-poller/main.go b/integrations/promunifi/pkg/unifi-poller/unifipoller.go similarity index 89% rename from integrations/promunifi/cmd/unifi-poller/main.go rename to integrations/promunifi/pkg/unifi-poller/unifipoller.go index 4c439aed..594dcbc6 100644 --- a/integrations/promunifi/cmd/unifi-poller/main.go +++ b/integrations/promunifi/pkg/unifi-poller/unifipoller.go @@ -1,4 +1,4 @@ -package main +package unifipoller import ( "fmt" @@ -13,21 +13,6 @@ import ( flag "github.com/spf13/pflag" ) -func main() { - u := &UnifiPoller{} - if u.ParseFlags(os.Args[1:]); u.ShowVer { - fmt.Printf("unifi-poller v%s\n", Version) - return // don't run anything else. - } - if err := u.GetConfig(); err != nil { - u.Flag.Usage() - log.Fatalf("[ERROR] config file '%v': %v", u.ConfigFile, err) - } - if err := u.Run(); err != nil { - log.Fatalln("[ERROR]", err) - } -} - // ParseFlags runs the parser. func (u *UnifiPoller) ParseFlags(args []string) { u.Flag = flag.NewFlagSet("unifi-poller", flag.ExitOnError)