From 23effa0f37b670961eac4eb98705a24f26ed610f Mon Sep 17 00:00:00 2001 From: Amir Raminfar Date: Tue, 20 Apr 2021 13:46:39 -0700 Subject: [PATCH] Go arg upgrade to 1.14 (#1168) * Updates mod file * Upgrades go-arg to 1.4 and updates to use map * Fixes int test --- go.mod | 2 +- go.sum | 4 ++-- integration/__tests__/default.js | 2 +- main.go | 37 ++++++++++---------------------- 4 files changed, 15 insertions(+), 30 deletions(-) diff --git a/go.mod b/go.mod index cb4d1570..ece38b3e 100644 --- a/go.mod +++ b/go.mod @@ -2,7 +2,7 @@ module github.com/amir20/dozzle require ( github.com/Microsoft/go-winio v0.4.18 // indirect - github.com/alexflint/go-arg v1.3.0 + github.com/alexflint/go-arg v1.4.0 github.com/beme/abide v0.0.0-20190723115211-635a09831760 github.com/containerd/containerd v1.4.4 // indirect github.com/docker/distribution v2.7.1+incompatible // indirect diff --git a/go.sum b/go.sum index 0ec0a2c5..0e808d0a 100644 --- a/go.sum +++ b/go.sum @@ -4,8 +4,8 @@ github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/Microsoft/go-winio v0.4.18 h1:yjwCO1nhWEShaA5qsmPOBzAOjRCa2PRLsDNZ5yBWXpg= github.com/Microsoft/go-winio v0.4.18/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= -github.com/alexflint/go-arg v1.3.0 h1:UfldqSdFWeLtoOuVRosqofU4nmhI1pYEbT4ZFS34Bdo= -github.com/alexflint/go-arg v1.3.0/go.mod h1:9iRbDxne7LcR/GSvEr7ma++GLpdIU1zrghf2y2768kM= +github.com/alexflint/go-arg v1.4.0 h1:UggBwO87bOWY88EBsjDeXROIcY5SNdoUidNXqOH7zmQ= +github.com/alexflint/go-arg v1.4.0/go.mod h1:9iRbDxne7LcR/GSvEr7ma++GLpdIU1zrghf2y2768kM= github.com/alexflint/go-scalar v1.0.0 h1:NGupf1XV/Xb04wXskDFzS0KWOLH632W/EO4fAFi+A70= github.com/alexflint/go-scalar v1.0.0/go.mod h1:GpHzbCOZXEKMEcygYQ5n/aa4Aq84zbxjy3MxYW0gjYw= github.com/beme/abide v0.0.0-20190723115211-635a09831760 h1:FvTM5NSN5HYvfKpgL+8x73U5v063vHsd7AX05eV1DnM= diff --git a/integration/__tests__/default.js b/integration/__tests__/default.js index eb9fd4b0..4e8f4cb0 100644 --- a/integration/__tests__/default.js +++ b/integration/__tests__/default.js @@ -68,7 +68,7 @@ describe("home page", () => { await page.click("aside ul.menu-list li a"); await page.waitForSelector("ul.events li span.text"); - const text = await page.$eval("ul.events li:nth-child(2) span.text", (e) => e.textContent); + const text = await page.$eval("ul.events li:nth-child(1) span.text", (e) => e.textContent); expect(text).toContain("Dozzle version dev"); }); diff --git a/main.go b/main.go index 94d2bcf9..885d24d0 100644 --- a/main.go +++ b/main.go @@ -6,10 +6,8 @@ import ( "io/fs" "net/http" _ "net/http/pprof" - "net/url" "os" "os/signal" - "strings" "syscall" "time" @@ -22,20 +20,19 @@ import ( ) var ( - filters map[string]string version = "dev" ) type args struct { - Addr string `arg:"env:DOZZLE_ADDR" default:":8080"` - Base string `arg:"env:DOZZLE_BASE" default:"/"` - Level string `arg:"env:DOZZLE_LEVEL" default:"info"` - TailSize int `arg:"env:DOZZLE_TAILSIZE" default:"300"` - Filter string `arg:"env:DOZZLE_FILTER"` - Key string `arg:"env:DOZZLE_KEY"` - Username string `arg:"env:DOZZLE_USERNAME"` - Password string `arg:"env:DOZZLE_PASSWORD"` - NoAnalytics bool `arg:"--no-analytics,env:DOZZLE_NO_ANALYTICS"` + Addr string `arg:"env:DOZZLE_ADDR" default:":8080"` + Base string `arg:"env:DOZZLE_BASE" default:"/"` + Level string `arg:"env:DOZZLE_LEVEL" default:"info"` + TailSize int `arg:"env:DOZZLE_TAILSIZE" default:"300"` + Filter map[string]string `arg:"env:DOZZLE_FILTER"` + Key string `arg:"env:DOZZLE_KEY"` + Username string `arg:"env:DOZZLE_USERNAME"` + Password string `arg:"env:DOZZLE_PASSWORD"` + NoAnalytics bool `arg:"--no-analytics,env:DOZZLE_NO_ANALYTICS"` } func (args) Version() string { @@ -56,20 +53,8 @@ func main() { DisableLevelTruncation: true, }) - if args.Filter != "" { - log.Infof("Parsing %s", args.Filter) - urlValues, err := url.ParseQuery(strings.ReplaceAll(args.Filter, ",", "&")) - if err != nil { - log.Fatal(err) - } - filters = map[string]string{} - for k, v := range urlValues { - filters[k] = v[0] - } - } - log.Infof("Dozzle version %s", version) - dockerClient := docker.NewClientWithFilters(filters) + dockerClient := docker.NewClientWithFilters(args.Filter) _, err := dockerClient.ListContainers() if err != nil { @@ -140,7 +125,7 @@ func doStartEvent(arg args) { event := analytics.StartEvent{ ClientId: host, Version: version, - FilterLength: len(filters), + FilterLength: len(arg.Filter), CustomAddress: arg.Addr != ":8080", CustomBase: arg.Base != "/", TailSize: arg.TailSize,